@charset "UTF-8";
/*! Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */
/* FONT PATH -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url("../../../elf-theme/assets/fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../../../elf-theme/assets/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../../../elf-theme/assets/fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), url("../../../elf-theme/assets/fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../../../elf-theme/assets/fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../../../elf-theme/assets/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -15%; }

.fa-2x {
  font-size: 2em; }

.fa-3x {
  font-size: 3em; }

.fa-4x {
  font-size: 4em; }

.fa-5x {
  font-size: 5em; }

.fa-fw {
  width: 1.28571em;
  text-align: center; }

.fa-ul {
  padding-left: 0;
  margin-left: 2.14286em;
  list-style-type: none; }

.fa-ul > li {
  position: relative; }

.fa-li {
  position: absolute;
  left: -2.14286em;
  width: 2.14286em;
  top: 0.14286em;
  text-align: center; }

.fa-li.fa-lg {
  left: -1.85714em; }

.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em; }

.fa-pull-left {
  float: left; }

.fa-pull-right {
  float: right; }

.fa.fa-pull-left {
  margin-right: .3em; }

.fa.fa-pull-right {
  margin-left: .3em; }

/* Deprecated as of 4.4.0 */
.pull-right {
  float: right; }

.pull-left {
  float: left; }

.fa.pull-left {
  margin-right: .3em; }

.fa.pull-right {
  margin-left: .3em; }

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear; }

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8); }

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

.fa-rotate-90 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.fa-rotate-180 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg); }

.fa-rotate-270 {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg); }

.fa-flip-horizontal {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.fa-flip-vertical {
  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1); }

:root .fa-rotate-90, :root .fa-rotate-180, :root .fa-rotate-270, :root .fa-flip-horizontal, :root .fa-flip-vertical {
  -webkit-filter: none;
          filter: none; }

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle; }

.fa-stack-1x, .fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center; }

.fa-stack-1x {
  line-height: inherit; }

.fa-stack-2x {
  font-size: 2em; }

.fa-inverse {
  color: #fff; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen readers do not read off random characters that represent icons */
.fa-glass:before {
  content: ""; }

.fa-music:before {
  content: ""; }

.fa-search:before {
  content: ""; }

.fa-envelope-o:before {
  content: ""; }

.fa-heart:before {
  content: ""; }

.fa-star:before {
  content: ""; }

.fa-star-o:before {
  content: ""; }

.fa-user:before {
  content: ""; }

.fa-film:before {
  content: ""; }

.fa-th-large:before {
  content: ""; }

.fa-th:before {
  content: ""; }

.fa-th-list:before {
  content: ""; }

.fa-check:before {
  content: ""; }

.fa-remove:before, .fa-close:before, .fa-times:before {
  content: ""; }

.fa-search-plus:before {
  content: ""; }

.fa-search-minus:before {
  content: ""; }

.fa-power-off:before {
  content: ""; }

.fa-signal:before {
  content: ""; }

.fa-gear:before, .fa-cog:before {
  content: ""; }

.fa-trash-o:before {
  content: ""; }

.fa-home:before {
  content: ""; }

.fa-file-o:before {
  content: ""; }

.fa-clock-o:before {
  content: ""; }

.fa-road:before {
  content: ""; }

.fa-download:before {
  content: ""; }

.fa-arrow-circle-o-down:before {
  content: ""; }

.fa-arrow-circle-o-up:before {
  content: ""; }

.fa-inbox:before {
  content: ""; }

.fa-play-circle-o:before {
  content: ""; }

.fa-rotate-right:before, .fa-repeat:before {
  content: ""; }

.fa-refresh:before {
  content: ""; }

.fa-list-alt:before {
  content: ""; }

.fa-lock:before {
  content: ""; }

.fa-flag:before {
  content: ""; }

.fa-headphones:before {
  content: ""; }

.fa-volume-off:before {
  content: ""; }

.fa-volume-down:before {
  content: ""; }

.fa-volume-up:before {
  content: ""; }

.fa-qrcode:before {
  content: ""; }

.fa-barcode:before {
  content: ""; }

.fa-tag:before {
  content: ""; }

.fa-tags:before {
  content: ""; }

.fa-book:before {
  content: ""; }

.fa-bookmark:before {
  content: ""; }

.fa-print:before {
  content: ""; }

.fa-camera:before {
  content: ""; }

.fa-font:before {
  content: ""; }

.fa-bold:before {
  content: ""; }

.fa-italic:before {
  content: ""; }

.fa-text-height:before {
  content: ""; }

.fa-text-width:before {
  content: ""; }

.fa-align-left:before {
  content: ""; }

.fa-align-center:before {
  content: ""; }

.fa-align-right:before {
  content: ""; }

.fa-align-justify:before {
  content: ""; }

.fa-list:before {
  content: ""; }

.fa-dedent:before, .fa-outdent:before {
  content: ""; }

.fa-indent:before {
  content: ""; }

.fa-video-camera:before {
  content: ""; }

.fa-photo:before, .fa-image:before, .fa-picture-o:before {
  content: ""; }

.fa-pencil:before {
  content: ""; }

.fa-map-marker:before {
  content: ""; }

.fa-adjust:before {
  content: ""; }

.fa-tint:before {
  content: ""; }

.fa-edit:before, .fa-pencil-square-o:before {
  content: ""; }

.fa-share-square-o:before {
  content: ""; }

.fa-check-square-o:before {
  content: ""; }

.fa-arrows:before {
  content: ""; }

.fa-step-backward:before {
  content: ""; }

.fa-fast-backward:before {
  content: ""; }

.fa-backward:before {
  content: ""; }

.fa-play:before {
  content: ""; }

.fa-pause:before {
  content: ""; }

.fa-stop:before {
  content: ""; }

.fa-forward:before {
  content: ""; }

.fa-fast-forward:before {
  content: ""; }

.fa-step-forward:before {
  content: ""; }

.fa-eject:before {
  content: ""; }

.fa-chevron-left:before {
  content: ""; }

.fa-chevron-right:before {
  content: ""; }

.fa-plus-circle:before {
  content: ""; }

.fa-minus-circle:before {
  content: ""; }

.fa-times-circle:before {
  content: ""; }

.fa-check-circle:before {
  content: ""; }

.fa-question-circle:before {
  content: ""; }

.fa-info-circle:before {
  content: ""; }

.fa-crosshairs:before {
  content: ""; }

.fa-times-circle-o:before {
  content: ""; }

.fa-check-circle-o:before {
  content: ""; }

.fa-ban:before {
  content: ""; }

.fa-arrow-left:before {
  content: ""; }

.fa-arrow-right:before {
  content: ""; }

.fa-arrow-up:before {
  content: ""; }

.fa-arrow-down:before {
  content: ""; }

.fa-mail-forward:before, .fa-share:before {
  content: ""; }

.fa-expand:before {
  content: ""; }

.fa-compress:before {
  content: ""; }

.fa-plus:before {
  content: ""; }

.fa-minus:before {
  content: ""; }

.fa-asterisk:before {
  content: ""; }

.fa-exclamation-circle:before {
  content: ""; }

.fa-gift:before {
  content: ""; }

.fa-leaf:before {
  content: ""; }

.fa-fire:before {
  content: ""; }

.fa-eye:before {
  content: ""; }

.fa-eye-slash:before {
  content: ""; }

.fa-warning:before, .fa-exclamation-triangle:before {
  content: ""; }

.fa-plane:before {
  content: ""; }

.fa-calendar:before {
  content: ""; }

.fa-random:before {
  content: ""; }

.fa-comment:before {
  content: ""; }

.fa-magnet:before {
  content: ""; }

.fa-chevron-up:before {
  content: ""; }

.fa-chevron-down:before {
  content: ""; }

.fa-retweet:before {
  content: ""; }

.fa-shopping-cart:before {
  content: ""; }

.fa-folder:before {
  content: ""; }

.fa-folder-open:before {
  content: ""; }

.fa-arrows-v:before {
  content: ""; }

.fa-arrows-h:before {
  content: ""; }

.fa-bar-chart-o:before, .fa-bar-chart:before {
  content: ""; }

.fa-twitter-square:before {
  content: ""; }

.fa-facebook-square:before {
  content: ""; }

.fa-camera-retro:before {
  content: ""; }

.fa-key:before {
  content: ""; }

.fa-gears:before, .fa-cogs:before {
  content: ""; }

.fa-comments:before {
  content: ""; }

.fa-thumbs-o-up:before {
  content: ""; }

.fa-thumbs-o-down:before {
  content: ""; }

.fa-star-half:before {
  content: ""; }

.fa-heart-o:before {
  content: ""; }

.fa-sign-out:before {
  content: ""; }

.fa-linkedin-square:before {
  content: ""; }

.fa-thumb-tack:before {
  content: ""; }

.fa-external-link:before {
  content: ""; }

.fa-sign-in:before {
  content: ""; }

.fa-trophy:before {
  content: ""; }

.fa-github-square:before {
  content: ""; }

.fa-upload:before {
  content: ""; }

.fa-lemon-o:before {
  content: ""; }

.fa-phone:before {
  content: ""; }

.fa-square-o:before {
  content: ""; }

.fa-bookmark-o:before {
  content: ""; }

.fa-phone-square:before {
  content: ""; }

.fa-twitter:before {
  content: ""; }

.fa-facebook-f:before, .fa-facebook:before {
  content: ""; }

.fa-github:before {
  content: ""; }

.fa-unlock:before {
  content: ""; }

.fa-credit-card:before {
  content: ""; }

.fa-feed:before, .fa-rss:before {
  content: ""; }

.fa-hdd-o:before {
  content: ""; }

.fa-bullhorn:before {
  content: ""; }

.fa-bell:before {
  content: ""; }

.fa-certificate:before {
  content: ""; }

.fa-hand-o-right:before {
  content: ""; }

.fa-hand-o-left:before {
  content: ""; }

.fa-hand-o-up:before {
  content: ""; }

.fa-hand-o-down:before {
  content: ""; }

.fa-arrow-circle-left:before {
  content: ""; }

.fa-arrow-circle-right:before {
  content: ""; }

.fa-arrow-circle-up:before {
  content: ""; }

.fa-arrow-circle-down:before {
  content: ""; }

.fa-globe:before {
  content: ""; }

.fa-wrench:before {
  content: ""; }

.fa-tasks:before {
  content: ""; }

.fa-filter:before {
  content: ""; }

.fa-briefcase:before {
  content: ""; }

.fa-arrows-alt:before {
  content: ""; }

.fa-group:before, .fa-users:before {
  content: ""; }

.fa-chain:before, .fa-link:before {
  content: ""; }

.fa-cloud:before {
  content: ""; }

.fa-flask:before {
  content: ""; }

.fa-cut:before, .fa-scissors:before {
  content: ""; }

.fa-copy:before, .fa-files-o:before {
  content: ""; }

.fa-paperclip:before {
  content: ""; }

.fa-save:before, .fa-floppy-o:before {
  content: ""; }

.fa-square:before {
  content: ""; }

.fa-navicon:before, .fa-reorder:before, .fa-bars:before {
  content: ""; }

.fa-list-ul:before {
  content: ""; }

.fa-list-ol:before {
  content: ""; }

.fa-strikethrough:before {
  content: ""; }

.fa-underline:before {
  content: ""; }

.fa-table:before {
  content: ""; }

.fa-magic:before {
  content: ""; }

.fa-truck:before {
  content: ""; }

.fa-pinterest:before {
  content: ""; }

.fa-pinterest-square:before {
  content: ""; }

.fa-google-plus-square:before {
  content: ""; }

.fa-google-plus:before {
  content: ""; }

.fa-money:before {
  content: ""; }

.fa-caret-down:before {
  content: ""; }

.fa-caret-up:before {
  content: ""; }

.fa-caret-left:before {
  content: ""; }

.fa-caret-right:before {
  content: ""; }

.fa-columns:before {
  content: ""; }

.fa-unsorted:before, .fa-sort:before {
  content: ""; }

.fa-sort-down:before, .fa-sort-desc:before {
  content: ""; }

.fa-sort-up:before, .fa-sort-asc:before {
  content: ""; }

.fa-envelope:before {
  content: ""; }

.fa-linkedin:before {
  content: ""; }

.fa-rotate-left:before, .fa-undo:before {
  content: ""; }

.fa-legal:before, .fa-gavel:before {
  content: ""; }

.fa-dashboard:before, .fa-tachometer:before {
  content: ""; }

.fa-comment-o:before {
  content: ""; }

.fa-comments-o:before {
  content: ""; }

.fa-flash:before, .fa-bolt:before {
  content: ""; }

.fa-sitemap:before {
  content: ""; }

.fa-umbrella:before {
  content: ""; }

.fa-paste:before, .fa-clipboard:before {
  content: ""; }

.fa-lightbulb-o:before {
  content: ""; }

.fa-exchange:before {
  content: ""; }

.fa-cloud-download:before {
  content: ""; }

.fa-cloud-upload:before {
  content: ""; }

.fa-user-md:before {
  content: ""; }

.fa-stethoscope:before {
  content: ""; }

.fa-suitcase:before {
  content: ""; }

.fa-bell-o:before {
  content: ""; }

.fa-coffee:before {
  content: ""; }

.fa-cutlery:before {
  content: ""; }

.fa-file-text-o:before {
  content: ""; }

.fa-building-o:before {
  content: ""; }

.fa-hospital-o:before {
  content: ""; }

.fa-ambulance:before {
  content: ""; }

.fa-medkit:before {
  content: ""; }

.fa-fighter-jet:before {
  content: ""; }

.fa-beer:before {
  content: ""; }

.fa-h-square:before {
  content: ""; }

.fa-plus-square:before {
  content: ""; }

.fa-angle-double-left:before {
  content: ""; }

.fa-angle-double-right:before {
  content: ""; }

.fa-angle-double-up:before {
  content: ""; }

.fa-angle-double-down:before {
  content: ""; }

.fa-angle-left:before {
  content: ""; }

.fa-angle-right:before {
  content: ""; }

.fa-angle-up:before {
  content: ""; }

.fa-angle-down:before {
  content: ""; }

.fa-desktop:before {
  content: ""; }

.fa-laptop:before {
  content: ""; }

.fa-tablet:before {
  content: ""; }

.fa-mobile-phone:before, .fa-mobile:before {
  content: ""; }

.fa-circle-o:before {
  content: ""; }

.fa-quote-left:before {
  content: ""; }

.fa-quote-right:before {
  content: ""; }

.fa-spinner:before {
  content: ""; }

.fa-circle:before {
  content: ""; }

.fa-mail-reply:before, .fa-reply:before {
  content: ""; }

.fa-github-alt:before {
  content: ""; }

.fa-folder-o:before {
  content: ""; }

.fa-folder-open-o:before {
  content: ""; }

.fa-smile-o:before {
  content: ""; }

.fa-frown-o:before {
  content: ""; }

.fa-meh-o:before {
  content: ""; }

.fa-gamepad:before {
  content: ""; }

.fa-keyboard-o:before {
  content: ""; }

.fa-flag-o:before {
  content: ""; }

.fa-flag-checkered:before {
  content: ""; }

.fa-terminal:before {
  content: ""; }

.fa-code:before {
  content: ""; }

.fa-mail-reply-all:before, .fa-reply-all:before {
  content: ""; }

.fa-star-half-empty:before, .fa-star-half-full:before, .fa-star-half-o:before {
  content: ""; }

.fa-location-arrow:before {
  content: ""; }

.fa-crop:before {
  content: ""; }

.fa-code-fork:before {
  content: ""; }

.fa-unlink:before, .fa-chain-broken:before {
  content: ""; }

.fa-question:before {
  content: ""; }

.fa-info:before {
  content: ""; }

.fa-exclamation:before {
  content: ""; }

.fa-superscript:before {
  content: ""; }

.fa-subscript:before {
  content: ""; }

.fa-eraser:before {
  content: ""; }

.fa-puzzle-piece:before {
  content: ""; }

.fa-microphone:before {
  content: ""; }

.fa-microphone-slash:before {
  content: ""; }

.fa-shield:before {
  content: ""; }

.fa-calendar-o:before {
  content: ""; }

.fa-fire-extinguisher:before {
  content: ""; }

.fa-rocket:before {
  content: ""; }

.fa-maxcdn:before {
  content: ""; }

.fa-chevron-circle-left:before {
  content: ""; }

.fa-chevron-circle-right:before {
  content: ""; }

.fa-chevron-circle-up:before {
  content: ""; }

.fa-chevron-circle-down:before {
  content: ""; }

.fa-html5:before {
  content: ""; }

.fa-css3:before {
  content: ""; }

.fa-anchor:before {
  content: ""; }

.fa-unlock-alt:before {
  content: ""; }

.fa-bullseye:before {
  content: ""; }

.fa-ellipsis-h:before {
  content: ""; }

.fa-ellipsis-v:before {
  content: ""; }

.fa-rss-square:before {
  content: ""; }

.fa-play-circle:before {
  content: ""; }

.fa-ticket:before {
  content: ""; }

.fa-minus-square:before {
  content: ""; }

.fa-minus-square-o:before {
  content: ""; }

.fa-level-up:before {
  content: ""; }

.fa-level-down:before {
  content: ""; }

.fa-check-square:before {
  content: ""; }

.fa-pencil-square:before {
  content: ""; }

.fa-external-link-square:before {
  content: ""; }

.fa-share-square:before {
  content: ""; }

.fa-compass:before {
  content: ""; }

.fa-toggle-down:before, .fa-caret-square-o-down:before {
  content: ""; }

.fa-toggle-up:before, .fa-caret-square-o-up:before {
  content: ""; }

.fa-toggle-right:before, .fa-caret-square-o-right:before {
  content: ""; }

.fa-euro:before, .fa-eur:before {
  content: ""; }

.fa-gbp:before {
  content: ""; }

.fa-dollar:before, .fa-usd:before {
  content: ""; }

.fa-rupee:before, .fa-inr:before {
  content: ""; }

.fa-cny:before, .fa-rmb:before, .fa-yen:before, .fa-jpy:before {
  content: ""; }

.fa-ruble:before, .fa-rouble:before, .fa-rub:before {
  content: ""; }

.fa-won:before, .fa-krw:before {
  content: ""; }

.fa-bitcoin:before, .fa-btc:before {
  content: ""; }

.fa-file:before {
  content: ""; }

.fa-file-text:before {
  content: ""; }

.fa-sort-alpha-asc:before {
  content: ""; }

.fa-sort-alpha-desc:before {
  content: ""; }

.fa-sort-amount-asc:before {
  content: ""; }

.fa-sort-amount-desc:before {
  content: ""; }

.fa-sort-numeric-asc:before {
  content: ""; }

.fa-sort-numeric-desc:before {
  content: ""; }

.fa-thumbs-up:before {
  content: ""; }

.fa-thumbs-down:before {
  content: ""; }

.fa-youtube-square:before {
  content: ""; }

.fa-youtube:before {
  content: ""; }

.fa-xing:before {
  content: ""; }

.fa-xing-square:before {
  content: ""; }

.fa-youtube-play:before {
  content: ""; }

.fa-dropbox:before {
  content: ""; }

.fa-stack-overflow:before {
  content: ""; }

.fa-instagram:before {
  content: ""; }

.fa-flickr:before {
  content: ""; }

.fa-adn:before {
  content: ""; }

.fa-bitbucket:before {
  content: ""; }

.fa-bitbucket-square:before {
  content: ""; }

.fa-tumblr:before {
  content: ""; }

.fa-tumblr-square:before {
  content: ""; }

.fa-long-arrow-down:before {
  content: ""; }

.fa-long-arrow-up:before {
  content: ""; }

.fa-long-arrow-left:before {
  content: ""; }

.fa-long-arrow-right:before {
  content: ""; }

.fa-apple:before {
  content: ""; }

.fa-windows:before {
  content: ""; }

.fa-android:before {
  content: ""; }

.fa-linux:before {
  content: ""; }

.fa-dribbble:before {
  content: ""; }

.fa-skype:before {
  content: ""; }

.fa-foursquare:before {
  content: ""; }

.fa-trello:before {
  content: ""; }

.fa-female:before {
  content: ""; }

.fa-male:before {
  content: ""; }

.fa-gittip:before, .fa-gratipay:before {
  content: ""; }

.fa-sun-o:before {
  content: ""; }

.fa-moon-o:before {
  content: ""; }

.fa-archive:before {
  content: ""; }

.fa-bug:before {
  content: ""; }

.fa-vk:before {
  content: ""; }

.fa-weibo:before {
  content: ""; }

.fa-renren:before {
  content: ""; }

.fa-pagelines:before {
  content: ""; }

.fa-stack-exchange:before {
  content: ""; }

.fa-arrow-circle-o-right:before {
  content: ""; }

.fa-arrow-circle-o-left:before {
  content: ""; }

.fa-toggle-left:before, .fa-caret-square-o-left:before {
  content: ""; }

.fa-dot-circle-o:before {
  content: ""; }

.fa-wheelchair:before {
  content: ""; }

.fa-vimeo-square:before {
  content: ""; }

.fa-turkish-lira:before, .fa-try:before {
  content: ""; }

.fa-plus-square-o:before {
  content: ""; }

.fa-space-shuttle:before {
  content: ""; }

.fa-slack:before {
  content: ""; }

.fa-envelope-square:before {
  content: ""; }

.fa-wordpress:before {
  content: ""; }

.fa-openid:before {
  content: ""; }

.fa-institution:before, .fa-bank:before, .fa-university:before {
  content: ""; }

.fa-mortar-board:before, .fa-graduation-cap:before {
  content: ""; }

.fa-yahoo:before {
  content: ""; }

.fa-google:before {
  content: ""; }

.fa-reddit:before {
  content: ""; }

.fa-reddit-square:before {
  content: ""; }

.fa-stumbleupon-circle:before {
  content: ""; }

.fa-stumbleupon:before {
  content: ""; }

.fa-delicious:before {
  content: ""; }

.fa-digg:before {
  content: ""; }

.fa-pied-piper-pp:before {
  content: ""; }

.fa-pied-piper-alt:before {
  content: ""; }

.fa-drupal:before {
  content: ""; }

.fa-joomla:before {
  content: ""; }

.fa-language:before {
  content: ""; }

.fa-fax:before {
  content: ""; }

.fa-building:before {
  content: ""; }

.fa-child:before {
  content: ""; }

.fa-paw:before {
  content: ""; }

.fa-spoon:before {
  content: ""; }

.fa-cube:before {
  content: ""; }

.fa-cubes:before {
  content: ""; }

.fa-behance:before {
  content: ""; }

.fa-behance-square:before {
  content: ""; }

.fa-steam:before {
  content: ""; }

.fa-steam-square:before {
  content: ""; }

.fa-recycle:before {
  content: ""; }

.fa-automobile:before, .fa-car:before {
  content: ""; }

.fa-cab:before, .fa-taxi:before {
  content: ""; }

.fa-tree:before {
  content: ""; }

.fa-spotify:before {
  content: ""; }

.fa-deviantart:before {
  content: ""; }

.fa-soundcloud:before {
  content: ""; }

.fa-database:before {
  content: ""; }

.fa-file-pdf-o:before {
  content: ""; }

.fa-file-word-o:before {
  content: ""; }

.fa-file-excel-o:before {
  content: ""; }

.fa-file-powerpoint-o:before {
  content: ""; }

.fa-file-photo-o:before, .fa-file-picture-o:before, .fa-file-image-o:before {
  content: ""; }

.fa-file-zip-o:before, .fa-file-archive-o:before {
  content: ""; }

.fa-file-sound-o:before, .fa-file-audio-o:before {
  content: ""; }

.fa-file-movie-o:before, .fa-file-video-o:before {
  content: ""; }

.fa-file-code-o:before {
  content: ""; }

.fa-vine:before {
  content: ""; }

.fa-codepen:before {
  content: ""; }

.fa-jsfiddle:before {
  content: ""; }

.fa-life-bouy:before, .fa-life-buoy:before, .fa-life-saver:before, .fa-support:before, .fa-life-ring:before {
  content: ""; }

.fa-circle-o-notch:before {
  content: ""; }

.fa-ra:before, .fa-resistance:before, .fa-rebel:before {
  content: ""; }

.fa-ge:before, .fa-empire:before {
  content: ""; }

.fa-git-square:before {
  content: ""; }

.fa-git:before {
  content: ""; }

.fa-y-combinator-square:before, .fa-yc-square:before, .fa-hacker-news:before {
  content: ""; }

.fa-tencent-weibo:before {
  content: ""; }

.fa-qq:before {
  content: ""; }

.fa-wechat:before, .fa-weixin:before {
  content: ""; }

.fa-send:before, .fa-paper-plane:before {
  content: ""; }

.fa-send-o:before, .fa-paper-plane-o:before {
  content: ""; }

.fa-history:before {
  content: ""; }

.fa-circle-thin:before {
  content: ""; }

.fa-header:before {
  content: ""; }

.fa-paragraph:before {
  content: ""; }

.fa-sliders:before {
  content: ""; }

.fa-share-alt:before {
  content: ""; }

.fa-share-alt-square:before {
  content: ""; }

.fa-bomb:before {
  content: ""; }

.fa-soccer-ball-o:before, .fa-futbol-o:before {
  content: ""; }

.fa-tty:before {
  content: ""; }

.fa-binoculars:before {
  content: ""; }

.fa-plug:before {
  content: ""; }

.fa-slideshare:before {
  content: ""; }

.fa-twitch:before {
  content: ""; }

.fa-yelp:before {
  content: ""; }

.fa-newspaper-o:before {
  content: ""; }

.fa-wifi:before {
  content: ""; }

.fa-calculator:before {
  content: ""; }

.fa-paypal:before {
  content: ""; }

.fa-google-wallet:before {
  content: ""; }

.fa-cc-visa:before {
  content: ""; }

.fa-cc-mastercard:before {
  content: ""; }

.fa-cc-discover:before {
  content: ""; }

.fa-cc-amex:before {
  content: ""; }

.fa-cc-paypal:before {
  content: ""; }

.fa-cc-stripe:before {
  content: ""; }

.fa-bell-slash:before {
  content: ""; }

.fa-bell-slash-o:before {
  content: ""; }

.fa-trash:before {
  content: ""; }

.fa-copyright:before {
  content: ""; }

.fa-at:before {
  content: ""; }

.fa-eyedropper:before {
  content: ""; }

.fa-paint-brush:before {
  content: ""; }

.fa-birthday-cake:before {
  content: ""; }

.fa-area-chart:before {
  content: ""; }

.fa-pie-chart:before {
  content: ""; }

.fa-line-chart:before {
  content: ""; }

.fa-lastfm:before {
  content: ""; }

.fa-lastfm-square:before {
  content: ""; }

.fa-toggle-off:before {
  content: ""; }

.fa-toggle-on:before {
  content: ""; }

.fa-bicycle:before {
  content: ""; }

.fa-bus:before {
  content: ""; }

.fa-ioxhost:before {
  content: ""; }

.fa-angellist:before {
  content: ""; }

.fa-cc:before {
  content: ""; }

.fa-shekel:before, .fa-sheqel:before, .fa-ils:before {
  content: ""; }

.fa-meanpath:before {
  content: ""; }

.fa-buysellads:before {
  content: ""; }

.fa-connectdevelop:before {
  content: ""; }

.fa-dashcube:before {
  content: ""; }

.fa-forumbee:before {
  content: ""; }

.fa-leanpub:before {
  content: ""; }

.fa-sellsy:before {
  content: ""; }

.fa-shirtsinbulk:before {
  content: ""; }

.fa-simplybuilt:before {
  content: ""; }

.fa-skyatlas:before {
  content: ""; }

.fa-cart-plus:before {
  content: ""; }

.fa-cart-arrow-down:before {
  content: ""; }

.fa-diamond:before {
  content: ""; }

.fa-ship:before {
  content: ""; }

.fa-user-secret:before {
  content: ""; }

.fa-motorcycle:before {
  content: ""; }

.fa-street-view:before {
  content: ""; }

.fa-heartbeat:before {
  content: ""; }

.fa-venus:before {
  content: ""; }

.fa-mars:before {
  content: ""; }

.fa-mercury:before {
  content: ""; }

.fa-intersex:before, .fa-transgender:before {
  content: ""; }

.fa-transgender-alt:before {
  content: ""; }

.fa-venus-double:before {
  content: ""; }

.fa-mars-double:before {
  content: ""; }

.fa-venus-mars:before {
  content: ""; }

.fa-mars-stroke:before {
  content: ""; }

.fa-mars-stroke-v:before {
  content: ""; }

.fa-mars-stroke-h:before {
  content: ""; }

.fa-neuter:before {
  content: ""; }

.fa-genderless:before {
  content: ""; }

.fa-facebook-official:before {
  content: ""; }

.fa-pinterest-p:before {
  content: ""; }

.fa-whatsapp:before {
  content: ""; }

.fa-server:before {
  content: ""; }

.fa-user-plus:before {
  content: ""; }

.fa-user-times:before {
  content: ""; }

.fa-hotel:before, .fa-bed:before {
  content: ""; }

.fa-viacoin:before {
  content: ""; }

.fa-train:before {
  content: ""; }

.fa-subway:before {
  content: ""; }

.fa-medium:before {
  content: ""; }

.fa-yc:before, .fa-y-combinator:before {
  content: ""; }

.fa-optin-monster:before {
  content: ""; }

.fa-opencart:before {
  content: ""; }

.fa-expeditedssl:before {
  content: ""; }

.fa-battery-4:before, .fa-battery:before, .fa-battery-full:before {
  content: ""; }

.fa-battery-3:before, .fa-battery-three-quarters:before {
  content: ""; }

.fa-battery-2:before, .fa-battery-half:before {
  content: ""; }

.fa-battery-1:before, .fa-battery-quarter:before {
  content: ""; }

.fa-battery-0:before, .fa-battery-empty:before {
  content: ""; }

.fa-mouse-pointer:before {
  content: ""; }

.fa-i-cursor:before {
  content: ""; }

.fa-object-group:before {
  content: ""; }

.fa-object-ungroup:before {
  content: ""; }

.fa-sticky-note:before {
  content: ""; }

.fa-sticky-note-o:before {
  content: ""; }

.fa-cc-jcb:before {
  content: ""; }

.fa-cc-diners-club:before {
  content: ""; }

.fa-clone:before {
  content: ""; }

.fa-balance-scale:before {
  content: ""; }

.fa-hourglass-o:before {
  content: ""; }

.fa-hourglass-1:before, .fa-hourglass-start:before {
  content: ""; }

.fa-hourglass-2:before, .fa-hourglass-half:before {
  content: ""; }

.fa-hourglass-3:before, .fa-hourglass-end:before {
  content: ""; }

.fa-hourglass:before {
  content: ""; }

.fa-hand-grab-o:before, .fa-hand-rock-o:before {
  content: ""; }

.fa-hand-stop-o:before, .fa-hand-paper-o:before {
  content: ""; }

.fa-hand-scissors-o:before {
  content: ""; }

.fa-hand-lizard-o:before {
  content: ""; }

.fa-hand-spock-o:before {
  content: ""; }

.fa-hand-pointer-o:before {
  content: ""; }

.fa-hand-peace-o:before {
  content: ""; }

.fa-trademark:before {
  content: ""; }

.fa-registered:before {
  content: ""; }

.fa-creative-commons:before {
  content: ""; }

.fa-gg:before {
  content: ""; }

.fa-gg-circle:before {
  content: ""; }

.fa-tripadvisor:before {
  content: ""; }

.fa-odnoklassniki:before {
  content: ""; }

.fa-odnoklassniki-square:before {
  content: ""; }

.fa-get-pocket:before {
  content: ""; }

.fa-wikipedia-w:before {
  content: ""; }

.fa-safari:before {
  content: ""; }

.fa-chrome:before {
  content: ""; }

.fa-firefox:before {
  content: ""; }

.fa-opera:before {
  content: ""; }

.fa-internet-explorer:before {
  content: ""; }

.fa-tv:before, .fa-television:before {
  content: ""; }

.fa-contao:before {
  content: ""; }

.fa-500px:before {
  content: ""; }

.fa-amazon:before {
  content: ""; }

.fa-calendar-plus-o:before {
  content: ""; }

.fa-calendar-minus-o:before {
  content: ""; }

.fa-calendar-times-o:before {
  content: ""; }

.fa-calendar-check-o:before {
  content: ""; }

.fa-industry:before {
  content: ""; }

.fa-map-pin:before {
  content: ""; }

.fa-map-signs:before {
  content: ""; }

.fa-map-o:before {
  content: ""; }

.fa-map:before {
  content: ""; }

.fa-commenting:before {
  content: ""; }

.fa-commenting-o:before {
  content: ""; }

.fa-houzz:before {
  content: ""; }

.fa-vimeo:before {
  content: ""; }

.fa-black-tie:before {
  content: ""; }

.fa-fonticons:before {
  content: ""; }

.fa-reddit-alien:before {
  content: ""; }

.fa-edge:before {
  content: ""; }

.fa-credit-card-alt:before {
  content: ""; }

.fa-codiepie:before {
  content: ""; }

.fa-modx:before {
  content: ""; }

.fa-fort-awesome:before {
  content: ""; }

.fa-usb:before {
  content: ""; }

.fa-product-hunt:before {
  content: ""; }

.fa-mixcloud:before {
  content: ""; }

.fa-scribd:before {
  content: ""; }

.fa-pause-circle:before {
  content: ""; }

.fa-pause-circle-o:before {
  content: ""; }

.fa-stop-circle:before {
  content: ""; }

.fa-stop-circle-o:before {
  content: ""; }

.fa-shopping-bag:before {
  content: ""; }

.fa-shopping-basket:before {
  content: ""; }

.fa-hashtag:before {
  content: ""; }

.fa-bluetooth:before {
  content: ""; }

.fa-bluetooth-b:before {
  content: ""; }

.fa-percent:before {
  content: ""; }

.fa-gitlab:before {
  content: ""; }

.fa-wpbeginner:before {
  content: ""; }

.fa-wpforms:before {
  content: ""; }

.fa-envira:before {
  content: ""; }

.fa-universal-access:before {
  content: ""; }

.fa-wheelchair-alt:before {
  content: ""; }

.fa-question-circle-o:before {
  content: ""; }

.fa-blind:before {
  content: ""; }

.fa-audio-description:before {
  content: ""; }

.fa-volume-control-phone:before {
  content: ""; }

.fa-braille:before {
  content: ""; }

.fa-assistive-listening-systems:before {
  content: ""; }

.fa-asl-interpreting:before, .fa-american-sign-language-interpreting:before {
  content: ""; }

.fa-deafness:before, .fa-hard-of-hearing:before, .fa-deaf:before {
  content: ""; }

.fa-glide:before {
  content: ""; }

.fa-glide-g:before {
  content: ""; }

.fa-signing:before, .fa-sign-language:before {
  content: ""; }

.fa-low-vision:before {
  content: ""; }

.fa-viadeo:before {
  content: ""; }

.fa-viadeo-square:before {
  content: ""; }

.fa-snapchat:before {
  content: ""; }

.fa-snapchat-ghost:before {
  content: ""; }

.fa-snapchat-square:before {
  content: ""; }

.fa-pied-piper:before {
  content: ""; }

.fa-first-order:before {
  content: ""; }

.fa-yoast:before {
  content: ""; }

.fa-themeisle:before {
  content: ""; }

.fa-google-plus-circle:before, .fa-google-plus-official:before {
  content: ""; }

.fa-fa:before, .fa-font-awesome:before {
  content: ""; }

.fa-handshake-o:before {
  content: ""; }

.fa-envelope-open:before {
  content: ""; }

.fa-envelope-open-o:before {
  content: ""; }

.fa-linode:before {
  content: ""; }

.fa-address-book:before {
  content: ""; }

.fa-address-book-o:before {
  content: ""; }

.fa-vcard:before, .fa-address-card:before {
  content: ""; }

.fa-vcard-o:before, .fa-address-card-o:before {
  content: ""; }

.fa-user-circle:before {
  content: ""; }

.fa-user-circle-o:before {
  content: ""; }

.fa-user-o:before {
  content: ""; }

.fa-id-badge:before {
  content: ""; }

.fa-drivers-license:before, .fa-id-card:before {
  content: ""; }

.fa-drivers-license-o:before, .fa-id-card-o:before {
  content: ""; }

.fa-quora:before {
  content: ""; }

.fa-free-code-camp:before {
  content: ""; }

.fa-telegram:before {
  content: ""; }

.fa-thermometer-4:before, .fa-thermometer:before, .fa-thermometer-full:before {
  content: ""; }

.fa-thermometer-3:before, .fa-thermometer-three-quarters:before {
  content: ""; }

.fa-thermometer-2:before, .fa-thermometer-half:before {
  content: ""; }

.fa-thermometer-1:before, .fa-thermometer-quarter:before {
  content: ""; }

.fa-thermometer-0:before, .fa-thermometer-empty:before {
  content: ""; }

.fa-shower:before {
  content: ""; }

.fa-bathtub:before, .fa-s15:before, .fa-bath:before {
  content: ""; }

.fa-podcast:before {
  content: ""; }

.fa-window-maximize:before {
  content: ""; }

.fa-window-minimize:before {
  content: ""; }

.fa-window-restore:before {
  content: ""; }

.fa-times-rectangle:before, .fa-window-close:before {
  content: ""; }

.fa-times-rectangle-o:before, .fa-window-close-o:before {
  content: ""; }

.fa-bandcamp:before {
  content: ""; }

.fa-grav:before {
  content: ""; }

.fa-etsy:before {
  content: ""; }

.fa-imdb:before {
  content: ""; }

.fa-ravelry:before {
  content: ""; }

.fa-eercast:before {
  content: ""; }

.fa-microchip:before {
  content: ""; }

.fa-snowflake-o:before {
  content: ""; }

.fa-superpowers:before {
  content: ""; }

.fa-wpexplorer:before {
  content: ""; }

.fa-meetup:before {
  content: ""; }

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

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

/*! Hamburgers @description Tasty CSS-animated hamburgers @author Jonathan Suh @jonsuh @site https://jonsuh.com/hamburgers @link https://github.com/jonsuh/hamburgers */
.hamburger {
  padding: 10px 10px;
  display: inline-block;
  cursor: pointer;
  -webkit-transition-property: opacity, -webkit-filter;
  transition-property: opacity, -webkit-filter;
  -o-transition-property: opacity, filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  -webkit-transition-duration: 0.15s;
       -o-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: linear;
       -o-transition-timing-function: linear;
          transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }

.hamburger:hover, a.hamburger.active, button.hamburger.active {
  opacity: 0.7; }

.hamburger.is-active:hover, a.hamburger.is-active.active, button.hamburger.is-active.active {
  opacity: 0.7; }

.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after {
  background-color: #fff; }

.hamburger-box {
  width: 22px;
  height: 16px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px; }

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 22px;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
  position: absolute;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.15s;
       -o-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: ease;
       -o-transition-timing-function: ease;
          transition-timing-function: ease; }

.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block; }

.hamburger-inner::before {
  top: -7px; }

.hamburger-inner::after {
  bottom: -7px; }

/* Stand */
.hamburger--stand .hamburger-inner {
  -webkit-transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  -o-transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand .hamburger-inner::before {
  -webkit-transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  -o-transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand .hamburger-inner::after {
  -webkit-transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  -o-transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand.is-active .hamburger-inner {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
  background-color: transparent !important;
  -webkit-transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1); }

.hamburger--stand.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

.hamburger--stand.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/* Stand Reverse */
.hamburger--stand-r .hamburger-inner {
  -webkit-transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  -o-transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand-r .hamburger-inner::before {
  -webkit-transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  -o-transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand-r .hamburger-inner::after {
  -webkit-transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  -o-transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
          transform: rotate(-90deg);
  background-color: transparent !important;
  -webkit-transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1); }

.hamburger--stand-r.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

.hamburger--stand-r.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/* Owl Carousel - Core */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */ }

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px); }

.owl-carousel .owl-wrapper, .owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }

.owl-carousel .owl-item img {
  display: block;
  width: 100%; }

.owl-carousel .owl-nav.disabled, .owl-carousel .owl-dots.disabled {
  display: none; }

.owl-carousel .owl-nav .owl-prev, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-dot {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next, .owl-carousel button.owl-dot {
  background: none;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit; }

.owl-carousel.owl-loaded {
  display: block; }

.owl-carousel.owl-loading {
  opacity: 0;
  display: block; }

.owl-carousel.owl-hidden {
  opacity: 0; }

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden; }

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel.owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.owl-carousel.owl-rtl {
  direction: rtl; }

.owl-carousel.owl-rtl .owl-item {
  float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/* Owl Carousel - Animate Plugin */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/* Owl Carousel - Auto Height Plugin */
.owl-height {
  -webkit-transition: height 500ms ease-in-out;
  -o-transition: height 500ms ease-in-out;
  transition: height 500ms ease-in-out; }

/* Owl Carousel - Lazy Load Plugin */
.owl-carousel .owl-item {
  /** This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong calculation of the height of the owl-item that breaks page layouts */ }

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  -webkit-transition: opacity 400ms ease;
  -o-transition: opacity 400ms ease;
  transition: opacity 400ms ease; }

.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
  max-height: 0; }

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

/* Owl Carousel - Video Plugin */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transition: -webkit-transform 100ms ease;
  transition: -webkit-transform 100ms ease;
  -o-transition: transform 100ms ease;
  transition: transform 100ms ease;
  transition: transform 100ms ease, -webkit-transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover, .owl-carousel a.owl-video-play-icon.active, .owl-carousel button.owl-video-play-icon.active {
  -webkit-transform: scale(1.3, 1.3);
      -ms-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn, .owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: opacity 400ms ease;
  -o-transition: opacity 400ms ease;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

.featherlight-close-icon:after {
  content: none; }

/** Brand Colors Important: If changing theme colours, remember to change them in the ELF child theme too for string replacement */
/* old styling fallback */
.pw-protect input[type="submit"], input[type="submit"]:hover {
  background-image: none !important; }

/** Foundation for Sites Version 6.6.3 https://get.foundation Licensed under MIT Open Source */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

b, strong, .card.card__pushdown.airlines .content-wrap .accordion-content h1, .card.card__pushdown.airlines .content-wrap .accordion-content h2, .card.card__pushdown.airlines .content-wrap .accordion-content h3, .card.card__pushdown.airlines .content-wrap .accordion-content h4, .card.card__pushdown.airlines .content-wrap .accordion-content h5, .card.card__pushdown.airlines .content-wrap .accordion-content section .free_text blockquote p, section .free_text blockquote .card.card__pushdown.airlines .content-wrap .accordion-content p, .card.card__pushdown.airlines .content-wrap .accordion-content h6, .card.card__pushdown.airlines .content-wrap .accordion-content .updated .date, .updated .card.card__pushdown.airlines .content-wrap .accordion-content .date {
  font-weight: bolder; }

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button, input {
  overflow: visible; }

button, select {
  text-transform: none; }

button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"], [type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #FFF;
  font-family: "Avenir LT W01_65 Medium1475532", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #525245;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 5px; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 5px; }

.map_canvas img, .map_canvas embed, .map_canvas object, .mqa-display img, .mqa-display embed, .mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 5px;
  background: transparent;
  line-height: 1;
  cursor: auto; }

[data-whatinput='mouse'] button {
  outline: 0; }

pre {
  overflow: auto; }

button, input, optgroup, select, textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

.row {
  max-width: 83.75rem;
  margin-right: auto;
  margin-left: auto; }

.row::before, .row::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.row::after {
  clear: both; }

.row.collapse > .column, .row.collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.row .row {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }

@media print, screen and (min-width: 40em) {
  .row .row {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .row .row {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem; } }

.row .row.collapse {
  margin-right: 0;
  margin-left: 0; }

.row.expanded {
  max-width: none; }

.row.expanded .row {
  margin-right: auto;
  margin-left: auto; }

.row:not(.expanded) .row {
  max-width: none; }

.row.gutter-small > .column, .row.gutter-small > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

.row.gutter-medium > .column, .row.gutter-medium > .columns {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

@media print, screen and (min-width: 40em) {
  .column, .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

.column, .columns, .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
  float: left;
  clear: none; }

.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
  float: right; }

.column.end:last-child:last-child, .end.columns:last-child:last-child {
  float: left; }

.column.row.row, .row.row.columns {
  float: none; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }

.small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
  clear: both; }

.small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
  float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }

.small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
  clear: both; }

.small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
  float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }

.small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
  clear: both; }

.small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
  float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }

.small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
  clear: both; }

.small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
  float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }

.small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
  clear: both; }

.small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
  float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }

.small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
  clear: both; }

.small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
  float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }

.small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
  clear: both; }

.small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
  float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }

.small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
  clear: none; }

.small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
  clear: both; }

.small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
  float: left; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

.small-centered {
  margin-right: auto;
  margin-left: auto; }

.small-centered, .small-centered:last-child:not(:first-child) {
  float: none;
  clear: both; }

.small-uncentered, .small-push-0, .small-pull-0 {
  position: static;
  margin-right: 0;
  margin-left: 0; }

.small-uncentered, .small-uncentered:last-child:not(:first-child), .small-push-0, .small-push-0:last-child:not(:first-child), .small-pull-0, .small-pull-0:last-child:not(:first-child) {
  float: left;
  clear: none; }

.small-uncentered:last-child:not(:first-child), .small-push-0:last-child:not(:first-child), .small-pull-0:last-child:not(:first-child) {
  float: right; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
  .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
    float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
  .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
    float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
  .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
    float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
  .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
    float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
  .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
    float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
  .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
    float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
  .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
    float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
  .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
    float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
  .medium-centered, .medium-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }
  .medium-uncentered, .medium-push-0, .medium-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
  .medium-uncentered, .medium-uncentered:last-child:not(:first-child), .medium-push-0, .medium-push-0:last-child:not(:first-child), .medium-pull-0, .medium-pull-0:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .medium-uncentered:last-child:not(:first-child), .medium-push-0:last-child:not(:first-child), .medium-pull-0:last-child:not(:first-child) {
    float: right; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
  .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
    float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
  .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
    float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
  .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
    float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
  .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
    float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
  .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
    float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
  .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
    float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
  .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
    float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
  .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
    float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
  .large-centered, .large-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }
  .large-uncentered, .large-push-0, .large-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
  .large-uncentered, .large-uncentered:last-child:not(:first-child), .large-push-0, .large-push-0:last-child:not(:first-child), .large-pull-0, .large-pull-0:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .large-uncentered:last-child:not(:first-child), .large-push-0:last-child:not(:first-child), .large-pull-0:last-child:not(:first-child) {
    float: right; } }

.column-block {
  margin-bottom: 1.25rem; }

.column-block > :last-child {
  margin-bottom: 0; }

@media print, screen and (min-width: 40em) {
  .column-block {
    margin-bottom: 1.875rem; }
  .column-block > :last-child {
    margin-bottom: 0; } }

.grid-container {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  max-width: 83.75rem;
  margin-left: auto;
  margin-right: auto; }

@media print, screen and (min-width: 40em) {
  .grid-container {
    padding-right: 2rem;
    padding-left: 2rem; } }

.grid-container.fluid {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }

@media print, screen and (min-width: 40em) {
  .grid-container.fluid {
    padding-right: 2rem;
    padding-left: 2rem; } }

.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }

.grid-x {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }

.cell.auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

.cell.shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .medium-shrink {
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .large-shrink {
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.75rem;
  margin-right: -0.75rem; }

@media print, screen and (min-width: 40em) {
  .grid-margin-x {
    margin-left: -0.625rem;
    margin-right: -0.625rem; } }

.grid-margin-x > .cell {
  width: calc(100% - 1.5rem);
  margin-left: 0.75rem;
  margin-right: 0.75rem; }

@media print, screen and (min-width: 40em) {
  .grid-margin-x > .cell {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; } }

.grid-margin-x > .auto {
  width: auto; }

.grid-margin-x > .shrink {
  width: auto; }

.grid-margin-x > .small-1 {
  width: calc(8.33333% - 1.5rem); }

.grid-margin-x > .small-2 {
  width: calc(16.66667% - 1.5rem); }

.grid-margin-x > .small-3 {
  width: calc(25% - 1.5rem); }

.grid-margin-x > .small-4 {
  width: calc(33.33333% - 1.5rem); }

.grid-margin-x > .small-5 {
  width: calc(41.66667% - 1.5rem); }

.grid-margin-x > .small-6 {
  width: calc(50% - 1.5rem); }

.grid-margin-x > .small-7 {
  width: calc(58.33333% - 1.5rem); }

.grid-margin-x > .small-8 {
  width: calc(66.66667% - 1.5rem); }

.grid-margin-x > .small-9 {
  width: calc(75% - 1.5rem); }

.grid-margin-x > .small-10 {
  width: calc(83.33333% - 1.5rem); }

.grid-margin-x > .small-11 {
  width: calc(91.66667% - 1.5rem); }

.grid-margin-x > .small-12 {
  width: calc(100% - 1.5rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.25rem); }
  .grid-margin-x > .medium-auto {
    width: auto; }
  .grid-margin-x > .medium-shrink {
    width: auto; }
  .grid-margin-x > .medium-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .medium-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .medium-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .medium-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .medium-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .medium-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .medium-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .medium-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 1.25rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x > .large-auto {
    width: auto; }
  .grid-margin-x > .large-shrink {
    width: auto; }
  .grid-margin-x > .large-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .large-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .large-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .large-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .large-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .large-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .large-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .large-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .large-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .large-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .large-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .large-12 {
    width: calc(100% - 1.25rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.75rem;
  margin-left: -0.75rem; }

@media print, screen and (min-width: 40em) {
  .grid-padding-x .grid-padding-x {
    margin-right: -0.625rem;
    margin-left: -0.625rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.75rem;
  margin-left: -0.75rem; }

@media print, screen and (min-width: 40em) {
  .grid-container:not(.full) > .grid-padding-x {
    margin-right: -0.625rem;
    margin-left: -0.625rem; } }

.grid-padding-x > .cell {
  padding-right: 0.75rem;
  padding-left: 0.75rem; }

@media print, screen and (min-width: 40em) {
  .grid-padding-x > .cell {
    padding-right: 0.625rem;
    padding-left: 0.625rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.5rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1.5rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 1.5rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1.5rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1.5rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 1.5rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 1.5rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1.5rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }

.small-margin-collapse > .cell {
  margin-right: 0;
  margin-left: 0; }

.small-margin-collapse > .small-1 {
  width: 8.33333%; }

.small-margin-collapse > .small-2 {
  width: 16.66667%; }

.small-margin-collapse > .small-3 {
  width: 25%; }

.small-margin-collapse > .small-4 {
  width: 33.33333%; }

.small-margin-collapse > .small-5 {
  width: 41.66667%; }

.small-margin-collapse > .small-6 {
  width: 50%; }

.small-margin-collapse > .small-7 {
  width: 58.33333%; }

.small-margin-collapse > .small-8 {
  width: 66.66667%; }

.small-margin-collapse > .small-9 {
  width: 75%; }

.small-margin-collapse > .small-10 {
  width: 83.33333%; }

.small-margin-collapse > .small-11 {
  width: 91.66667%; }

.small-margin-collapse > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .small-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .small-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .small-margin-collapse > .medium-3 {
    width: 25%; }
  .small-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .small-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .small-margin-collapse > .medium-6 {
    width: 50%; }
  .small-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .small-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .small-margin-collapse > .medium-9 {
    width: 75%; }
  .small-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .small-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .small-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .small-margin-collapse > .large-1 {
    width: 8.33333%; }
  .small-margin-collapse > .large-2 {
    width: 16.66667%; }
  .small-margin-collapse > .large-3 {
    width: 25%; }
  .small-margin-collapse > .large-4 {
    width: 33.33333%; }
  .small-margin-collapse > .large-5 {
    width: 41.66667%; }
  .small-margin-collapse > .large-6 {
    width: 50%; }
  .small-margin-collapse > .large-7 {
    width: 58.33333%; }
  .small-margin-collapse > .large-8 {
    width: 66.66667%; }
  .small-margin-collapse > .large-9 {
    width: 75%; }
  .small-margin-collapse > .large-10 {
    width: 83.33333%; }
  .small-margin-collapse > .large-11 {
    width: 91.66667%; }
  .small-margin-collapse > .large-12 {
    width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }

.small-padding-collapse > .cell {
  padding-right: 0;
  padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
  .medium-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
  .medium-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
  .large-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.75rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.75rem); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.75rem); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.75rem); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.75rem); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.75rem); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.75rem); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.75rem); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.75rem); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.75rem); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.75rem); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.75rem); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.625rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.625rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.625rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.625rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.625rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.625rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.625rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.625rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.625rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.625rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.625rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.625rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.625rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.625rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.625rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.625rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.625rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.625rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.625rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.625rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.625rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.625rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.625rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.625rem); } }

.grid-y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }

.grid-y > .cell {
  height: auto;
  max-height: none; }

.grid-y > .auto {
  height: auto; }

.grid-y > .shrink {
  height: auto; }

.grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

.grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.grid-y > .small-1 {
  height: 8.33333%; }

.grid-y > .small-2 {
  height: 16.66667%; }

.grid-y > .small-3 {
  height: 25%; }

.grid-y > .small-4 {
  height: 33.33333%; }

.grid-y > .small-5 {
  height: 41.66667%; }

.grid-y > .small-6 {
  height: 50%; }

.grid-y > .small-7 {
  height: 58.33333%; }

.grid-y > .small-8 {
  height: 66.66667%; }

.grid-y > .small-9 {
  height: 75%; }

.grid-y > .small-10 {
  height: 83.33333%; }

.grid-y > .small-11 {
  height: 91.66667%; }

.grid-y > .small-12 {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-y > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto; }
  .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-y > .medium-shrink {
    height: auto; }
  .grid-y > .medium-1 {
    height: 8.33333%; }
  .grid-y > .medium-2 {
    height: 16.66667%; }
  .grid-y > .medium-3 {
    height: 25%; }
  .grid-y > .medium-4 {
    height: 33.33333%; }
  .grid-y > .medium-5 {
    height: 41.66667%; }
  .grid-y > .medium-6 {
    height: 50%; }
  .grid-y > .medium-7 {
    height: 58.33333%; }
  .grid-y > .medium-8 {
    height: 66.66667%; }
  .grid-y > .medium-9 {
    height: 75%; }
  .grid-y > .medium-10 {
    height: 83.33333%; }
  .grid-y > .medium-11 {
    height: 91.66667%; }
  .grid-y > .medium-12 {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-y > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    height: auto; }
  .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-y > .large-shrink {
    height: auto; }
  .grid-y > .large-1 {
    height: 8.33333%; }
  .grid-y > .large-2 {
    height: 16.66667%; }
  .grid-y > .large-3 {
    height: 25%; }
  .grid-y > .large-4 {
    height: 33.33333%; }
  .grid-y > .large-5 {
    height: 41.66667%; }
  .grid-y > .large-6 {
    height: 50%; }
  .grid-y > .large-7 {
    height: 58.33333%; }
  .grid-y > .large-8 {
    height: 66.66667%; }
  .grid-y > .large-9 {
    height: 75%; }
  .grid-y > .large-10 {
    height: 83.33333%; }
  .grid-y > .large-11 {
    height: 91.66667%; }
  .grid-y > .large-12 {
    height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.75rem;
  margin-bottom: -0.75rem; }

@media print, screen and (min-width: 40em) {
  .grid-padding-y .grid-padding-y {
    margin-top: -0.625rem;
    margin-bottom: -0.625rem; } }

.grid-padding-y > .cell {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem; }

@media print, screen and (min-width: 40em) {
  .grid-padding-y > .cell {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem; } }

.grid-margin-y {
  margin-top: -0.75rem;
  margin-bottom: -0.75rem; }

@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: -0.625rem;
    margin-bottom: -0.625rem; } }

.grid-margin-y > .cell {
  height: calc(100% - 1.5rem);
  margin-top: 0.75rem;
  margin-bottom: 0.75rem; }

@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; } }

.grid-margin-y > .auto {
  height: auto; }

.grid-margin-y > .shrink {
  height: auto; }

.grid-margin-y > .small-1 {
  height: calc(8.33333% - 1.5rem); }

.grid-margin-y > .small-2 {
  height: calc(16.66667% - 1.5rem); }

.grid-margin-y > .small-3 {
  height: calc(25% - 1.5rem); }

.grid-margin-y > .small-4 {
  height: calc(33.33333% - 1.5rem); }

.grid-margin-y > .small-5 {
  height: calc(41.66667% - 1.5rem); }

.grid-margin-y > .small-6 {
  height: calc(50% - 1.5rem); }

.grid-margin-y > .small-7 {
  height: calc(58.33333% - 1.5rem); }

.grid-margin-y > .small-8 {
  height: calc(66.66667% - 1.5rem); }

.grid-margin-y > .small-9 {
  height: calc(75% - 1.5rem); }

.grid-margin-y > .small-10 {
  height: calc(83.33333% - 1.5rem); }

.grid-margin-y > .small-11 {
  height: calc(91.66667% - 1.5rem); }

.grid-margin-y > .small-12 {
  height: calc(100% - 1.5rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  .grid-margin-y > .medium-auto {
    height: auto; }
  .grid-margin-y > .medium-shrink {
    height: auto; }
  .grid-margin-y > .medium-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .medium-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .medium-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .medium-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .medium-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .medium-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .medium-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .medium-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.25rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto; }
  .grid-margin-y > .large-shrink {
    height: auto; }
  .grid-margin-y > .large-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .large-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .large-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .large-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .large-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .large-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .large-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .large-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .large-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .large-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .large-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .large-12 {
    height: calc(100% - 1.25rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }

.cell-block-container > .grid-x {
  max-height: 100%;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
  .medium-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
  .large-cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.75rem;
  margin-bottom: -0.75rem; }

@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: -0.625rem;
    margin-bottom: -0.625rem; } }

.grid-margin-y > .cell {
  height: calc(100% - 1.5rem);
  margin-top: 0.75rem;
  margin-bottom: 0.75rem; }

@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; } }

.grid-margin-y > .auto {
  height: auto; }

.grid-margin-y > .shrink {
  height: auto; }

.grid-margin-y > .small-1 {
  height: calc(8.33333% - 1.5rem); }

.grid-margin-y > .small-2 {
  height: calc(16.66667% - 1.5rem); }

.grid-margin-y > .small-3 {
  height: calc(25% - 1.5rem); }

.grid-margin-y > .small-4 {
  height: calc(33.33333% - 1.5rem); }

.grid-margin-y > .small-5 {
  height: calc(41.66667% - 1.5rem); }

.grid-margin-y > .small-6 {
  height: calc(50% - 1.5rem); }

.grid-margin-y > .small-7 {
  height: calc(58.33333% - 1.5rem); }

.grid-margin-y > .small-8 {
  height: calc(66.66667% - 1.5rem); }

.grid-margin-y > .small-9 {
  height: calc(75% - 1.5rem); }

.grid-margin-y > .small-10 {
  height: calc(83.33333% - 1.5rem); }

.grid-margin-y > .small-11 {
  height: calc(91.66667% - 1.5rem); }

.grid-margin-y > .small-12 {
  height: calc(100% - 1.5rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  .grid-margin-y > .medium-auto {
    height: auto; }
  .grid-margin-y > .medium-shrink {
    height: auto; }
  .grid-margin-y > .medium-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .medium-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .medium-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .medium-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .medium-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .medium-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .medium-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .medium-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 1.25rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y > .large-auto {
    height: auto; }
  .grid-margin-y > .large-shrink {
    height: auto; }
  .grid-margin-y > .large-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .large-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .large-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .large-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .large-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .large-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .large-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .large-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .large-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .large-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .large-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .large-12 {
    height: calc(100% - 1.25rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.5rem); }

@media print, screen and (min-width: 40em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 1.25rem); } }

@media print, screen and (min-width: 64em) {
  .grid-frame.grid-margin-y {
    height: calc(100vh + 1.25rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.25rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.25rem); } }

.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.align-left.vertical.menu > li > a {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.align-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.align-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -ms-flex-item-align: center;
      align-self: center; }

.align-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

.align-center-middle {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center; }

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, section .free_text blockquote p, h6, .updated .date, pre, form, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1rem;
  font-size: inherit;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

em, i {
  font-style: italic;
  line-height: inherit; }

strong, .card.card__pushdown.airlines .content-wrap .accordion-content h1, .card.card__pushdown.airlines .content-wrap .accordion-content h2, .card.card__pushdown.airlines .content-wrap .accordion-content h3, .card.card__pushdown.airlines .content-wrap .accordion-content h4, .card.card__pushdown.airlines .content-wrap .accordion-content h5, .card.card__pushdown.airlines .content-wrap .accordion-content section .free_text blockquote p, section .free_text blockquote .card.card__pushdown.airlines .content-wrap .accordion-content p, .card.card__pushdown.airlines .content-wrap .accordion-content h6, .card.card__pushdown.airlines .content-wrap .accordion-content .updated .date, .updated .card.card__pushdown.airlines .content-wrap .accordion-content .date, b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, section .free_text blockquote p, .h5, h6, .updated .date, .h6 {
  font-family: "Avenir LT W01_85 Heavy1475544", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: bold;
  color: #16404d;
  text-rendering: optimizeLegibility; }

h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h4 small, .h4 small, h5 small, section .free_text blockquote p small, .h5 small, h6 small, .updated .date small, .h6 small {
  line-height: 0;
  color: #B1B1B1; }

h1, .h1 {
  font-size: 2.375rem;
  line-height: 1.05263;
  margin-top: 0;
  margin-bottom: 1.4375rem; }

h2, .h2 {
  font-size: 1.875rem;
  line-height: 1.06667;
  margin-top: 0;
  margin-bottom: 1.3125rem; }

h3, .h3 {
  font-size: 1.5625rem;
  line-height: 1.04;
  margin-top: 0;
  margin-bottom: 1.1875rem; }

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.33333;
  margin-top: 0;
  margin-bottom: 1rem; }

h5, section .free_text blockquote p, .h5 {
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 1rem; }

h6, .updated .date, .h6 {
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 1rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 2.625rem;
    line-height: 1.14286;
    margin-bottom: 1.625rem; }
  h2, .h2 {
    font-size: 2.125rem;
    line-height: 1.23529;
    margin-bottom: 1.5rem; }
  h3, .h3 {
    font-size: 1.625rem;
    line-height: 1.23077;
    margin-bottom: 1.375rem; }
  h4, .h4 {
    font-size: 1.375rem;
    line-height: 1.27273;
    margin-bottom: 1.25rem; }
  h5, section .free_text blockquote p, .h5 {
    font-size: 1.125rem;
    line-height: 1.33333;
    margin-bottom: 1.25rem; }
  h6, .updated .date, .h6 {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 1.25rem; } }

@media print, screen and (min-width: 64em) {
  h1, .h1 {
    font-size: 2.9375rem;
    line-height: 1.10638;
    margin-bottom: 1.75rem; }
  h2, .h2 {
    font-size: 2.375rem;
    line-height: 1.18421;
    margin-bottom: 1.5rem; }
  h3, .h3 {
    font-size: 1.875rem;
    line-height: 1.16667;
    margin-bottom: 1.375rem; }
  h4, .h4 {
    font-size: 1.5625rem;
    line-height: 1.12;
    margin-bottom: 1.25rem; }
  h5, section .free_text blockquote p, .h5 {
    font-size: 1.25rem;
    line-height: 1.3;
    margin-bottom: 1.25rem; }
  h6, .updated .date, .h6 {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 1.25rem; } }

a {
  line-height: inherit;
  color: #16404d;
  text-decoration: underline;
  cursor: pointer; }

a:hover, a.active, a.button.active, li.faux-button a.active, a:focus {
  color: #a6cdc6; }

a img {
  border: 0; }

hr {
  clear: both;
  max-width: 83.75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #B1B1B1;
  border-left: 0; }

ul, ol, dl {
  margin-bottom: 1rem;
  list-style-position: outside;
  line-height: 1.6; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }

dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5rem 1.75rem 0.0625rem 1.75rem;
  border-left: none; }

blockquote, blockquote p {
  line-height: 1.6;
  color: #16404d; }

abbr, abbr[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #E4E4E4;
  font-family: "Avenir LT W01_65 Medium1475532", sans-serif;
  color: #000;
  border-radius: 5px; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #707070; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }

p + .stat {
  margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

.cite-block, cite {
  display: block;
  color: #707070;
  font-size: 0.8125rem; }

.cite-block:before, cite:before {
  content: "— "; }

.code-inline, code {
  border: 1px solid #B1B1B1;
  background-color: #E4E4E4;
  font-family: "Avenir LT W01_65 Medium1475532", sans-serif;
  font-weight: normal;
  color: #000;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.125rem 0.3125rem 0.0625rem; }

.code-block {
  border: 1px solid #B1B1B1;
  background-color: #E4E4E4;
  font-family: "Avenir LT W01_65 Medium1475532", sans-serif;
  font-weight: normal;
  color: #000;
  display: block;
  overflow: auto;
  white-space: pre;
  padding: 1rem;
  margin-bottom: 1.5rem; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            color-adjust: economy;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a, a:visited {
    text-decoration: underline; }
  .ir a:after, a[href^='javascript:']:after, a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre, blockquote {
    border: 1px solid #707070;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr, img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p, h2, h3 {
    orphans: 3;
    widows: 3; }
  h2, h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button, li.faux-button a {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 1.25em 2.8em 1.25em 1.4em;
  border: 1px solid transparent;
  border-radius: 5px;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  -o-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: "Avenir LT W01_85 Heavy1475544", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.125rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer; }

[data-whatinput='mouse'] .button, [data-whatinput='mouse'] li.faux-button a, li.faux-button [data-whatinput='mouse'] a {
  outline: 0; }

.button.tiny, li.faux-button a.tiny {
  font-size: 1.125rem; }

.button.small, li.faux-button a.small {
  font-size: 1.125rem; }

.button.large, li.faux-button a.large {
  font-size: 1.125rem; }

.button.expanded, li.faux-button a.expanded {
  display: block;
  width: 100%;
  margin-right: 0;
  margin-left: 0; }

.button, li.faux-button a, .button.disabled, li.faux-button a.disabled, .button[disabled], li.faux-button a[disabled], .button.disabled:hover, a.button.disabled.active, li.faux-button a.disabled.active, button.button.disabled.active, li.faux-button a.disabled:hover, .button[disabled]:hover, a.button.active[disabled], li.faux-button a.active[disabled], button.button.active[disabled], li.faux-button a[disabled]:hover, .button.disabled:focus, li.faux-button a.disabled:focus, .button[disabled]:focus, li.faux-button a[disabled]:focus {
  background-color: #79d7be;
  color: #16404d; }

.button:hover, a.button.active, li.faux-button a.active, button.button.active, li.faux-button a:hover, .button:focus, li.faux-button a:focus {
  background-color: #16404d;
  color: #16404d; }

.button.hollow, li.faux-button a.hollow, .button.hollow:hover, a.button.hollow.active, li.faux-button a.hollow.active, button.button.hollow.active, li.faux-button a.hollow:hover, .button.hollow:focus, li.faux-button a.hollow:focus, .button.hollow.disabled, li.faux-button a.hollow.disabled, .button.hollow.disabled:hover, a.button.hollow.disabled.active, li.faux-button a.hollow.disabled.active, button.button.hollow.disabled.active, li.faux-button a.hollow.disabled:hover, .button.hollow.disabled:focus, li.faux-button a.hollow.disabled:focus, .button.hollow[disabled], li.faux-button a.hollow[disabled], .button.hollow[disabled]:hover, a.button.hollow.active[disabled], li.faux-button a.hollow.active[disabled], button.button.hollow.active[disabled], li.faux-button a.hollow[disabled]:hover, .button.hollow[disabled]:focus, li.faux-button a.hollow[disabled]:focus {
  background-color: transparent; }

.button.hollow, li.faux-button a.hollow, .button.hollow.disabled, li.faux-button a.hollow.disabled, .button.hollow[disabled], li.faux-button a.hollow[disabled], .button.hollow.disabled:hover, a.button.hollow.disabled.active, li.faux-button a.hollow.disabled.active, button.button.hollow.disabled.active, li.faux-button a.hollow.disabled:hover, .button.hollow[disabled]:hover, a.button.hollow.active[disabled], li.faux-button a.hollow.active[disabled], button.button.hollow.active[disabled], li.faux-button a.hollow[disabled]:hover, .button.hollow.disabled:focus, li.faux-button a.hollow.disabled:focus, .button.hollow[disabled]:focus, li.faux-button a.hollow[disabled]:focus {
  border: 1px solid #79d7be;
  color: #79d7be; }

.button.hollow:hover, a.button.hollow.active, li.faux-button a.hollow.active, button.button.hollow.active, li.faux-button a.hollow:hover, .button.hollow:focus, li.faux-button a.hollow:focus {
  border-color: #7f6200;
  color: #7f6200; }

.button.clear, li.faux-button a.clear, .button.clear:hover, a.button.clear.active, li.faux-button a.clear.active, button.button.clear.active, li.faux-button a.clear:hover, .button.clear:focus, li.faux-button a.clear:focus, .button.clear.disabled, li.faux-button a.clear.disabled, .button.clear.disabled:hover, a.button.clear.disabled.active, li.faux-button a.clear.disabled.active, button.button.clear.disabled.active, li.faux-button a.clear.disabled:hover, .button.clear.disabled:focus, li.faux-button a.clear.disabled:focus, .button.clear[disabled], li.faux-button a.clear[disabled], .button.clear[disabled]:hover, a.button.clear.active[disabled], li.faux-button a.clear.active[disabled], button.button.clear.active[disabled], li.faux-button a.clear[disabled]:hover, .button.clear[disabled]:focus, li.faux-button a.clear[disabled]:focus {
  border-color: transparent;
  background-color: transparent; }

.button.clear, li.faux-button a.clear, .button.clear.disabled, li.faux-button a.clear.disabled, .button.clear[disabled], li.faux-button a.clear[disabled], .button.clear.disabled:hover, a.button.clear.disabled.active, li.faux-button a.clear.disabled.active, button.button.clear.disabled.active, li.faux-button a.clear.disabled:hover, .button.clear[disabled]:hover, a.button.clear.active[disabled], li.faux-button a.clear.active[disabled], button.button.clear.active[disabled], li.faux-button a.clear[disabled]:hover, .button.clear.disabled:focus, li.faux-button a.clear.disabled:focus, .button.clear[disabled]:focus, li.faux-button a.clear[disabled]:focus {
  color: #79d7be; }

.button.clear:hover, a.button.clear.active, li.faux-button a.clear.active, button.button.clear.active, li.faux-button a.clear:hover, .button.clear:focus, li.faux-button a.clear:focus {
  color: #7f6200; }

.button.disabled, li.faux-button a.disabled, .button[disabled], li.faux-button a[disabled] {
  opacity: 1;
  cursor: not-allowed; }

.button.dropdown::after, li.faux-button a.dropdown::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4em;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #FFF transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 2.8em; }

.button.dropdown.hollow::after, li.faux-button a.dropdown.hollow::after, .button.dropdown.clear::after, li.faux-button a.dropdown.clear::after {
  border-top-color: #79d7be; }

.button.arrow-only::after, li.faux-button a.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0; }

a.button:hover, a.button.active, li.faux-button a.active, li.faux-button a:hover, a.button:focus, li.faux-button a:focus {
  text-decoration: none; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.375rem;
  margin: 0 0 1.875rem;
  padding: 0.46875rem 0;
  border: none;
  border-radius: 0;
  background-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #16404d;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -o-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus, textarea:focus {
  outline: none;
  border: none;
  background-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -o-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

textarea {
  max-width: 100%; }

textarea[rows] {
  height: auto; }

input:disabled, input[readonly], textarea:disabled, textarea[readonly] {
  background-color: #E4E4E4;
  cursor: not-allowed; }

[type='submit'], [type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 5px; }

input[type='search'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

::-webkit-input-placeholder {
  color: #525245; }

::-moz-placeholder {
  color: #525245; }

:-ms-input-placeholder {
  color: #525245; }

::-ms-input-placeholder {
  color: #525245; }

::placeholder {
  color: #525245; }

[type='file'], [type='checkbox'], [type='radio'] {
  margin: 0 0 1.875rem; }

[type='checkbox'] + label, [type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.9375rem;
  margin-right: 1.875rem;
  margin-bottom: 0; }

[type='checkbox'] + label[for], [type='radio'] + label[for] {
  cursor: pointer; }

label > [type='checkbox'], label > [type='radio'] {
  margin-right: 0.9375rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000; }

label.middle {
  margin: 0 0 1.875rem;
  padding: 0.9375rem 0; }

.help-text {
  margin-top: -0.9375rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #000; }

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1.875rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.input-group > :first-child, .input-group > :first-child.input-group-button > * {
  border-radius: 0 0 0 0; }

.input-group > :last-child, .input-group > :last-child.input-group-button > * {
  border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a, .input-group-button input, .input-group-button button, .input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #B1B1B1;
  background: #E4E4E4;
  color: #000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.input-group-label:first-child {
  border-right: 0; }

.input-group-label:last-child {
  border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.input-group-button a, .input-group-button input, .input-group-button button, .input-group-button label {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  height: auto;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.9375rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #B1B1B1; }

.fieldset legend {
  margin: 0;
  margin-left: -0.1875rem;
  padding: 0 0.1875rem; }

select {
  height: 2.375rem;
  margin: 0 0 1.875rem;
  padding: 0.46875rem 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 0;
  background-color: #FFF;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #16404d;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%284, 50, 99%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1.875rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 2.8125rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -o-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

@media screen and (min-width: 0\0) {
  select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }

select:focus {
  outline: none;
  border: none;
  background-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -o-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

select:disabled {
  background-color: #E4E4E4;
  cursor: not-allowed; }

select::-ms-expand {
  display: none; }

select[multiple] {
  height: auto;
  background-image: none; }

select:not([multiple]) {
  padding-top: 0;
  padding-bottom: 0; }

.is-invalid-input:not(:focus) {
  border-color: #ad0031;
  background-color: #f7e6ea; }

.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #ad0031; }

.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #ad0031; }

.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #ad0031; }

.is-invalid-input:not(:focus)::-ms-input-placeholder {
  color: #ad0031; }

.is-invalid-input:not(:focus)::placeholder {
  color: #ad0031; }

.is-invalid-label {
  color: #ad0031; }

.form-error {
  display: none;
  margin-top: -0.9375rem;
  margin-bottom: 1.875rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ad0031; }

.form-error.is-visible {
  display: block; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media print, screen and (max-width: 39.99875em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.99875em) {
  .show-for-medium {
    display: none !important; } }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.99875em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.99875em) {
  .show-for-large {
    display: none !important; } }

@media print, screen and (min-width: 64em) and (max-width: 74.99875em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.99875em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

.show-for-sr, .show-on-focus {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important; }

.show-for-landscape, .hide-for-portrait {
  display: block !important; }

@media screen and (orientation: landscape) {
  .show-for-landscape, .hide-for-portrait {
    display: block !important; } }

@media screen and (orientation: portrait) {
  .show-for-landscape, .hide-for-portrait {
    display: none !important; } }

.hide-for-landscape, .show-for-portrait {
  display: none !important; }

@media screen and (orientation: landscape) {
  .hide-for-landscape, .show-for-portrait {
    display: none !important; } }

@media screen and (orientation: portrait) {
  .hide-for-landscape, .show-for-portrait {
    display: block !important; } }

.accordion {
  margin-left: 0;
  background: #FFF;
  list-style-type: none; }

.accordion[disabled] .accordion-title {
  cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 5px 5px 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 5px 5px; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #E4E4E4;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #16404d; }

:last-child:not(.is-active) > .accordion-title {
  border-bottom: 1px solid #E4E4E4;
  border-radius: 0 0 5px 5px; }

.accordion-title:hover, a.accordion-title.active, button.accordion-title.active, .accordion-title:focus {
  background-color: #E4E4E4; }

.accordion-title::before {
  position: absolute;
  top: 50%;
  right: 1rem;
  margin-top: -0.5rem;
  content: "+"; }

.is-active > .accordion-title::before {
  content: "–"; }

.accordion-content {
  display: none;
  padding: 0 1rem;
  border: 1px solid #E4E4E4;
  border-bottom: 0;
  background-color: transparent;
  color: #525245; }

:last-child > .accordion-content:last-child {
  border-bottom: 1px solid #E4E4E4; }

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

.button-group::before, .button-group::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.button-group::after {
  clear: both; }

.button-group::before, .button-group::after {
  display: none; }

.button-group .button, .button-group li.faux-button a, li.faux-button .button-group a {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  font-size: 1.125rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.button-group .button:last-child, .button-group li.faux-button a:last-child, li.faux-button .button-group a:last-child {
  margin-right: 0; }

.button-group.tiny .button, .button-group.tiny li.faux-button a, li.faux-button .button-group.tiny a {
  font-size: 1.125rem; }

.button-group.small .button, .button-group.small li.faux-button a, li.faux-button .button-group.small a {
  font-size: 1.125rem; }

.button-group.large .button, .button-group.large li.faux-button a, li.faux-button .button-group.large a {
  font-size: 1.125rem; }

.button-group.expanded .button, .button-group.expanded li.faux-button a, li.faux-button .button-group.expanded a {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  margin-right: 0; }

.button-group.hollow .button, .button-group.hollow li.faux-button a, li.faux-button .button-group.hollow a, .button-group.hollow .button:hover, .button-group.hollow a.button.active, .button-group.hollow li.faux-button a.active, li.faux-button .button-group.hollow a.active, .button-group.hollow button.button.active, .button-group.hollow li.faux-button a:hover, li.faux-button .button-group.hollow a:hover, .button-group.hollow .button:focus, .button-group.hollow li.faux-button a:focus, li.faux-button .button-group.hollow a:focus, .button-group.hollow .button.disabled, .button-group.hollow li.faux-button a.disabled, li.faux-button .button-group.hollow a.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow a.button.disabled.active, .button-group.hollow li.faux-button a.disabled.active, li.faux-button .button-group.hollow a.disabled.active, .button-group.hollow button.button.disabled.active, .button-group.hollow li.faux-button a.disabled:hover, li.faux-button .button-group.hollow a.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow li.faux-button a.disabled:focus, li.faux-button .button-group.hollow a.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow li.faux-button a[disabled], li.faux-button .button-group.hollow a[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow a.button.active[disabled], .button-group.hollow li.faux-button a.active[disabled], li.faux-button .button-group.hollow a.active[disabled], .button-group.hollow button.button.active[disabled], .button-group.hollow li.faux-button a[disabled]:hover, li.faux-button .button-group.hollow a[disabled]:hover, .button-group.hollow .button[disabled]:focus, .button-group.hollow li.faux-button a[disabled]:focus, li.faux-button .button-group.hollow a[disabled]:focus {
  background-color: transparent; }

.button-group.hollow .button, .button-group.hollow li.faux-button a, li.faux-button .button-group.hollow a, .button-group.hollow .button.disabled, .button-group.hollow li.faux-button a.disabled, li.faux-button .button-group.hollow a.disabled, .button-group.hollow .button[disabled], .button-group.hollow li.faux-button a[disabled], li.faux-button .button-group.hollow a[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow a.button.disabled.active, .button-group.hollow li.faux-button a.disabled.active, li.faux-button .button-group.hollow a.disabled.active, .button-group.hollow button.button.disabled.active, .button-group.hollow li.faux-button a.disabled:hover, li.faux-button .button-group.hollow a.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow a.button.active[disabled], .button-group.hollow li.faux-button a.active[disabled], li.faux-button .button-group.hollow a.active[disabled], .button-group.hollow button.button.active[disabled], .button-group.hollow li.faux-button a[disabled]:hover, li.faux-button .button-group.hollow a[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow li.faux-button a.disabled:focus, li.faux-button .button-group.hollow a.disabled:focus, .button-group.hollow .button[disabled]:focus, .button-group.hollow li.faux-button a[disabled]:focus, li.faux-button .button-group.hollow a[disabled]:focus {
  border: 1px solid #79d7be;
  color: #79d7be; }

.button-group.hollow .button:hover, .button-group.hollow a.button.active, .button-group.hollow li.faux-button a.active, li.faux-button .button-group.hollow a.active, .button-group.hollow button.button.active, .button-group.hollow li.faux-button a:hover, li.faux-button .button-group.hollow a:hover, .button-group.hollow .button:focus, .button-group.hollow li.faux-button a:focus, li.faux-button .button-group.hollow a:focus {
  border-color: #7f6200;
  color: #7f6200; }

.button-group.clear .button, .button-group.clear li.faux-button a, li.faux-button .button-group.clear a, .button-group.clear .button:hover, .button-group.clear a.button.active, .button-group.clear li.faux-button a.active, li.faux-button .button-group.clear a.active, .button-group.clear button.button.active, .button-group.clear li.faux-button a:hover, li.faux-button .button-group.clear a:hover, .button-group.clear .button:focus, .button-group.clear li.faux-button a:focus, li.faux-button .button-group.clear a:focus, .button-group.clear .button.disabled, .button-group.clear li.faux-button a.disabled, li.faux-button .button-group.clear a.disabled, .button-group.clear .button.disabled:hover, .button-group.clear a.button.disabled.active, .button-group.clear li.faux-button a.disabled.active, li.faux-button .button-group.clear a.disabled.active, .button-group.clear button.button.disabled.active, .button-group.clear li.faux-button a.disabled:hover, li.faux-button .button-group.clear a.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear li.faux-button a.disabled:focus, li.faux-button .button-group.clear a.disabled:focus, .button-group.clear .button[disabled], .button-group.clear li.faux-button a[disabled], li.faux-button .button-group.clear a[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear a.button.active[disabled], .button-group.clear li.faux-button a.active[disabled], li.faux-button .button-group.clear a.active[disabled], .button-group.clear button.button.active[disabled], .button-group.clear li.faux-button a[disabled]:hover, li.faux-button .button-group.clear a[disabled]:hover, .button-group.clear .button[disabled]:focus, .button-group.clear li.faux-button a[disabled]:focus, li.faux-button .button-group.clear a[disabled]:focus {
  border-color: transparent;
  background-color: transparent; }

.button-group.clear .button, .button-group.clear li.faux-button a, li.faux-button .button-group.clear a, .button-group.clear .button.disabled, .button-group.clear li.faux-button a.disabled, li.faux-button .button-group.clear a.disabled, .button-group.clear .button[disabled], .button-group.clear li.faux-button a[disabled], li.faux-button .button-group.clear a[disabled], .button-group.clear .button.disabled:hover, .button-group.clear a.button.disabled.active, .button-group.clear li.faux-button a.disabled.active, li.faux-button .button-group.clear a.disabled.active, .button-group.clear button.button.disabled.active, .button-group.clear li.faux-button a.disabled:hover, li.faux-button .button-group.clear a.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear a.button.active[disabled], .button-group.clear li.faux-button a.active[disabled], li.faux-button .button-group.clear a.active[disabled], .button-group.clear button.button.active[disabled], .button-group.clear li.faux-button a[disabled]:hover, li.faux-button .button-group.clear a[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear li.faux-button a.disabled:focus, li.faux-button .button-group.clear a.disabled:focus, .button-group.clear .button[disabled]:focus, .button-group.clear li.faux-button a[disabled]:focus, li.faux-button .button-group.clear a[disabled]:focus {
  color: #79d7be; }

.button-group.clear .button:hover, .button-group.clear a.button.active, .button-group.clear li.faux-button a.active, li.faux-button .button-group.clear a.active, .button-group.clear button.button.active, .button-group.clear li.faux-button a:hover, li.faux-button .button-group.clear a:hover, .button-group.clear .button:focus, .button-group.clear li.faux-button a:focus, li.faux-button .button-group.clear a:focus {
  color: #7f6200; }

.button-group.no-gaps .button, .button-group.no-gaps li.faux-button a, li.faux-button .button-group.no-gaps a {
  margin-right: -0.0625rem; }

.button-group.no-gaps .button + .button, .button-group.no-gaps li.faux-button a + .button, li.faux-button .button-group.no-gaps a + .button, .button-group.no-gaps li.faux-button .button + a, li.faux-button .button-group.no-gaps .button + a, .button-group.no-gaps li.faux-button a + a, li.faux-button .button-group.no-gaps a + a {
  border-left-color: transparent; }

.button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.button-group.stacked .button, .button-group.stacked li.faux-button a, li.faux-button .button-group.stacked a, .button-group.stacked-for-small .button, .button-group.stacked-for-small li.faux-button a, li.faux-button .button-group.stacked-for-small a, .button-group.stacked-for-medium .button, .button-group.stacked-for-medium li.faux-button a, li.faux-button .button-group.stacked-for-medium a {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }

.button-group.stacked .button:last-child, .button-group.stacked li.faux-button a:last-child, li.faux-button .button-group.stacked a:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-small li.faux-button a:last-child, li.faux-button .button-group.stacked-for-small a:last-child, .button-group.stacked-for-medium .button:last-child, .button-group.stacked-for-medium li.faux-button a:last-child, li.faux-button .button-group.stacked-for-medium a:last-child {
  margin-bottom: 0; }

.button-group.stacked.expanded .button, .button-group.stacked.expanded li.faux-button a, li.faux-button .button-group.stacked.expanded a, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded li.faux-button a, li.faux-button .button-group.stacked-for-small.expanded a, .button-group.stacked-for-medium.expanded .button, .button-group.stacked-for-medium.expanded li.faux-button a, li.faux-button .button-group.stacked-for-medium.expanded a {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  margin-right: 0; }

@media print, screen and (min-width: 40em) {
  .button-group.stacked-for-small .button, .button-group.stacked-for-small li.faux-button a, li.faux-button .button-group.stacked-for-small a {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0; } }

@media print, screen and (min-width: 64em) {
  .button-group.stacked-for-medium .button, .button-group.stacked-for-medium li.faux-button a, li.faux-button .button-group.stacked-for-medium a {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0; } }

@media print, screen and (max-width: 39.99875em) {
  .button-group.stacked-for-small.expanded {
    display: block; }
  .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded li.faux-button a, li.faux-button .button-group.stacked-for-small.expanded a {
    display: block;
    margin-right: 0; } }

@media print, screen and (max-width: 63.99875em) {
  .button-group.stacked-for-medium.expanded {
    display: block; }
  .button-group.stacked-for-medium.expanded .button, .button-group.stacked-for-medium.expanded li.faux-button a, li.faux-button .button-group.stacked-for-medium.expanded a {
    display: block;
    margin-right: 0; } }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #B1B1B1;
  border-radius: 5px;
  background-color: #FFF;
  font-size: 1rem; }

.dropdown-pane.is-opening {
  display: block; }

.dropdown-pane.is-open {
  display: block;
  visibility: visible; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #16404d transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.dropdown.menu > li > a {
  background: #FFF;
  padding: 0.7rem 1rem; }

.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #16404d; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.dropdown.menu.vertical > li > a::after {
  right: 14px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #16404d transparent transparent;
  right: auto;
  left: 5px; }

.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #16404d; }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #16404d transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #16404d transparent transparent;
    right: auto;
    left: 5px; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #16404d; } }

@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #16404d transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #16404d transparent transparent;
    right: auto;
    left: 5px; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #16404d; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }

.is-dropdown-menu.vertical.align-right {
  float: right; }

.is-dropdown-submenu-parent {
  position: relative; }

.is-dropdown-submenu-parent a::after {
  position: absolute;
  top: 50%;
  right: 5px;
  left: auto;
  margin-top: -6px; }

.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
  top: 100%;
  left: auto; }

.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
  right: 100%;
  left: auto; }

.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #B1B1B1;
  background: #FFF; }

.dropdown .is-dropdown-submenu a {
  padding: 0.7rem 1rem; }

.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
  right: 14px; }

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #16404d transparent transparent;
  right: auto;
  left: 5px; }

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #16404d; }

.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: -1px; }

.is-dropdown-submenu > li {
  width: 100%; }

.is-dropdown-submenu.js-dropdown-active {
  display: block; }

.label {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 0;
  font-size: 1rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #FFF;
  color: #16404d; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

[data-whatinput='mouse'] .menu li {
  outline: 0; }

.menu a, .menu .button, .menu li.faux-button a, li.faux-button .menu a {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 0.7rem 1rem; }

.menu input, .menu select, .menu a, .menu button {
  margin-bottom: 0; }

.menu input {
  display: inline-block; }

.menu, .menu.horizontal {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.menu.vertical {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.menu.expanded li {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

.menu.simple {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.menu.simple li + li {
  margin-left: 1rem; }

.menu.simple a {
  padding: 0; }

@media print, screen and (min-width: 40em) {
  .menu.medium-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.medium-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.medium-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.medium-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  .menu.large-horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.large-vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .menu.large-expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.large-simple li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.menu.nested {
  margin-right: 0;
  margin-left: 1rem; }

.menu.icons a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.menu.icon-left li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap; }

.menu.icon-left li a img, .menu.icon-left li a i, .menu.icon-left li a svg {
  margin-right: 0.25rem; }

.menu.icon-right li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap; }

.menu.icon-right li a img, .menu.icon-right li a i, .menu.icon-right li a svg {
  margin-left: 0.25rem; }

.menu.icon-top li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }

.menu.icon-top li a img, .menu.icon-top li a i, .menu.icon-top li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center; }

.menu.icon-bottom li a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }

.menu.icon-bottom li a img, .menu.icon-bottom li a i, .menu.icon-bottom li a svg {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 0.25rem;
  text-align: center; }

.menu .is-active > a {
  background: #16404d;
  color: #FFF; }

.menu .active > a {
  background: #16404d;
  color: #FFF; }

.menu.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.menu.align-right li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.menu.align-right li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.menu.align-right.vertical li {
  display: block;
  text-align: right; }

.menu.align-right.vertical li .submenu li {
  text-align: right; }

.menu.align-right .nested {
  margin-right: 1rem;
  margin-left: 0; }

.menu.align-center li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.menu.align-center li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.menu .menu-text {
  padding: 0.7rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit; }

.menu-centered > .menu {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.menu-centered > .menu li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.menu-centered > .menu li .submenu li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.no-js [data-responsive-menu] ul {
  display: none; }

.pagination, ul.page-numbers {
  margin-left: 0;
  margin-bottom: 1rem; }

.pagination::before, ul.page-numbers::before, .pagination::after, ul.page-numbers::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.pagination::after, ul.page-numbers::after {
  clear: both; }

.pagination li, ul.page-numbers li {
  margin-right: 0.0625rem;
  border-radius: 5px;
  font-size: 1rem;
  display: none; }

.pagination li:last-child, ul.page-numbers li:last-child, .pagination li:first-child, ul.page-numbers li:first-child {
  display: inline-block; }

@media print, screen and (min-width: 40em) {
  .pagination li, ul.page-numbers li {
    display: inline-block; } }

.pagination a, ul.page-numbers a, .pagination button, ul.page-numbers button {
  display: block;
  padding: 0.1875rem 0.625rem;
  border-radius: 5px;
  color: #a6cdc6; }

.pagination a:hover, ul.page-numbers a:hover, .pagination a.active, ul.page-numbers a.active, .pagination button:hover, ul.page-numbers button:hover, .pagination button.active, ul.page-numbers button.active {
  background: none; }

.pagination .current, ul.page-numbers .current {
  padding: 0.1875rem 0.625rem;
  background: none;
  color: #16404d;
  cursor: default; }

.pagination .disabled, ul.page-numbers .disabled {
  padding: 0.1875rem 0.625rem;
  color: #B1B1B1;
  cursor: not-allowed; }

.pagination .disabled:hover, ul.page-numbers .disabled:hover, .pagination a.disabled.active, ul.page-numbers a.disabled.active, .pagination button.disabled.active, ul.page-numbers button.disabled.active {
  background: transparent; }

.pagination .ellipsis::after, ul.page-numbers .ellipsis::after {
  padding: 0.1875rem 0.625rem;
  content: '\2026';
  color: #16404d; }

.pagination-previous a::before, .pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: "«"; }

.pagination-next a::after, .pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: "»"; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 5px; }

thead, tbody, tfoot {
  border: 1px solid #e4e5e9;
  background-color: #FFF; }

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold; }

thead {
  background: #16404d;
  color: #FFF; }

tfoot {
  background: #F4F4F4;
  color: #16404d; }

thead tr, tfoot tr {
  background: transparent; }

thead th, thead td, tfoot th, tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
  text-align: left; }

tbody th, tbody td {
  padding: 0.5rem 0.625rem 0.625rem; }

tbody tr {
  border-bottom: 0;
  border-bottom: 1px solid #e4e5e9;
  background-color: #FFF; }

table.striped tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: #F4F4F4; }

@media print, screen and (max-width: 63.99875em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr, table.stack th, table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: #16404d; }

table.hover tfoot tr:hover {
  background-color: #F4F4F4; }

table.hover tbody tr:hover {
  background-color: #fafafa; }

table.hover.striped tr:nth-of-type(even):hover {
  background-color: #ededed; }

.table-scroll {
  overflow-x: auto; }

.tabs {
  margin: 0;
  border: 1px solid #E4E4E4;
  background: #FFF;
  list-style-type: none; }

.tabs::before, .tabs::after {
  display: table;
  content: ' ';
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.tabs::after {
  clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }

.tabs.simple > li > a:hover, .tabs.simple > li > a.active, li.faux-button .tabs.simple > li > a.active {
  background: transparent; }

.tabs.primary {
  background: #16404d; }

.tabs.primary > li > a {
  color: #FFF; }

.tabs.primary > li > a:hover, .tabs.primary > li > a.active, li.faux-button .tabs.primary > li > a.active, .tabs.primary > li > a:focus {
  background: #053c77; }

.tabs-title {
  float: left; }

.tabs-title > a {
  display: block;
  padding: 1.25rem 1.5rem;
  font-size: 0.75rem;
  line-height: 1;
  color: #16404d; }

[data-whatinput='mouse'] .tabs-title > a {
  outline: 0; }

.tabs-title > a:hover, .tabs-title > a.active, li.faux-button .tabs-title > a.active {
  background: #FFF;
  color: #032b55; }

.tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
  background: #E4E4E4;
  color: #16404d; }

.tabs-content {
  border: 1px solid #E4E4E4;
  border-top: 0;
  background: #FFF;
  color: #525245;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #E4E4E4;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }

.tabs-panel.is-active {
  display: block; }

/** MIXINS */
@-webkit-keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.scrollbar, .accordion__card.accordion__card_equalize .accordion-content, .cell.accordion.accordion__card .accordion-content, .cell .accordion__card .accordion .accordion-content {
  margin-bottom: 2rem; }

@media print, screen and (min-width: 40em) {
  .scrollbar, .accordion__card.accordion__card_equalize .accordion-content, .cell.accordion.accordion__card .accordion-content, .cell .accordion__card .accordion .accordion-content {
    overflow-y: scroll; }
  .scrollbar::-webkit-scrollbar, .accordion__card.accordion__card_equalize .accordion-content::-webkit-scrollbar, .cell.accordion.accordion__card .accordion-content::-webkit-scrollbar, .cell .accordion__card .accordion .accordion-content::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 8px; }
  .scrollbar::-webkit-scrollbar:vertical, .accordion__card.accordion__card_equalize .accordion-content::-webkit-scrollbar:vertical, .cell.accordion.accordion__card .accordion-content::-webkit-scrollbar:vertical, .cell .accordion__card .accordion .accordion-content::-webkit-scrollbar:vertical {
    width: 8px; }
  .scrollbar::-webkit-scrollbar:horizontal, .accordion__card.accordion__card_equalize .accordion-content::-webkit-scrollbar:horizontal, .cell.accordion.accordion__card .accordion-content::-webkit-scrollbar:horizontal, .cell .accordion__card .accordion .accordion-content::-webkit-scrollbar:horizontal {
    height: 8px; }
  .scrollbar::-webkit-scrollbar-thumb, .accordion__card.accordion__card_equalize .accordion-content::-webkit-scrollbar-thumb, .cell.accordion.accordion__card .accordion-content::-webkit-scrollbar-thumb, .cell .accordion__card .accordion .accordion-content::-webkit-scrollbar-thumb {
    border-radius: 8px;
    border: 1px solid #F4F4F4;
    /* should match background, can't be transparent */
    background-color: rgba(0, 0, 0, 0.5); } }

/** 1. Avoid the IE 10-11 `min-height` bug. 2. Set `flex-shrink` to `0` to prevent some browsers from letting these items shrink to smaller than their content's default minimum size. See http://bit.ly/1Mn35US for details. 3. Use `%` instead of `vh` since `vh` is buggy in older mobile Safari. */
html {
  height: 100%; }

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%; }

.site-header, .site-footer {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none; }

.site-content {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding: var(--space) var(--space) 0;
  width: 100%; }

.site-content::after {
  content: '\00a0';
  display: block;
  margin-top: var(--space);
  height: 0px;
  visibility: hidden; }

/** GRID X-Y */
.grid-container-wrapper {
  width: 100%; }

.grid-container.grid-container-collapse {
  padding-left: 0;
  padding-right: 0; }

.accordion .accordion-title {
  padding: 10px 0 10px 0;
  text-decoration: none;
  border: 0;
  border-bottom: 2px solid #e4e5e9; }

.accordion .accordion-title h5, .accordion .accordion-title section .free_text blockquote p, section .free_text blockquote .accordion .accordion-title p, .accordion .accordion-title .h5 {
  max-width: 95%;
  margin-bottom: 10px;
  margin-top: 10px; }

.accordion .accordion-title:before {
  content: "";
  background: url(../../../elf-theme/assets/icons/down-arrow.svg);
  background-size: 15px 11px;
  width: 15px;
  height: 11px;
  right: 10px;
  margin-top: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.25s;
  transition: -webkit-transform 0.25s;
  -o-transition: transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .accordion .accordion-title:before {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
            mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
    -webkit-mask-size: 15px 11px;
            mask-size: 15px 11px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.accordion .accordion-title:hover, .accordion a.accordion-title.active, .accordion button.accordion-title.active, .accordion .accordion-title:focus {
  background-color: transparent; }

.accordion .accordion-content {
  border: 0;
  margin-top: 15px; }

.accordion .accordion-content a {
  position: relative;
  z-index: 1; }

@media print, screen and (min-width: 40em) {
  .accordion .accordion-content p {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; } }

.accordion .accordion-item.is-active .accordion-title:before {
  -webkit-transform: translateY(-50%) rotate(-180deg);
      -ms-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg); }

.accordion.accordion__grid .accordion-content .card.card__tile .tile--wrap {
  padding: 20px;
  min-height: 150px;
  display: table;
  text-align: center;
  margin: auto; }

.accordion.accordion__grid .accordion-content .card.card__tile .tile--wrap .tile--inner {
  display: table-cell;
  vertical-align: middle; }

.accordion.accordion__info {
  margin-bottom: 0; }

@media print, screen and (min-width: 40em) {
  .accordion.accordion__info .grid-container {
    padding-left: 55px; } }

.accordion.accordion__info .accordion-title {
  border-bottom: none !important;
  background-color: #16404d;
  color: #a6cdc6;
  margin-bottom: 0px; }

@media print, screen and (min-width: 40em) {
  .accordion.accordion__info .accordion-title {
    padding: 10px 80px; } }

.accordion.accordion__info .accordion-title img {
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px; }

.accordion.accordion__info .accordion-title h4 {
  display: inline-block;
  vertical-align: middle;
  margin-top: 20px !important; }

.accordion.accordion__info .accordion-title h4.paragraph {
  margin-top: 0 !important;
  margin-bottom: 0; }

.accordion.accordion__info .accordion-title:before {
  background: url(../../../elf-theme/assets/icons/down-arrow-white.svg);
  background-size: 15px 11px;
  right: 40px;
  top: 55%; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .accordion.accordion__info .accordion-title:before {
    background: #FFF;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/down-arrow-white.svg);
            mask-image: url(../../../elf-theme/assets/icons/down-arrow-white.svg);
    -webkit-mask-size: 15px 11px;
            mask-size: 15px 11px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

@media print, screen and (min-width: 40em) {
  .accordion.accordion__info .accordion-title:before {
    right: 150px; } }

@media print, screen and (min-width: 64em) {
  .accordion.accordion__info .accordion-title:before {
    right: 210px; } }

.accordion.accordion__info .accordion-title:after {
  background: url(../../../elf-theme/assets/icons/down-arrow-white.svg);
  background-size: 15px 11px;
  left: 0;
  top: 55%;
  border: 1px solid black; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .accordion.accordion__info .accordion-title:after {
    background: #FFF;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/down-arrow-white.svg);
            mask-image: url(../../../elf-theme/assets/icons/down-arrow-white.svg);
    -webkit-mask-size: 15px 11px;
            mask-size: 15px 11px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.accordion.accordion__info .accordion-content {
  background-color: #F4F4F4;
  color: #767175; }

@media print, screen and (min-width: 40em) {
  .accordion.accordion__info .accordion-content {
    padding: 30px 80px; } }

.accordion.accordion__info .accordion-content p {
  margin-bottom: 10px; }

.accordion.accordion__card {
  list-style: none !important; }

.accordion.accordion__card.publication {
  margin-bottom: 40px; }

.accordion.accordion__card .accordion-item, .accordion.accordion__card [data-accordion-item] {
  display: block;
  overflow: hidden !important; }

.accordion.accordion__card .accordion-item .accordion-title, .accordion.accordion__card [data-accordion-item] .accordion-title {
  text-align: center;
  border: 0;
  text-decoration: none;
  padding: 0; }

.accordion.accordion__card .accordion-item .accordion-title:before, .accordion.accordion__card [data-accordion-item] .accordion-title:before {
  content: "";
  background: url(../../../elf-theme/assets/icons/down-arrow.svg);
  background-size: 15px 11px;
  width: 15px;
  height: 11px;
  top: 20px;
  right: 0;
  margin-top: 0; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .accordion.accordion__card .accordion-item .accordion-title:before, .accordion.accordion__card [data-accordion-item] .accordion-title:before {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
            mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
    -webkit-mask-size: 15px 11px;
            mask-size: 15px 11px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.accordion.accordion__card .accordion-item .accordion-title:hover, .accordion.accordion__card .accordion-item a.accordion-title.active, .accordion.accordion__card .accordion-item button.accordion-title.active, .accordion.accordion__card .accordion-item .accordion-title:focus, .accordion.accordion__card [data-accordion-item] .accordion-title:hover, .accordion.accordion__card [data-accordion-item] a.accordion-title.active, .accordion.accordion__card [data-accordion-item] button.accordion-title.active, .accordion.accordion__card [data-accordion-item] .accordion-title:focus {
  background-color: transparent; }

.accordion.accordion__card .accordion-item .accordion-title:hover:before, .accordion.accordion__card .accordion-item a.accordion-title.active:before, .accordion.accordion__card .accordion-item button.accordion-title.active:before, .accordion.accordion__card .accordion-item .accordion-title:focus:before, .accordion.accordion__card [data-accordion-item] .accordion-title:hover:before, .accordion.accordion__card [data-accordion-item] a.accordion-title.active:before, .accordion.accordion__card [data-accordion-item] button.accordion-title.active:before, .accordion.accordion__card [data-accordion-item] .accordion-title:focus:before {
  border-color: #FFF transparent transparent; }

.accordion.accordion__card .accordion-item .accordion-title .subheading, .accordion.accordion__card [data-accordion-item] .accordion-title .subheading {
  display: block;
  padding-right: 40px; }

.accordion.accordion__card .accordion-item .accordion-content, .accordion.accordion__card [data-accordion-item] .accordion-content {
  border: 0;
  padding: 0; }

.accordion.accordion__card .accordion-item.is-active .accordion-title:before, .accordion.accordion__card [data-accordion-item].is-active .accordion-title:before {
  -webkit-transform: translateY(-50%) rotate(-180deg);
      -ms-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg); }

.accordion.accordion__card .accordion-item .link, .accordion.accordion__card [data-accordion-item] .link {
  display: block;
  color: #16404d;
  margin-bottom: 1rem;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  cursor: pointer; }

.accordion.accordion__card.accordion__card_noimg .accordion-title {
  text-align: left; }

.accordion.accordion__card.accordion__card_noimg .accordion__content {
  width: 95%; }

.accordion__card.greyBg, .accordion__card.tab-colour-bg {
  background-color: #F4F4F4; }

.accordion__card.greyBg .accordion-item, .accordion__card.tab-colour-bg .accordion-item {
  background-color: #F4F4F4; }

.accordion__card.greyBg .accordion-content, .accordion__card.tab-colour-bg .accordion-content {
  background-color: #F4F4F4; }

.accordion__card .tag {
  display: block; }

@media print, screen and (min-width: 40em) {
  .accordion__card .tag.button, .accordion__card li.faux-button a.tag, li.faux-button .accordion__card a.tag {
    margin-bottom: 10px; } }

.accordion__card .accordion_tag {
  color: #16404d !important;
  border: 1px solid #16404d !important;
  display: inline-block !important;
  margin: 15px !important;
  padding: 10px !important; }

.accordion__card .accordion_tag.no_margin {
  margin: 15px 15px 15px 0 !important; }

.accordion__card.accordion__card_equalize {
  position: relative;
  margin-bottom: 40px; }

.accordion__card.accordion__card_equalize .brow .tag {
  border: solid 1px lime;
  margin-bottom: 10px; }

.accordion__card.accordion__card_equalize .accordion-title {
  position: relative;
  padding: 0;
  margin: 0; }

.accordion__card.accordion__card_equalize .accordion-title:before {
  top: 1em;
  right: 0; }

.accordion__card.accordion__card_equalize .accordion-title .pushdown__heading {
  margin: 0 0 1rem;
  padding: 0 24px 0 0;
  text-align: left; }

.accordion__card.accordion__card_equalize .accordion-title h3, .accordion__card.accordion__card_equalize .accordion-title .h4, .accordion__card.accordion__card_equalize .accordion-title .h5 {
  max-width: 95%; }

.accordion__card.accordion__card_boxed .tag {
  padding: 1rem 1rem 0; }

.accordion__card.accordion__card_boxed .accordion-title .pushdown__heading {
  margin: 0 1rem 1rem;
  max-width: 100%; }

.accordion__card.accordion__card_boxed .accordion-content {
  padding-left: 20px; }

.accordion__card.accordion__card_boxed .link {
  padding: 1.5rem 20px; }

.card__expandable .accordion-title {
  z-index: 1; }

.card__expandable .accordion-title:before {
  content: none !important; }

.card__expandable h5, .card__expandable section .free_text blockquote p, section .free_text blockquote .card__expandable p, .card__expandable .h5 {
  position: relative;
  padding-right: 30px; }

.card__expandable h5:before, .card__expandable section .free_text blockquote p:before, section .free_text blockquote .card__expandable p:before, .card__expandable .h5:before {
  content: "";
  background: url(../../../elf-theme/assets/icons/down-arrow.svg);
  background-size: 15px 11px;
  width: 15px;
  height: 11px;
  position: absolute;
  top: 16px;
  right: 0;
  margin-top: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.25s;
  transition: -webkit-transform 0.25s;
  -o-transition: transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .card__expandable h5:before, .card__expandable section .free_text blockquote p:before, section .free_text blockquote .card__expandable p:before, .card__expandable .h5:before {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
            mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
    -webkit-mask-size: 15px 11px;
            mask-size: 15px 11px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.cell.accordion.accordion__card .accordion-content, .cell .accordion__card .accordion .accordion-content {
  margin-bottom: 1rem; }

:last-child:not(.is-active) > .accordion-title {
  border-bottom: 2px solid #e4e5e9; }

.is-active .accordion-title-no-border, :last-child:not(.is-active) > .accordion-title-no-border, :last-child > .accordion-content:last-child {
  border-bottom: 0 !important; }

.accordion-full .accordion-content {
  border-left: 5px solid #79d7be; }

details {
  color: #16404d; }

details summary {
  position: relative;
  cursor: pointer; }

details summary::marker, details summary::-webkit-details-marker {
  content: '';
  display: none; }

details summary:after {
  content: "";
  background: url(../../../elf-theme/assets/icons/down-arrow.svg);
  background-size: 15px 11px;
  width: 15px;
  height: 11px;
  display: inline-block;
  position: relative;
  top: 0px;
  right: -12px;
  margin-top: 0;
  -webkit-transition: -webkit-transform 0.25s;
  transition: -webkit-transform 0.25s;
  -o-transition: transform 0.25s;
  transition: transform 0.25s;
  transition: transform 0.25s, -webkit-transform 0.25s; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  details summary:after {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
            mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
    -webkit-mask-size: 15px 11px;
            mask-size: 15px 11px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

details[open] summary:after {
  -webkit-transform: rotate(-180deg);
      -ms-transform: rotate(-180deg);
          transform: rotate(-180deg); }

.accordion__sidebar_section .accordion.accordion__sidebar {
  margin-bottom: 0.625rem; }

.accordion__sidebar_section .accordion.accordion__sidebar .accordion-title {
  padding: 20px 0 5px 0;
  margin-bottom: 20px; }

.accordion__sidebar_section .accordion.accordion__sidebar .accordion-content {
  padding: 20px; }

.accordion__sidebar_section .accordion.accordion__sidebar .accordion-content .card {
  margin-bottom: 20px; }

.accordion__sidebar_section .accordion.accordion__sidebar .accordion-content .card .accordion_sidebar_span {
  height: 11px;
  width: 2px;
  position: relative;
  display: inline-block;
  margin: auto 5px auto 0; }

.caption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 6px; }

.caption.date:before, .caption.time:before, .caption.location:before, .caption.address:before {
  content: "";
  top: 50%;
  left: 0;
  margin-right: 12px;
  position: relative;
  display: inline-block;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  text-decoration: none; }

.caption.date:before, .caption.time:before {
  height: 17px;
  width: 17px;
  background: url(../../../elf-theme/assets/icons/time-icon.svg) no-repeat center center/contain; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .caption.date:before, .caption.time:before {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/time-icon.svg);
            mask-image: url(../../../elf-theme/assets/icons/time-icon.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center center;
            mask-position: center center; } }

@media print, screen and (max-width: 63.99875em) {
  .caption.date:before, .caption.time:before {
    margin-top: 11px; } }

.caption.location a, .caption.address a {
  text-decoration: none; }

.caption.location:before, .caption.address:before {
  height: 21px;
  width: 17px;
  background: url(../../../elf-theme/assets/icons/pin.svg) no-repeat center center/contain; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .caption.location:before, .caption.address:before {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/pin.svg);
            mask-image: url(../../../elf-theme/assets/icons/pin.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center center;
            mask-position: center center; } }

/** Colors  */
/* Color variable defined in   ~/scss/settings/_settings.scss  */
/* Loops thru $colors and create  color background-color  border (uncomment border section below to render) */
.color-black {
  color: #000; }

.color-black-bg {
  background-color: #000; }

.color-white {
  color: #FFF; }

.color-white-bg {
  background-color: #FFF; }

.color-light-gray {
  color: #E4E4E4; }

.color-light-gray-bg {
  background-color: #E4E4E4; }

.color-medium-gray {
  color: #B1B1B1; }

.color-medium-gray-bg {
  background-color: #B1B1B1; }

.color-dark-gray {
  color: #707070; }

.color-dark-gray-bg {
  background-color: #707070; }

.color-wrap-grey {
  color: #F4F4F4; }

.color-wrap-grey-bg {
  background-color: #F4F4F4; }

/** Background colours */
.bg-transparent {
  background-color: transparent !important; }

/** Background */
.bg {
  position: relative;
  background-repeat: no-repeat; }

.bg.bg-cover {
  background-size: cover; }

.bg.bg-center {
  background-position: center center; }

.bg.bg-tint:before {
  position: absolute;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  content: ' ';
  background: rgba(0, 0, 0, 0.5); }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], textarea, select {
  border-bottom: 2px solid #16404d;
  padding: .46875rem; }

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus, textarea:focus, select:focus {
  border-bottom: 2px solid #16404d;
  padding: .46875rem; }

[type='text']::-webkit-input-placeholder, [type='password']::-webkit-input-placeholder, [type='date']::-webkit-input-placeholder, [type='datetime']::-webkit-input-placeholder, [type='datetime-local']::-webkit-input-placeholder, [type='month']::-webkit-input-placeholder, [type='week']::-webkit-input-placeholder, [type='email']::-webkit-input-placeholder, [type='number']::-webkit-input-placeholder, [type='search']::-webkit-input-placeholder, [type='tel']::-webkit-input-placeholder, [type='time']::-webkit-input-placeholder, [type='url']::-webkit-input-placeholder, [type='color']::-webkit-input-placeholder, textarea::-webkit-input-placeholder, select::-webkit-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  opacity: 1;
  /* Firefox */ }

[type='text']::-moz-placeholder, [type='password']::-moz-placeholder, [type='date']::-moz-placeholder, [type='datetime']::-moz-placeholder, [type='datetime-local']::-moz-placeholder, [type='month']::-moz-placeholder, [type='week']::-moz-placeholder, [type='email']::-moz-placeholder, [type='number']::-moz-placeholder, [type='search']::-moz-placeholder, [type='tel']::-moz-placeholder, [type='time']::-moz-placeholder, [type='url']::-moz-placeholder, [type='color']::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  opacity: 1;
  /* Firefox */ }

[type='text']:-ms-input-placeholder, [type='password']:-ms-input-placeholder, [type='date']:-ms-input-placeholder, [type='datetime']:-ms-input-placeholder, [type='datetime-local']:-ms-input-placeholder, [type='month']:-ms-input-placeholder, [type='week']:-ms-input-placeholder, [type='email']:-ms-input-placeholder, [type='number']:-ms-input-placeholder, [type='search']:-ms-input-placeholder, [type='tel']:-ms-input-placeholder, [type='time']:-ms-input-placeholder, [type='url']:-ms-input-placeholder, [type='color']:-ms-input-placeholder, textarea:-ms-input-placeholder, select:-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  opacity: 1;
  /* Firefox */ }

[type='text']::-ms-input-placeholder, [type='password']::-ms-input-placeholder, [type='date']::-ms-input-placeholder, [type='datetime']::-ms-input-placeholder, [type='datetime-local']::-ms-input-placeholder, [type='month']::-ms-input-placeholder, [type='week']::-ms-input-placeholder, [type='email']::-ms-input-placeholder, [type='number']::-ms-input-placeholder, [type='search']::-ms-input-placeholder, [type='tel']::-ms-input-placeholder, [type='time']::-ms-input-placeholder, [type='url']::-ms-input-placeholder, [type='color']::-ms-input-placeholder, textarea::-ms-input-placeholder, select::-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  opacity: 1;
  /* Firefox */ }

[type='text']::placeholder, [type='password']::placeholder, [type='date']::placeholder, [type='datetime']::placeholder, [type='datetime-local']::placeholder, [type='month']::placeholder, [type='week']::placeholder, [type='email']::placeholder, [type='number']::placeholder, [type='search']::placeholder, [type='tel']::placeholder, [type='time']::placeholder, [type='url']::placeholder, [type='color']::placeholder, textarea::placeholder, select::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  opacity: 1;
  /* Firefox */ }

textarea {
  background: #FFF;
  padding: 14px;
  border: none;
  resize: none; }

textarea:focus {
  border: none; }

select {
  background-color: transparent; }

select:focus {
  background-color: transparent; }

.signup__form {
  position: relative;
  overflow: hidden;
  margin-top: -20px !important; }

.signup__form .bg__img {
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 70px;
  padding-bottom: 70px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  background-position: center; }

@media print, screen and (min-width: 40em) {
  .signup__form {
    margin-top: -40px !important; } }

@media print, screen and (min-width: 64em) {
  .signup__form {
    margin-top: -70px !important; } }

@media print, screen and (max-width: 63.99875em) {
  .signup__form .signup__form_container {
    margin-bottom: 0px; } }

@media print, screen and (max-width: 39.99875em) {
  .signup__form {
    background-color: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .signup__form .signup__form_container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-bottom: 20px; }
  .signup__form .signup__form_container .grid-x {
    background-color: #79d7be;
    padding: 25px; } }

.signup__form * {
  color: #16404d; }

.signup__form [type='text'], .signup__form [type='password'], .signup__form [type='date'], .signup__form [type='datetime'], .signup__form [type='datetime-local'], .signup__form [type='month'], .signup__form [type='week'], .signup__form [type='email'], .signup__form [type='number'], .signup__form [type='search'], .signup__form [type='tel'], .signup__form [type='time'], .signup__form [type='url'], .signup__form [type='color'], .signup__form textarea, .signup__form select {
  padding-left: 10px;
  padding-right: 10px;
  font-weight: bold;
  color: #16404d !important; }

.signup__form [type='text']::-webkit-input-placeholder, .signup__form [type='password']::-webkit-input-placeholder, .signup__form [type='date']::-webkit-input-placeholder, .signup__form [type='datetime']::-webkit-input-placeholder, .signup__form [type='datetime-local']::-webkit-input-placeholder, .signup__form [type='month']::-webkit-input-placeholder, .signup__form [type='week']::-webkit-input-placeholder, .signup__form [type='email']::-webkit-input-placeholder, .signup__form [type='number']::-webkit-input-placeholder, .signup__form [type='search']::-webkit-input-placeholder, .signup__form [type='tel']::-webkit-input-placeholder, .signup__form [type='time']::-webkit-input-placeholder, .signup__form [type='url']::-webkit-input-placeholder, .signup__form [type='color']::-webkit-input-placeholder, .signup__form textarea::-webkit-input-placeholder, .signup__form select::-webkit-input-placeholder {
  font-weight: bold;
  color: #16404d; }

.signup__form [type='text']::-moz-placeholder, .signup__form [type='password']::-moz-placeholder, .signup__form [type='date']::-moz-placeholder, .signup__form [type='datetime']::-moz-placeholder, .signup__form [type='datetime-local']::-moz-placeholder, .signup__form [type='month']::-moz-placeholder, .signup__form [type='week']::-moz-placeholder, .signup__form [type='email']::-moz-placeholder, .signup__form [type='number']::-moz-placeholder, .signup__form [type='search']::-moz-placeholder, .signup__form [type='tel']::-moz-placeholder, .signup__form [type='time']::-moz-placeholder, .signup__form [type='url']::-moz-placeholder, .signup__form [type='color']::-moz-placeholder, .signup__form textarea::-moz-placeholder, .signup__form select::-moz-placeholder {
  font-weight: bold;
  color: #16404d; }

.signup__form [type='text']:-ms-input-placeholder, .signup__form [type='password']:-ms-input-placeholder, .signup__form [type='date']:-ms-input-placeholder, .signup__form [type='datetime']:-ms-input-placeholder, .signup__form [type='datetime-local']:-ms-input-placeholder, .signup__form [type='month']:-ms-input-placeholder, .signup__form [type='week']:-ms-input-placeholder, .signup__form [type='email']:-ms-input-placeholder, .signup__form [type='number']:-ms-input-placeholder, .signup__form [type='search']:-ms-input-placeholder, .signup__form [type='tel']:-ms-input-placeholder, .signup__form [type='time']:-ms-input-placeholder, .signup__form [type='url']:-ms-input-placeholder, .signup__form [type='color']:-ms-input-placeholder, .signup__form textarea:-ms-input-placeholder, .signup__form select:-ms-input-placeholder {
  font-weight: bold;
  color: #16404d; }

.signup__form [type='text']::-ms-input-placeholder, .signup__form [type='password']::-ms-input-placeholder, .signup__form [type='date']::-ms-input-placeholder, .signup__form [type='datetime']::-ms-input-placeholder, .signup__form [type='datetime-local']::-ms-input-placeholder, .signup__form [type='month']::-ms-input-placeholder, .signup__form [type='week']::-ms-input-placeholder, .signup__form [type='email']::-ms-input-placeholder, .signup__form [type='number']::-ms-input-placeholder, .signup__form [type='search']::-ms-input-placeholder, .signup__form [type='tel']::-ms-input-placeholder, .signup__form [type='time']::-ms-input-placeholder, .signup__form [type='url']::-ms-input-placeholder, .signup__form [type='color']::-ms-input-placeholder, .signup__form textarea::-ms-input-placeholder, .signup__form select::-ms-input-placeholder {
  font-weight: bold;
  color: #16404d; }

.signup__form [type='text']::placeholder, .signup__form [type='password']::placeholder, .signup__form [type='date']::placeholder, .signup__form [type='datetime']::placeholder, .signup__form [type='datetime-local']::placeholder, .signup__form [type='month']::placeholder, .signup__form [type='week']::placeholder, .signup__form [type='email']::placeholder, .signup__form [type='number']::placeholder, .signup__form [type='search']::placeholder, .signup__form [type='tel']::placeholder, .signup__form [type='time']::placeholder, .signup__form [type='url']::placeholder, .signup__form [type='color']::placeholder, .signup__form textarea::placeholder, .signup__form select::placeholder {
  font-weight: bold;
  color: #16404d; }

.signup__form .form-content {
  padding: 30px 0;
  background-color: #79d7be;
  padding: 25px;
  border-radius: 5px; }

@media print, screen and (min-width: 40em) {
  .signup__form .form-content {
    padding: 32px 40px; } }

.signup__form form {
  margin-top: 40px; }

.signup__form form input:not(.button), .signup__form form input:focus:not(.button) {
  color: #a6cdc6;
  background-image: none !important;
  border-bottom-color: #FFF;
  -webkit-box-shadow: none;
          box-shadow: none; }

.signup__form form label {
  margin-top: 20px; }

.signup__form .button, .signup__form li.faux-button a, li.faux-button .signup__form a {
  margin-top: 16px; }

@media print, screen and (max-width: 63.99875em) {
  .signup__form img {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; } }

@media print, screen and (min-width: 40em) {
  .signup__form img {
    margin-top: 0;
    position: absolute;
    top: 0;
    left: 50%;
    left: calc(50% + 20px);
    width: 50%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; } }

form#load_more {
  padding-top: 50px; }

form#load_more #loadMore {
  margin: 0 auto; }

.gform_wrapper {
  position: relative; }

.gform_wrapper form {
  margin-top: 0; }

.gform_wrapper .gform_fields {
  list-style: none;
  margin-left: 0; }

.gform_wrapper .hidden_label legend.gfield_label {
  display: none; }

.gform_wrapper .gf_progressbar {
  display: none; }

.gform_wrapper .gform_title {
  margin-bottom: 2.5rem; }

@media print, screen and (min-width: 40em) {
  .gform_wrapper .gform_title {
    margin-bottom: 3rem; } }

.gform_wrapper .ginput_container_date span.screen-reader-text {
  display: none; }

.gform_wrapper .ginput_container_checkbox ul.gfield_checkbox, .gform_wrapper .ginput_container_checkbox ul.gfield_radio, .gform_wrapper .ginput_container_radio ul.gfield_checkbox, .gform_wrapper .ginput_container_radio ul.gfield_radio {
  margin: 20px 0px !important; }

.gform_wrapper .ginput_container_checkbox ul.gfield_checkbox li::before, .gform_wrapper .ginput_container_checkbox ul.gfield_radio li::before, .gform_wrapper .ginput_container_radio ul.gfield_checkbox li::before, .gform_wrapper .ginput_container_radio ul.gfield_radio li::before {
  content: unset !important; }

.gform_wrapper .ginput_container_textarea textarea {
  border-radius: 5px !important;
  background-color: #f4f4f4 !important; }

.gform_wrapper .gform_validation_container {
  display: none; }

@media print, screen and (min-width: 40em) {
  .gform_wrapper .ginput_container_name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px; }
  .gform_wrapper .ginput_container_name > span {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; } }

.gform_wrapper .gfield_list {
  margin-bottom: 0; }

.gform_wrapper thead, .gform_wrapper tbody, .gform_wrapper tbody tr, .gform_wrapper tfoot {
  background: none;
  border: none; }

.gform_wrapper tbody td {
  padding-left: 0;
  padding-bottom: 0; }

.gform_wrapper .ginput_container_textarea textarea {
  background: #FFF !important; }

.gform_wrapper .gfield_consent_label {
  margin-top: 10px;
  color: #525245; }

.gform_wrapper textarea {
  margin-top: 10px; }

.gform_wrapper .gf_margin_btm {
  margin-bottom: 20px; }

.validation_error, .validation_message {
  color: #ad0031;
  margin-bottom: 20px; }

.validation_message {
  margin-top: -20px; }

[aria-invalid=true], .gfield_error input, .gfield_error select {
  border-bottom-color: #ad0031;
  color: #525245;
  background: url(../../../elf-theme/assets/icons/error@2x.png) no-repeat center right 5px/17px 18px; }

[aria-invalid=true]::-webkit-input-placeholder, .gfield_error input::-webkit-input-placeholder, .gfield_error select::-webkit-input-placeholder {
  color: #ad0031; }

[aria-invalid=true]::-moz-placeholder, .gfield_error input::-moz-placeholder, .gfield_error select::-moz-placeholder {
  color: #ad0031; }

[aria-invalid=true]:-ms-input-placeholder, .gfield_error input:-ms-input-placeholder, .gfield_error select:-ms-input-placeholder {
  color: #ad0031; }

[aria-invalid=true]::-ms-input-placeholder, .gfield_error input::-ms-input-placeholder, .gfield_error select::-ms-input-placeholder {
  color: #ad0031; }

[aria-invalid=true]::placeholder, .gfield_error input::placeholder, .gfield_error select::placeholder {
  color: #ad0031; }

.gfield_label {
  font-family: "Avenir LT W01_65 Medium1475532",sans-serif; }

.gfield_error .gfield_label, .gfield_error .gfield_label span {
  color: #ad0031; }

.gfield_error .ginput_container_fileupload, .gfield_error .ginput_recaptcha {
  margin-bottom: 20px; }

textarea[aria-invalid=true] {
  background: none; }

.gform_confirmation_wrapper {
  text-align: center;
  margin-bottom: 70px; }

.gform_confirmation_wrapper .gform_confirmation_message {
  color: #16404d;
  font-size: 1.25rem; }

.gform_anchor {
  position: absolute;
  top: -150px; }

.gform_margin_top {
  margin-top: 20px; }

/** Buttons and links */
a, button, a.button, li.faux-button a, li.faux-button a {
  position: relative; }

a.donate_btn, button.donate_btn, a.button.donate_btn, li.faux-button a.donate_btn, li.faux-button a.donate_btn {
  border-radius: 23px; }

a {
  text-underline-position: under;
  -webkit-transition: color 0.25s;
  -o-transition: color 0.25s;
  transition: color 0.25s; }

button, a.button, li.faux-button a, li.faux-button a, input.button, .button:visited, li.faux-button a:visited {
  position: relative;
  text-decoration: none;
  cursor: pointer; }

.touch button:not(input[type="submit"]):hover, .touch button.active:not(input[type="submit"]), .touch a.button:not(input[type="submit"]):hover, .touch a.button.active:not(input[type="submit"]), .touch li.faux-button a.active:not(input[type="submit"]), li.faux-button .touch a.active:not(input[type="submit"]), .touch li.faux-button a:not(input[type="submit"]):hover, li.faux-button .touch a:not(input[type="submit"]):hover, .touch li.faux-button a:not(input[type="submit"]):hover, .touch li.faux-button a.active:not(input[type="submit"]), .touch input.button:not(input[type="submit"]):hover, .touch .button:visited:not(input[type="submit"]):hover, .touch a.button.active:visited:not(input[type="submit"]), .touch li.faux-button a.active:visited:not(input[type="submit"]), li.faux-button .touch a.active:visited:not(input[type="submit"]), .touch button.button.active:visited:not(input[type="submit"]), .touch li.faux-button a:visited:not(input[type="submit"]):hover, li.faux-button .touch a:visited:not(input[type="submit"]):hover {
  background: #79d7be -o-radial-gradient(circle, transparent 1%, #79d7be 1%) center/15000%;
  background: #79d7be radial-gradient(circle, transparent 1%, #79d7be 1%) center/15000%; }

.touch button:not(input[type="submit"]):active, .touch a.button:not(input[type="submit"]):active, .touch li.faux-button a:not(input[type="submit"]):active, li.faux-button .touch a:not(input[type="submit"]):active, .touch li.faux-button a:not(input[type="submit"]):active, .touch input.button:not(input[type="submit"]):active, .touch .button:visited:not(input[type="submit"]):active, .touch li.faux-button a:visited:not(input[type="submit"]):active, li.faux-button .touch a:visited:not(input[type="submit"]):active {
  background-color: #ffd131;
  background-size: 100%;
  -webkit-transition: background 0s;
  -o-transition: background 0s;
  transition: background 0s; }

button:after, a.button:after, li.faux-button a:after, li.faux-button a:after, input.button:after, .button:visited:after, li.faux-button a:visited:after {
  content: '';
  display: block;
  width: 8px;
  height: 15px;
  position: absolute;
  top: 50%;
  right: 25px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("../../../elf-theme/assets/icons/arrow-btn-blue.svg") no-repeat center center/contain; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  button:after, a.button:after, li.faux-button a:after, li.faux-button a:after, input.button:after, .button:visited:after, li.faux-button a:visited:after {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/arrow-btn-blue.svg);
            mask-image: url(../../../elf-theme/assets/icons/arrow-btn-blue.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center center;
            mask-position: center center; } }

button:hover:after, button.active:after, button:active:after, a.button:hover:after, a.button.active:after, li.faux-button a.active:after, li.faux-button a:hover:after, a.button:active:after, li.faux-button a:active:after, li.faux-button a:hover:after, li.faux-button a.active:after, li.faux-button a:active:after, input.button:hover:after, input.button:active:after, .button:visited:hover:after, a.button.active:visited:after, li.faux-button a.active:visited:after, button.button.active:visited:after, li.faux-button a:visited:hover:after, .button:visited:active:after, li.faux-button a:visited:active:after {
  background-image: url("../../../elf-theme/assets/icons/arrow-btn-yellow.svg"); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  button:hover:after, button.active:after, button:active:after, a.button:hover:after, a.button.active:after, li.faux-button a.active:after, li.faux-button a:hover:after, a.button:active:after, li.faux-button a:active:after, li.faux-button a:hover:after, li.faux-button a.active:after, li.faux-button a:active:after, input.button:hover:after, input.button:active:after, .button:visited:hover:after, a.button.active:visited:after, li.faux-button a.active:visited:after, button.button.active:visited:after, li.faux-button a:visited:hover:after, .button:visited:active:after, li.faux-button a:visited:active:after {
    background: #79d7be;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/arrow-btn-yellow.svg);
            mask-image: url(../../../elf-theme/assets/icons/arrow-btn-yellow.svg); } }

button.primary, button.primary:visited, button.primary:active, a.button.primary, li.faux-button a.primary, a.button.primary:visited, li.faux-button a.primary:visited, a.button.primary:active, li.faux-button a.primary:active, li.faux-button a.primary, li.faux-button a.primary:visited, li.faux-button a.primary:active, input.button.primary, input.button.primary:visited, input.button.primary:active, .button:visited.primary, li.faux-button a:visited.primary, .button:visited.primary:visited, li.faux-button a:visited.primary:visited, .button:visited.primary:active, li.faux-button a:visited.primary:active {
  background-color: #79d7be;
  color: #16404d; }

button.primary:hover, button.primary.active, button.primary:active, button.primary:visited:hover, button.primary.active:visited, button.primary:visited:active, button.primary:active:hover, button.primary.active:active, button.primary:active:active, a.button.primary:hover, a.button.primary.active, li.faux-button a.primary.active, li.faux-button a.primary:hover, a.button.primary:active, li.faux-button a.primary:active, a.button.primary:visited:hover, a.button.primary.active:visited, li.faux-button a.primary.active:visited, li.faux-button a.primary:visited:hover, a.button.primary:visited:active, li.faux-button a.primary:visited:active, a.button.primary:active:hover, a.button.primary.active:active, li.faux-button a.primary.active:active, li.faux-button a.primary:active:hover, a.button.primary:active:active, li.faux-button a.primary:active:active, li.faux-button a.primary:hover, li.faux-button a.primary.active, li.faux-button a.primary:active, li.faux-button a.primary:visited:hover, li.faux-button a.primary.active:visited, li.faux-button a.primary:visited:active, li.faux-button a.primary:active:hover, li.faux-button a.primary.active:active, li.faux-button a.primary:active:active, input.button.primary:hover, input.button.primary:active, input.button.primary:visited:hover, input.button.primary:visited:active, input.button.primary:active:hover, input.button.primary:active:active, .button:visited.primary:hover, a.button.active:visited.primary, li.faux-button a.active:visited.primary, button.button.active:visited.primary, li.faux-button a:visited.primary:hover, .button:visited.primary:active, li.faux-button a:visited.primary:active, .button:visited.primary:visited:hover, a.button.active:visited.primary:visited, li.faux-button a.active:visited.primary:visited, button.button.active:visited.primary:visited, li.faux-button a:visited.primary:visited:hover, .button:visited.primary:visited:active, li.faux-button a:visited.primary:visited:active, .button:visited.primary:active:hover, a.button.active:visited.primary:active, li.faux-button a.active:visited.primary:active, button.button.active:visited.primary:active, li.faux-button a:visited.primary:active:hover, .button:visited.primary:active:active, li.faux-button a:visited.primary:active:active {
  color: #FFF;
  background-color: #16404d; }

button.primary:hover:after, button.primary.active:after, button.primary:active:after, button.primary:visited:hover:after, button.primary.active:visited:after, button.primary:visited:active:after, button.primary:active:hover:after, button.primary.active:active:after, button.primary:active:active:after, a.button.primary:hover:after, a.button.primary.active:after, li.faux-button a.primary.active:after, li.faux-button a.primary:hover:after, a.button.primary:active:after, li.faux-button a.primary:active:after, a.button.primary:visited:hover:after, a.button.primary.active:visited:after, li.faux-button a.primary.active:visited:after, li.faux-button a.primary:visited:hover:after, a.button.primary:visited:active:after, li.faux-button a.primary:visited:active:after, a.button.primary:active:hover:after, a.button.primary.active:active:after, li.faux-button a.primary.active:active:after, li.faux-button a.primary:active:hover:after, a.button.primary:active:active:after, li.faux-button a.primary:active:active:after, li.faux-button a.primary:hover:after, li.faux-button a.primary.active:after, li.faux-button a.primary:active:after, li.faux-button a.primary:visited:hover:after, li.faux-button a.primary.active:visited:after, li.faux-button a.primary:visited:active:after, li.faux-button a.primary:active:hover:after, li.faux-button a.primary.active:active:after, li.faux-button a.primary:active:active:after, input.button.primary:hover:after, input.button.primary:active:after, input.button.primary:visited:hover:after, input.button.primary:visited:active:after, input.button.primary:active:hover:after, input.button.primary:active:active:after, .button:visited.primary:hover:after, a.button.active:visited.primary:after, li.faux-button a.active:visited.primary:after, button.button.active:visited.primary:after, li.faux-button a:visited.primary:hover:after, .button:visited.primary:active:after, li.faux-button a:visited.primary:active:after, .button:visited.primary:visited:hover:after, a.button.active:visited.primary:visited:after, li.faux-button a.active:visited.primary:visited:after, button.button.active:visited.primary:visited:after, li.faux-button a:visited.primary:visited:hover:after, .button:visited.primary:visited:active:after, li.faux-button a:visited.primary:visited:active:after, .button:visited.primary:active:hover:after, a.button.active:visited.primary:active:after, li.faux-button a.active:visited.primary:active:after, button.button.active:visited.primary:active:after, li.faux-button a:visited.primary:active:hover:after, .button:visited.primary:active:active:after, li.faux-button a:visited.primary:active:active:after {
  background-image: url("../../../elf-theme/assets/icons/arrow-btn-yellow.svg"); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  button.primary:hover:after, button.primary.active:after, button.primary:active:after, button.primary:visited:hover:after, button.primary.active:visited:after, button.primary:visited:active:after, button.primary:active:hover:after, button.primary.active:active:after, button.primary:active:active:after, a.button.primary:hover:after, a.button.primary.active:after, li.faux-button a.primary.active:after, li.faux-button a.primary:hover:after, a.button.primary:active:after, li.faux-button a.primary:active:after, a.button.primary:visited:hover:after, a.button.primary.active:visited:after, li.faux-button a.primary.active:visited:after, li.faux-button a.primary:visited:hover:after, a.button.primary:visited:active:after, li.faux-button a.primary:visited:active:after, a.button.primary:active:hover:after, a.button.primary.active:active:after, li.faux-button a.primary.active:active:after, li.faux-button a.primary:active:hover:after, a.button.primary:active:active:after, li.faux-button a.primary:active:active:after, li.faux-button a.primary:hover:after, li.faux-button a.primary.active:after, li.faux-button a.primary:active:after, li.faux-button a.primary:visited:hover:after, li.faux-button a.primary.active:visited:after, li.faux-button a.primary:visited:active:after, li.faux-button a.primary:active:hover:after, li.faux-button a.primary.active:active:after, li.faux-button a.primary:active:active:after, input.button.primary:hover:after, input.button.primary:active:after, input.button.primary:visited:hover:after, input.button.primary:visited:active:after, input.button.primary:active:hover:after, input.button.primary:active:active:after, .button:visited.primary:hover:after, a.button.active:visited.primary:after, li.faux-button a.active:visited.primary:after, button.button.active:visited.primary:after, li.faux-button a:visited.primary:hover:after, .button:visited.primary:active:after, li.faux-button a:visited.primary:active:after, .button:visited.primary:visited:hover:after, a.button.active:visited.primary:visited:after, li.faux-button a.active:visited.primary:visited:after, button.button.active:visited.primary:visited:after, li.faux-button a:visited.primary:visited:hover:after, .button:visited.primary:visited:active:after, li.faux-button a:visited.primary:visited:active:after, .button:visited.primary:active:hover:after, a.button.active:visited.primary:active:after, li.faux-button a.active:visited.primary:active:after, button.button.active:visited.primary:active:after, li.faux-button a:visited.primary:active:hover:after, .button:visited.primary:active:active:after, li.faux-button a:visited.primary:active:active:after {
    background: #79d7be;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/arrow-btn-yellow.svg);
            mask-image: url(../../../elf-theme/assets/icons/arrow-btn-yellow.svg); } }

button.secondary, .signup__form button.button, a.button.secondary, .signup__form a.button, .signup__form li.faux-button a, li.faux-button .signup__form a, li.faux-button a.secondary, li.faux-button a.secondary, .signup__form li.faux-button a, li.faux-button .signup__form a, input.button.secondary, .signup__form input.button, .button:visited.secondary, .signup__form .button:visited, .signup__form li.faux-button a:visited, li.faux-button .signup__form a:visited, li.faux-button a:visited.secondary {
  background-color: #a6cdc6;
  color: #FFF; }

.touch button.secondary:not(input[type="submit"]):hover, .touch .signup__form button.button:not(input[type="submit"]):hover, .signup__form .touch button.button:not(input[type="submit"]):hover, .touch .signup__form button.button.active:not(input[type="submit"]), .signup__form .touch button.button.active:not(input[type="submit"]), .touch button.secondary.active:not(input[type="submit"]), .touch a.button.secondary:not(input[type="submit"]):hover, .touch .signup__form a.button:not(input[type="submit"]):hover, .signup__form .touch a.button:not(input[type="submit"]):hover, .touch .signup__form a.button.active:not(input[type="submit"]), .signup__form .touch a.button.active:not(input[type="submit"]), .touch .signup__form li.faux-button a.active:not(input[type="submit"]), .signup__form li.faux-button .touch a.active:not(input[type="submit"]), .touch li.faux-button .signup__form a.active:not(input[type="submit"]), li.faux-button .signup__form .touch a.active:not(input[type="submit"]), .touch .signup__form li.faux-button a:not(input[type="submit"]):hover, .signup__form li.faux-button .touch a:not(input[type="submit"]):hover, .touch li.faux-button .signup__form a:not(input[type="submit"]):hover, li.faux-button .signup__form .touch a:not(input[type="submit"]):hover, .touch a.button.secondary.active:not(input[type="submit"]), .touch li.faux-button a.secondary.active:not(input[type="submit"]), li.faux-button .touch a.secondary.active:not(input[type="submit"]), .touch li.faux-button a.secondary:not(input[type="submit"]):hover, li.faux-button .touch a.secondary:not(input[type="submit"]):hover, .touch li.faux-button a.secondary:not(input[type="submit"]):hover, .touch .signup__form li.faux-button a.active:not(input[type="submit"]), .signup__form .touch li.faux-button a.active:not(input[type="submit"]), .touch li.faux-button .signup__form a.active:not(input[type="submit"]), .touch .signup__form li.faux-button a:not(input[type="submit"]):hover, .signup__form .touch li.faux-button a:not(input[type="submit"]):hover, .touch li.faux-button .signup__form a:not(input[type="submit"]):hover, .touch li.faux-button a.secondary.active:not(input[type="submit"]), .touch input.button.secondary:not(input[type="submit"]):hover, .touch .signup__form input.button:not(input[type="submit"]):hover, .signup__form .touch input.button:not(input[type="submit"]):hover, .touch .button:visited.secondary:not(input[type="submit"]):hover, .touch .signup__form .button:visited:not(input[type="submit"]):hover, .signup__form .touch .button:visited:not(input[type="submit"]):hover, .touch .signup__form a.button.active:visited:not(input[type="submit"]), .signup__form .touch a.button.active:visited:not(input[type="submit"]), .touch .signup__form li.faux-button a.active:visited:not(input[type="submit"]), .signup__form li.faux-button .touch a.active:visited:not(input[type="submit"]), .touch li.faux-button .signup__form a.active:visited:not(input[type="submit"]), li.faux-button .signup__form .touch a.active:visited:not(input[type="submit"]), .touch .signup__form button.button.active:visited:not(input[type="submit"]), .signup__form .touch button.button.active:visited:not(input[type="submit"]), .touch .signup__form li.faux-button a:visited:not(input[type="submit"]):hover, .signup__form li.faux-button .touch a:visited:not(input[type="submit"]):hover, .touch li.faux-button .signup__form a:visited:not(input[type="submit"]):hover, li.faux-button .signup__form .touch a:visited:not(input[type="submit"]):hover, .touch a.button.active:visited.secondary:not(input[type="submit"]), .touch li.faux-button a.active:visited.secondary:not(input[type="submit"]), li.faux-button .touch a.active:visited.secondary:not(input[type="submit"]), .touch button.button.active:visited.secondary:not(input[type="submit"]), .touch li.faux-button a:visited.secondary:not(input[type="submit"]):hover, li.faux-button .touch a:visited.secondary:not(input[type="submit"]):hover {
  background: #16404d -o-radial-gradient(circle, transparent 1%, #16404d 1%) center/15000%;
  background: #16404d radial-gradient(circle, transparent 1%, #16404d 1%) center/15000%; }

.touch button.secondary:not(input[type="submit"]):active, .touch .signup__form button.button:not(input[type="submit"]):active, .signup__form .touch button.button:not(input[type="submit"]):active, .touch a.button.secondary:not(input[type="submit"]):active, .touch .signup__form a.button:not(input[type="submit"]):active, .signup__form .touch a.button:not(input[type="submit"]):active, .touch .signup__form li.faux-button a:not(input[type="submit"]):active, .signup__form li.faux-button .touch a:not(input[type="submit"]):active, .touch li.faux-button .signup__form a:not(input[type="submit"]):active, li.faux-button .signup__form .touch a:not(input[type="submit"]):active, .touch li.faux-button a.secondary:not(input[type="submit"]):active, li.faux-button .touch a.secondary:not(input[type="submit"]):active, .touch li.faux-button a.secondary:not(input[type="submit"]):active, .touch .signup__form li.faux-button a:not(input[type="submit"]):active, .signup__form .touch li.faux-button a:not(input[type="submit"]):active, .touch li.faux-button .signup__form a:not(input[type="submit"]):active, .touch input.button.secondary:not(input[type="submit"]):active, .touch .signup__form input.button:not(input[type="submit"]):active, .signup__form .touch input.button:not(input[type="submit"]):active, .touch .button:visited.secondary:not(input[type="submit"]):active, .touch .signup__form .button:visited:not(input[type="submit"]):active, .signup__form .touch .button:visited:not(input[type="submit"]):active, .touch .signup__form li.faux-button a:visited:not(input[type="submit"]):active, .signup__form li.faux-button .touch a:visited:not(input[type="submit"]):active, .touch li.faux-button .signup__form a:visited:not(input[type="submit"]):active, li.faux-button .signup__form .touch a:visited:not(input[type="submit"]):active, .touch li.faux-button a:visited.secondary:not(input[type="submit"]):active, li.faux-button .touch a:visited.secondary:not(input[type="submit"]):active {
  background-color: #064b94;
  background-size: 100%;
  -webkit-transition: background 0s;
  -o-transition: background 0s;
  transition: background 0s; }

button.secondary:after, .signup__form button.button:after, a.button.secondary:after, .signup__form a.button:after, .signup__form li.faux-button a:after, li.faux-button .signup__form a:after, li.faux-button a.secondary:after, li.faux-button a.secondary:after, .signup__form li.faux-button a:after, li.faux-button .signup__form a:after, input.button.secondary:after, .signup__form input.button:after, .button:visited.secondary:after, .signup__form .button:visited:after, .signup__form li.faux-button a:visited:after, li.faux-button .signup__form a:visited:after, li.faux-button a:visited.secondary:after {
  background-image: url("../../../elf-theme/assets/icons/arrow-btn-white.svg"); }

button.secondary:hover, .signup__form button.button:hover, .signup__form button.button.active, button.secondary.active, button.secondary:active, .signup__form button.button:active, a.button.secondary:hover, .signup__form a.button:hover, .signup__form a.button.active, .signup__form li.faux-button a.active, li.faux-button .signup__form a.active, .signup__form li.faux-button a:hover, li.faux-button .signup__form a:hover, a.button.secondary.active, li.faux-button a.secondary.active, li.faux-button a.secondary:hover, a.button.secondary:active, .signup__form a.button:active, .signup__form li.faux-button a:active, li.faux-button .signup__form a:active, li.faux-button a.secondary:active, li.faux-button a.secondary:hover, .signup__form li.faux-button a.active, li.faux-button .signup__form a.active, .signup__form li.faux-button a:hover, li.faux-button .signup__form a:hover, li.faux-button a.secondary.active, li.faux-button a.secondary:active, .signup__form li.faux-button a:active, li.faux-button .signup__form a:active, input.button.secondary:hover, .signup__form input.button:hover, input.button.secondary:active, .signup__form input.button:active, .button:visited.secondary:hover, .signup__form .button:visited:hover, .signup__form a.button.active:visited, .signup__form li.faux-button a.active:visited, li.faux-button .signup__form a.active:visited, .signup__form button.button.active:visited, .signup__form li.faux-button a:visited:hover, li.faux-button .signup__form a:visited:hover, a.button.active:visited.secondary, li.faux-button a.active:visited.secondary, button.button.active:visited.secondary, li.faux-button a:visited.secondary:hover, .button:visited.secondary:active, .signup__form .button:visited:active, .signup__form li.faux-button a:visited:active, li.faux-button .signup__form a:visited:active, li.faux-button a:visited.secondary:active {
  background-color: #16404d; }

button.secondary:hover:after, .signup__form button.button:hover:after, .signup__form button.button.active:after, button.secondary.active:after, button.secondary:active:after, .signup__form button.button:active:after, a.button.secondary:hover:after, .signup__form a.button:hover:after, .signup__form a.button.active:after, .signup__form li.faux-button a.active:after, li.faux-button .signup__form a.active:after, .signup__form li.faux-button a:hover:after, li.faux-button .signup__form a:hover:after, a.button.secondary.active:after, li.faux-button a.secondary.active:after, li.faux-button a.secondary:hover:after, a.button.secondary:active:after, .signup__form a.button:active:after, .signup__form li.faux-button a:active:after, li.faux-button .signup__form a:active:after, li.faux-button a.secondary:active:after, li.faux-button a.secondary:hover:after, .signup__form li.faux-button a.active:after, li.faux-button .signup__form a.active:after, .signup__form li.faux-button a:hover:after, li.faux-button .signup__form a:hover:after, li.faux-button a.secondary.active:after, li.faux-button a.secondary:active:after, .signup__form li.faux-button a:active:after, li.faux-button .signup__form a:active:after, input.button.secondary:hover:after, .signup__form input.button:hover:after, input.button.secondary:active:after, .signup__form input.button:active:after, .button:visited.secondary:hover:after, .signup__form .button:visited:hover:after, .signup__form a.button.active:visited:after, .signup__form li.faux-button a.active:visited:after, li.faux-button .signup__form a.active:visited:after, .signup__form button.button.active:visited:after, .signup__form li.faux-button a:visited:hover:after, li.faux-button .signup__form a:visited:hover:after, a.button.active:visited.secondary:after, li.faux-button a.active:visited.secondary:after, button.button.active:visited.secondary:after, li.faux-button a:visited.secondary:hover:after, .button:visited.secondary:active:after, .signup__form .button:visited:active:after, .signup__form li.faux-button a:visited:active:after, li.faux-button .signup__form a:visited:active:after, li.faux-button a:visited.secondary:active:after {
  background-image: url("../../../elf-theme/assets/icons/arrow-btn-yellow.svg"); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  button.secondary:hover:after, .signup__form button.button:hover:after, .signup__form button.button.active:after, button.secondary.active:after, button.secondary:active:after, .signup__form button.button:active:after, a.button.secondary:hover:after, .signup__form a.button:hover:after, .signup__form a.button.active:after, .signup__form li.faux-button a.active:after, li.faux-button .signup__form a.active:after, .signup__form li.faux-button a:hover:after, li.faux-button .signup__form a:hover:after, a.button.secondary.active:after, li.faux-button a.secondary.active:after, li.faux-button a.secondary:hover:after, a.button.secondary:active:after, .signup__form a.button:active:after, .signup__form li.faux-button a:active:after, li.faux-button .signup__form a:active:after, li.faux-button a.secondary:active:after, li.faux-button a.secondary:hover:after, .signup__form li.faux-button a.active:after, li.faux-button .signup__form a.active:after, .signup__form li.faux-button a:hover:after, li.faux-button .signup__form a:hover:after, li.faux-button a.secondary.active:after, li.faux-button a.secondary:active:after, .signup__form li.faux-button a:active:after, li.faux-button .signup__form a:active:after, input.button.secondary:hover:after, .signup__form input.button:hover:after, input.button.secondary:active:after, .signup__form input.button:active:after, .button:visited.secondary:hover:after, .signup__form .button:visited:hover:after, .signup__form a.button.active:visited:after, .signup__form li.faux-button a.active:visited:after, li.faux-button .signup__form a.active:visited:after, .signup__form button.button.active:visited:after, .signup__form li.faux-button a:visited:hover:after, li.faux-button .signup__form a:visited:hover:after, a.button.active:visited.secondary:after, li.faux-button a.active:visited.secondary:after, button.button.active:visited.secondary:after, li.faux-button a:visited.secondary:hover:after, .button:visited.secondary:active:after, .signup__form .button:visited:active:after, .signup__form li.faux-button a:visited:active:after, li.faux-button .signup__form a:visited:active:after, li.faux-button a:visited.secondary:active:after {
    background: #79d7be;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/arrow-btn-yellow.svg);
            mask-image: url(../../../elf-theme/assets/icons/arrow-btn-yellow.svg); } }

button.clear, a.button.clear, li.faux-button a.clear, li.faux-button a.clear, input.button.clear, .button:visited.clear, li.faux-button a:visited.clear {
  border-radius: 0;
  text-align: center;
  color: #16404d;
  position: relative; }

button.clear:after, a.button.clear:after, li.faux-button a.clear:after, li.faux-button a.clear:after, input.button.clear:after, .button:visited.clear:after, li.faux-button a:visited.clear:after {
  content: '';
  position: absolute;
  left: 1em;
  bottom: 10px;
  height: 3px;
  width: calc(100% - 2em);
  background: #79d7be; }

button.clear:active, button.clear:hover, button.clear.active, a.button.clear:active, li.faux-button a.clear:active, a.button.clear:hover, a.button.clear.active, li.faux-button a.clear.active, li.faux-button a.clear:hover, li.faux-button a.clear:active, li.faux-button a.clear:hover, li.faux-button a.clear.active, input.button.clear:active, input.button.clear:hover, .button:visited.clear:active, li.faux-button a:visited.clear:active, .button:visited.clear:hover, a.button.active:visited.clear, li.faux-button a.active:visited.clear, button.button.active:visited.clear, li.faux-button a:visited.clear:hover {
  background: #a6cdc6;
  color: #FFF; }

button.disabled, button:disabled, a.button.disabled, li.faux-button a.disabled, a.button:disabled, li.faux-button a:disabled, li.faux-button a.disabled, li.faux-button a:disabled, input.button.disabled, input.button:disabled, .button:visited.disabled, li.faux-button a:visited.disabled, .button:visited:disabled, li.faux-button a:visited:disabled {
  background: #B1B1B1;
  color: #FFF; }

button.disabled:active, button.disabled:hover, button.disabled.active, button:disabled:active, button:disabled:hover, button.active:disabled, a.button.disabled:active, li.faux-button a.disabled:active, a.button.disabled:hover, a.button.disabled.active, li.faux-button a.disabled.active, li.faux-button a.disabled:hover, a.button:disabled:active, li.faux-button a:disabled:active, a.button:disabled:hover, a.button.active:disabled, li.faux-button a.active:disabled, li.faux-button a:disabled:hover, li.faux-button a.disabled:active, li.faux-button a.disabled:hover, li.faux-button a.disabled.active, li.faux-button a:disabled:active, li.faux-button a:disabled:hover, li.faux-button a.active:disabled, input.button.disabled:active, input.button.disabled:hover, input.button:disabled:active, input.button:disabled:hover, .button:visited.disabled:active, li.faux-button a:visited.disabled:active, .button:visited.disabled:hover, a.button.active:visited.disabled, li.faux-button a.active:visited.disabled, button.button.active:visited.disabled, li.faux-button a:visited.disabled:hover, .button:visited:disabled:active, li.faux-button a:visited:disabled:active, .button:visited:disabled:hover, a.button.active:visited:disabled, li.faux-button a.active:visited:disabled, button.button.active:visited:disabled, li.faux-button a:visited:disabled:hover {
  background: #B1B1B1;
  color: #FFF; }

button:hover, button.active, button:active, button:focus, a.button:hover, a.button.active, li.faux-button a.active, li.faux-button a:hover, a.button:active, li.faux-button a:active, a.button:focus, li.faux-button a:focus, li.faux-button a:hover, li.faux-button a.active, li.faux-button a:active, li.faux-button a:focus, input.button:hover, input.button:active, input.button:focus, .button:visited:hover, a.button.active:visited, li.faux-button a.active:visited, button.button.active:visited, li.faux-button a:visited:hover, .button:visited:active, li.faux-button a:visited:active, .button:visited:focus, li.faux-button a:visited:focus {
  color: #FFF; }

@media print, screen and (max-width: 39.99875em) {
  button, a.button, li.faux-button a, li.faux-button a, input.button, .button:visited, li.faux-button a:visited {
    width: 100%;
    text-align: left; } }

input.button, input[type="submit"] {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.986' height='15.696' viewBox='0 0 7.986 15.696'%3E%3Cpath id='arrow' data-name='Path 5468' d='M-18095.393,3213.182l4.379,5.949-4.379,5.542' transform='translate(18097.5 -3211.084)' fill='none' stroke='%2316404d' stroke-linecap='round' stroke-linejoin='round' stroke-width='3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - 25px) center;
  background-size: 8px 15px; }

input.button:hover, input.button:active, input[type="submit"]:hover, input[type="submit"]:active {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.986' height='15.696' viewBox='0 0 7.986 15.696'%3E%3Cpath id='arrow' data-name='Path 5468' d='M-18095.393,3213.182l4.379,5.949-4.379,5.542' transform='translate(18097.5 -3211.084)' fill='none' stroke='%2379d7be' stroke-linecap='round' stroke-linejoin='round' stroke-width='3'/%3E%3C/svg%3E"); }

input.button.secondary, .signup__form input.button, input[type="submit"].secondary, .signup__form input.button[type="submit"] {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.986' height='15.696' viewBox='0 0 7.986 15.696'%3E%3Cpath id='arrow' data-name='Path 5468' d='M-18095.393,3213.182l4.379,5.949-4.379,5.542' transform='translate(18097.5 -3211.084)' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3'/%3E%3C/svg%3E"); }

input.button.secondary:hover, .signup__form input.button:hover, input.button.secondary:active, .signup__form input.button:active, input[type="submit"].secondary:hover, .signup__form input.button[type="submit"]:hover, input[type="submit"].secondary:active, .signup__form input.button[type="submit"]:active {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.986' height='15.696' viewBox='0 0 7.986 15.696'%3E%3Cpath id='arrow' data-name='Path 5468' d='M-18095.393,3213.182l4.379,5.949-4.379,5.542' transform='translate(18097.5 -3211.084)' fill='none' stroke='%2379d7be' stroke-linecap='round' stroke-linejoin='round' stroke-width='3'/%3E%3C/svg%3E"); }

input.button.gform_previous_button, input[type="submit"].gform_previous_button {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.986' height='15.696' viewBox='0 0 7.986 15.696'%3E%3Cpath id='Path_5468' data-name='Path 5468' d='M-18095.393,3213.182l4.379,5.949-4.379,5.542' transform='translate(-18089.514 3226.78) rotate(180)' fill='none' stroke='%2316404d' stroke-linecap='round' stroke-linejoin='round' stroke-width='3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(6%) center;
  padding: 1.25em 1.4em 1.25em 2.8em;
  position: relative; }

@media print, screen and (min-width: 40em) {
  input.button.gform_previous_button, input[type="submit"].gform_previous_button {
    background-position: calc(19%) center; } }

input.button.gform_previous_button:hover, input.button.gform_previous_button:active, input[type="submit"].gform_previous_button:hover, input[type="submit"].gform_previous_button:active {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.986' height='15.696' viewBox='0 0 7.986 15.696'%3E%3Cpath id='Path_5468' data-name='Path 5468' d='M-18095.393,3213.182l4.379,5.949-4.379,5.542' transform='translate(-18089.514 3226.78) rotate(180)' fill='none' stroke='%2379d7be' stroke-linecap='round' stroke-linejoin='round' stroke-width='3'/%3E%3C/svg%3E"); }

.button_row .cell {
  padding: 40px 0; }

.button__grid .grey__cell, .button__grid a .grey__cell {
  border-top: 5px solid #79d7be;
  background-color: #F4F4F4;
  color: #707070;
  padding: 20px;
  margin-bottom: 10px;
  position: relative;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

.button__grid .grey__cell ul, .button__grid a .grey__cell ul {
  margin-bottom: 20px; }

.button__grid a.grey__inner {
  text-decoration: none; }

.button__grid a.grey__inner:hover .grey__cell, .button__grid a.grey__inner.active .grey__cell, .button__grid a.grey__inner:active .grey__cell {
  -webkit-transition: all 0.7s;
  -o-transition: all 0.7s;
  transition: all 0.7s;
  background-color: #a6cdc6;
  color: #a6cdc6; }

.button__grid a.grey__inner:hover .grey__cell h3, .button__grid a.grey__inner.active .grey__cell h3, .button__grid a.grey__inner:hover .grey__cell .h5, .button__grid a.grey__inner.active .grey__cell .h5, .button__grid a.grey__inner:hover .grey__cell p, .button__grid a.grey__inner.active .grey__cell p, .button__grid a.grey__inner:hover .grey__cell a, .button__grid a.grey__inner.active .grey__cell a, .button__grid a.grey__inner:hover .grey__cell span, .button__grid a.grey__inner.active .grey__cell span, .button__grid a.grey__inner:active .grey__cell h3, .button__grid a.grey__inner:active .grey__cell .h5, .button__grid a.grey__inner:active .grey__cell p, .button__grid a.grey__inner:active .grey__cell a, .button__grid a.grey__inner:active .grey__cell span {
  color: #fff; }

.button__grid .button__simple {
  background-color: #F4F4F4;
  color: #79d7be;
  padding: 20px;
  margin-bottom: 10px;
  position: relative;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

.button__grid .button__simple h5, .button__grid .button__simple section .free_text blockquote p, section .free_text blockquote .button__grid .button__simple p {
  min-height: 55px; }

.button__grid .button__simple p {
  margin-bottom: 30px; }

.button__grid .button__simple a {
  color: #79d7be;
  position: absolute;
  bottom: 20px;
  left: 20px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

.button__grid .button__simple:hover, .button__grid a.button__simple.active, .button__grid button.button__simple.active, .button__grid .button__simple:active {
  background-color: #767175;
  color: #a6cdc6; }

.button__grid .button__simple:hover a, .button__grid a.button__simple.active a, .button__grid button.button__simple.active a, .button__grid .button__simple:active a {
  color: #a6cdc6; }

.button__grid .button__simple.details {
  text-align: center;
  padding-top: 50px;
  padding-bottom: 70px; }

.button__grid .button__simple.details h5, .button__grid .button__simple.details section .free_text blockquote p, section .free_text blockquote .button__grid .button__simple.details p {
  margin-bottom: 20px;
  min-height: unset; }

.button__grid .button__simple.details p {
  font-size: 1.125rem;
  color: #a6cdc6; }

.button__grid .button__simple.details a {
  text-align: center;
  font-weight: bold;
  position: relative;
  left: unset;
  bottom: unset; }

.button__grid .button__simple.details:hover p, .button__grid a.button__simple.details.active p, .button__grid button.button__simple.details.active p, .button__grid .button__simple.details:active p {
  color: #a6cdc6; }

.hero__button__wrap .button, .hero__button__wrap li.faux-button a, li.faux-button .hero__button__wrap a {
  margin-top: 35px; }

.button__fullwidth .button__simple {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 20px;
  border: 1px solid #79d7be; }

.button__fullwidth .button__simple p {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto 0; }

.button__fullwidth .button__simple a {
  margin: auto 0 auto auto; }

.button__halfhalf .button__simple {
  padding: 0px; }

.button__halfhalf .button__simple a, .button__halfhalf .button__simple span.no-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 20px;
  width: 100%;
  text-decoration: none;
  position: relative;
  bottom: 0;
  left: 0;
  background-color: #F4F4F4;
  margin-bottom: 15px;
  color: #16404d;
  border-radius: 5px;
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s; }

.media .button__halfhalf .button__simple a, .media .button__halfhalf .button__simple span.no-link {
  background: none !important;
  padding: 0 0 20px;
  border-bottom: 2px solid #E4E4E4;
  margin-bottom: 20px; }

@media print, screen and (max-width: 39.99875em) {
  .media .button__halfhalf .button__simple a, .media .button__halfhalf .button__simple span.no-link {
    margin-bottom: 15px; } }

.media .button__halfhalf .button__simple a:hover, .media .button__halfhalf .button__simple a.active, .media .button__halfhalf .button__simple a:active, .media .button__halfhalf .button__simple span.no-link:hover, .media .button__halfhalf .button__simple span.no-link:active {
  color: #16404d; }

.button__halfhalf .button__simple a:hover, .button__halfhalf .button__simple a.active, .button__halfhalf .button__simple a:active, .button__halfhalf .button__simple span.no-link:hover, .button__halfhalf .button__simple span.no-link:active {
  color: #79d7be;
  background-color: #16404d; }

.button__halfhalf .button__simple a:hover .arrow-btn, .button__halfhalf .button__simple a.active .arrow-btn, .button__halfhalf .button__simple a:active .arrow-btn, .button__halfhalf .button__simple span.no-link:hover .arrow-btn, .button__halfhalf .button__simple span.no-link:active .arrow-btn {
  background: url(../../../elf-theme/assets/icons/btnarrow-hover.svg); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .button__halfhalf .button__simple a:hover .arrow-btn, .button__halfhalf .button__simple a.active .arrow-btn, .button__halfhalf .button__simple a:active .arrow-btn, .button__halfhalf .button__simple span.no-link:hover .arrow-btn, .button__halfhalf .button__simple span.no-link:active .arrow-btn {
    background: #79d7be;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/btnarrow-hover.svg);
            mask-image: url(../../../elf-theme/assets/icons/btnarrow-hover.svg);
    -webkit-mask-size: 15px 15px;
            mask-size: 15px 15px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.button__halfhalf .button__simple a p, .button__halfhalf .button__simple span.no-link p {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto 0;
  font-weight: 800;
  line-height: 1.2; }

.button__halfhalf .button__simple a .arrow-btn, .button__halfhalf .button__simple span.no-link .arrow-btn {
  height: 15px;
  min-width: 15px;
  position: relative;
  display: inline-block;
  margin: auto 10px auto 0;
  content: "";
  background: url(../../../elf-theme/assets/icons/btnarrow.svg);
  background-size: 15px 15px;
  text-decoration: none; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .button__halfhalf .button__simple a .arrow-btn, .button__halfhalf .button__simple span.no-link .arrow-btn {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/btnarrow.svg);
            mask-image: url(../../../elf-theme/assets/icons/btnarrow.svg);
    -webkit-mask-size: 15px 15px;
            mask-size: 15px 15px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.button__halfhalf .button__simple a .download-btn, .button__halfhalf .button__simple span.no-link .download-btn {
  height: 15px;
  width: 15px;
  position: relative;
  display: inline-block;
  margin: auto 10px auto 0;
  content: "";
  background: url(../../../elf-theme/assets/icons/download-btn@2x.png);
  background-size: 15px 15px;
  text-decoration: none; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .button__halfhalf .button__simple a .download-btn, .button__halfhalf .button__simple span.no-link .download-btn {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/download-icon.svg);
            mask-image: url(../../../elf-theme/assets/icons/download-icon.svg);
    -webkit-mask-size: 15px 15px;
            mask-size: 15px 15px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.button__halfhalf .button__simple span.no-link {
  color: #16404d; }

.button__halfhalf .button__simple span.no-link:hover, .button__halfhalf .button__simple span.no-link:active {
  color: #16404d; }

.button__halfhalf .button__simple.button__simple_election a {
  background-color: #a6cdc6; }

.button__halfhalf .button__simple.button__simple_election .election-btn {
  height: 15px;
  width: 15px;
  position: relative;
  display: inline-block;
  margin: auto 10px auto 0;
  content: "";
  background: url(../../../elf-theme/assets/icons/btnelection.svg);
  background-size: 15px 15px;
  text-decoration: none; }

.button__card {
  border-top: 14px solid #a6cdc6;
  border-bottom: 1px solid #e4e5e9;
  padding: 10px 0px; }

.button__card a {
  text-decoration: none; }

.button__card a h5:after, .button__card a section .free_text blockquote p:after, section .free_text blockquote .button__card a p:after {
  position: relative;
  left: 10px;
  display: inline-block;
  content: "";
  background: url(../../../elf-theme/assets/icons/arrow-next@2x.png);
  background-size: 9px 13px;
  width: 9px;
  height: 13px;
  text-decoration: none; }

@media print, screen and (max-width: 63.99875em) {
  .breadcrumb-wrap + .dropdown__tableofcontent {
    top: 135px; } }

.dropdown__tableofcontent {
  min-width: 220px;
  background-color: #16404d;
  color: #FFF;
  border-radius: 0px 0px 5px 5px;
  margin-left: 3.6rem;
  position: fixed;
  top: 128px;
  z-index: 996;
  padding: 10px 30px;
  display: none; }

.dropdown__tableofcontent.dropdown__tableofcontent_mobile {
  display: none !important; }

@media print, screen and (max-width: 63.99875em) {
  .dropdown__tableofcontent {
    display: none; }
  .dropdown__tableofcontent.dropdown__tableofcontent_mobile {
    display: block !important;
    margin-left: 0px;
    position: absolute;
    top: 0px;
    min-width: calc(100% - 1.25rem); } }

@media print, screen and (max-width: 63.99875em) and (max-width: 39.99875em) {
  .dropdown__tableofcontent.dropdown__tableofcontent_mobile {
    min-width: calc(100% - 1.5rem); } }

@media print, screen and (max-width: 63.99875em) {
  .dropdown__tableofcontent.dropdown__tableofcontent_mobile .dropdown-content {
    min-width: 100%; } }

.dropdown__tableofcontent p {
  font-weight: 700;
  margin: 0px; }

.dropdown__tableofcontent p:after {
  content: '';
  width: 15px;
  height: 25px;
  background: url(../../../elf-theme/assets/icons/down-arrow-yellow.svg) no-repeat center center/contain;
  float: right;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .dropdown__tableofcontent p:after {
    background: #79d7be;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/down-arrow-yellow.svg);
            mask-image: url(../../../elf-theme/assets/icons/down-arrow-yellow.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center center;
            mask-position: center center; } }

.dropdown__tableofcontent .dropdown-content {
  display: none;
  position: absolute;
  left: 0px;
  background-color: #16404d;
  color: #FFF;
  min-width: 220px;
  max-height: 50vh;
  overflow: scroll;
  -webkit-box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  padding: 15px 10px;
  z-index: 1;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px; }

.dropdown__tableofcontent .dropdown-content ul {
  margin: 0px;
  list-style: none; }

.dropdown__tableofcontent .dropdown-content ul li {
  padding: 10px 0px 10px 20px;
  border-bottom: 2px solid rgba(228, 228, 228, 0.2); }

.dropdown__tableofcontent .dropdown-content ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }

.dropdown__tableofcontent .dropdown-content ul li:before {
  content: '';
  width: 13px;
  height: 25px;
  float: left;
  margin-left: -19px;
  background: url(../../../elf-theme/assets/icons/tbc_white.svg) no-repeat center center/contain;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .dropdown__tableofcontent .dropdown-content ul li:before {
    background: #FFF;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/tbc_white.svg);
            mask-image: url(../../../elf-theme/assets/icons/tbc_white.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center center;
            mask-position: center center; } }

.dropdown__tableofcontent .dropdown-content ul li:hover a, .dropdown__tableofcontent .dropdown-content ul li:active a {
  color: #79d7be; }

.dropdown__tableofcontent .dropdown-content ul li:hover:before, .dropdown__tableofcontent .dropdown-content ul li:active:before {
  background: url(../../../elf-theme/assets/icons/tbc_yellow.svg) no-repeat center center/contain; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .dropdown__tableofcontent .dropdown-content ul li:hover:before, .dropdown__tableofcontent .dropdown-content ul li:active:before {
    background: #79d7be;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/tbc_yellow.svg);
            mask-image: url(../../../elf-theme/assets/icons/tbc_yellow.svg); } }

.dropdown__tableofcontent .dropdown-content.dropdown-content_close {
  display: block; }

@media only screen and (hover: hover) and (min-width: 1025px) {
  .dropdown__tableofcontent:hover p:after, a.dropdown__tableofcontent.active p:after, button.dropdown__tableofcontent.active p:after, .dropdown__tableofcontent:active p:after {
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); } }

@media only screen and (hover: hover) and (min-width: 1025px) {
  .dropdown__tableofcontent:hover .dropdown-content, a.dropdown__tableofcontent.active .dropdown-content, button.dropdown__tableofcontent.active .dropdown-content, .dropdown__tableofcontent:active .dropdown-content {
    display: block; } }

.dropdown__tableofcontent.toc_show {
  display: block; }

.dropdown__tableofcontent ul.dropdown-content_close {
  display: block; }

.dropdown__tableofcontent.dropdown__tableofcontent_rotate p:after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }

body.microsite.dark-brand-colours .button.primary, body.microsite.dark-brand-colours li.faux-button a.primary, li.faux-button body.microsite.dark-brand-colours a.primary {
  color: white;
  background-color: #16404d;
  border: 2px solid #79d7be; }

body.microsite.dark-brand-colours .button.primary:after, body.microsite.dark-brand-colours li.faux-button a.primary:after, li.faux-button body.microsite.dark-brand-colours a.primary:after {
  background-color: white; }

body.microsite.dark-brand-colours .button.primary:hover, body.microsite.dark-brand-colours a.button.primary.active, body.microsite.dark-brand-colours li.faux-button a.primary.active, li.faux-button body.microsite.dark-brand-colours a.primary.active, body.microsite.dark-brand-colours button.button.primary.active, body.microsite.dark-brand-colours li.faux-button a.primary:hover, li.faux-button body.microsite.dark-brand-colours a.primary:hover {
  background-color: #79d7be;
  border: 2px solid #16404d; }

body.microsite.dark-brand-colours .button.secondary, body.microsite.dark-brand-colours .signup__form .button, .signup__form body.microsite.dark-brand-colours .button, body.microsite.dark-brand-colours .signup__form li.faux-button a, .signup__form li.faux-button body.microsite.dark-brand-colours a, body.microsite.dark-brand-colours li.faux-button .signup__form a, li.faux-button .signup__form body.microsite.dark-brand-colours a, body.microsite.dark-brand-colours li.faux-button a.secondary, li.faux-button body.microsite.dark-brand-colours a.secondary {
  color: black;
  background-color: transparent;
  border: 2px solid #79d7be; }

body.microsite.dark-brand-colours .button.secondary:hover, body.microsite.dark-brand-colours .signup__form .button:hover, .signup__form body.microsite.dark-brand-colours .button:hover, body.microsite.dark-brand-colours .signup__form a.button.active, .signup__form body.microsite.dark-brand-colours a.button.active, body.microsite.dark-brand-colours .signup__form li.faux-button a.active, .signup__form li.faux-button body.microsite.dark-brand-colours a.active, body.microsite.dark-brand-colours li.faux-button .signup__form a.active, li.faux-button .signup__form body.microsite.dark-brand-colours a.active, body.microsite.dark-brand-colours .signup__form button.button.active, .signup__form body.microsite.dark-brand-colours button.button.active, body.microsite.dark-brand-colours .signup__form li.faux-button a:hover, .signup__form li.faux-button body.microsite.dark-brand-colours a:hover, body.microsite.dark-brand-colours li.faux-button .signup__form a:hover, li.faux-button .signup__form body.microsite.dark-brand-colours a:hover, body.microsite.dark-brand-colours a.button.secondary.active, body.microsite.dark-brand-colours li.faux-button a.secondary.active, li.faux-button body.microsite.dark-brand-colours a.secondary.active, body.microsite.dark-brand-colours button.button.secondary.active, body.microsite.dark-brand-colours li.faux-button a.secondary:hover, li.faux-button body.microsite.dark-brand-colours a.secondary:hover {
  color: white;
  background-color: #16404d; }

body.microsite.dark-brand-colours .button.secondary:hover:after, body.microsite.dark-brand-colours .signup__form .button:hover:after, .signup__form body.microsite.dark-brand-colours .button:hover:after, body.microsite.dark-brand-colours .signup__form a.button.active:after, .signup__form body.microsite.dark-brand-colours a.button.active:after, body.microsite.dark-brand-colours .signup__form li.faux-button a.active:after, .signup__form li.faux-button body.microsite.dark-brand-colours a.active:after, body.microsite.dark-brand-colours li.faux-button .signup__form a.active:after, li.faux-button .signup__form body.microsite.dark-brand-colours a.active:after, body.microsite.dark-brand-colours .signup__form button.button.active:after, .signup__form body.microsite.dark-brand-colours button.button.active:after, body.microsite.dark-brand-colours .signup__form li.faux-button a:hover:after, .signup__form li.faux-button body.microsite.dark-brand-colours a:hover:after, body.microsite.dark-brand-colours li.faux-button .signup__form a:hover:after, li.faux-button .signup__form body.microsite.dark-brand-colours a:hover:after, body.microsite.dark-brand-colours a.button.secondary.active:after, body.microsite.dark-brand-colours li.faux-button a.secondary.active:after, li.faux-button body.microsite.dark-brand-colours a.secondary.active:after, body.microsite.dark-brand-colours button.button.secondary.active:after, body.microsite.dark-brand-colours li.faux-button a.secondary:hover:after, li.faux-button body.microsite.dark-brand-colours a.secondary:hover:after {
  background-color: black; }

body.microsite.light-brand-colours .button.primary, body.microsite.light-brand-colours li.faux-button a.primary, li.faux-button body.microsite.light-brand-colours a.primary {
  color: black;
  background-color: #a6cdc6;
  border: 2px solid #16404d; }

body.microsite.light-brand-colours .button.primary:after, body.microsite.light-brand-colours li.faux-button a.primary:after, li.faux-button body.microsite.light-brand-colours a.primary:after {
  background-color: black; }

body.microsite.light-brand-colours .button.primary:hover, body.microsite.light-brand-colours a.button.primary.active, body.microsite.light-brand-colours li.faux-button a.primary.active, li.faux-button body.microsite.light-brand-colours a.primary.active, body.microsite.light-brand-colours button.button.primary.active, body.microsite.light-brand-colours li.faux-button a.primary:hover, li.faux-button body.microsite.light-brand-colours a.primary:hover {
  background-color: #16404d;
  border: 2px solid #a6cdc6; }

body.microsite.light-brand-colours .button.secondary, body.microsite.light-brand-colours .signup__form .button, .signup__form body.microsite.light-brand-colours .button, body.microsite.light-brand-colours .signup__form li.faux-button a, .signup__form li.faux-button body.microsite.light-brand-colours a, body.microsite.light-brand-colours li.faux-button .signup__form a, li.faux-button .signup__form body.microsite.light-brand-colours a, body.microsite.light-brand-colours li.faux-button a.secondary, li.faux-button body.microsite.light-brand-colours a.secondary {
  color: white;
  background-color: transparent;
  border: 2px solid #79d7be; }

body.microsite.light-brand-colours .button.secondary:after, body.microsite.light-brand-colours .signup__form .button:after, .signup__form body.microsite.light-brand-colours .button:after, body.microsite.light-brand-colours .signup__form li.faux-button a:after, .signup__form li.faux-button body.microsite.light-brand-colours a:after, body.microsite.light-brand-colours li.faux-button .signup__form a:after, li.faux-button .signup__form body.microsite.light-brand-colours a:after, body.microsite.light-brand-colours li.faux-button a.secondary:after, li.faux-button body.microsite.light-brand-colours a.secondary:after {
  background-color: white; }

body.microsite.light-brand-colours .button.secondary:hover, body.microsite.light-brand-colours .signup__form .button:hover, .signup__form body.microsite.light-brand-colours .button:hover, body.microsite.light-brand-colours .signup__form a.button.active, .signup__form body.microsite.light-brand-colours a.button.active, body.microsite.light-brand-colours .signup__form li.faux-button a.active, .signup__form li.faux-button body.microsite.light-brand-colours a.active, body.microsite.light-brand-colours li.faux-button .signup__form a.active, li.faux-button .signup__form body.microsite.light-brand-colours a.active, body.microsite.light-brand-colours .signup__form button.button.active, .signup__form body.microsite.light-brand-colours button.button.active, body.microsite.light-brand-colours .signup__form li.faux-button a:hover, .signup__form li.faux-button body.microsite.light-brand-colours a:hover, body.microsite.light-brand-colours li.faux-button .signup__form a:hover, li.faux-button .signup__form body.microsite.light-brand-colours a:hover, body.microsite.light-brand-colours a.button.secondary.active, body.microsite.light-brand-colours li.faux-button a.secondary.active, li.faux-button body.microsite.light-brand-colours a.secondary.active, body.microsite.light-brand-colours button.button.secondary.active, body.microsite.light-brand-colours li.faux-button a.secondary:hover, li.faux-button body.microsite.light-brand-colours a.secondary:hover {
  color: #000;
  background-color: #a6cdc6; }

body.microsite.light-brand-colours .button.secondary:hover:after, body.microsite.light-brand-colours .signup__form .button:hover:after, .signup__form body.microsite.light-brand-colours .button:hover:after, body.microsite.light-brand-colours .signup__form a.button.active:after, .signup__form body.microsite.light-brand-colours a.button.active:after, body.microsite.light-brand-colours .signup__form li.faux-button a.active:after, .signup__form li.faux-button body.microsite.light-brand-colours a.active:after, body.microsite.light-brand-colours li.faux-button .signup__form a.active:after, li.faux-button .signup__form body.microsite.light-brand-colours a.active:after, body.microsite.light-brand-colours .signup__form button.button.active:after, .signup__form body.microsite.light-brand-colours button.button.active:after, body.microsite.light-brand-colours .signup__form li.faux-button a:hover:after, .signup__form li.faux-button body.microsite.light-brand-colours a:hover:after, body.microsite.light-brand-colours li.faux-button .signup__form a:hover:after, li.faux-button .signup__form body.microsite.light-brand-colours a:hover:after, body.microsite.light-brand-colours a.button.secondary.active:after, body.microsite.light-brand-colours li.faux-button a.secondary.active:after, li.faux-button body.microsite.light-brand-colours a.secondary.active:after, body.microsite.light-brand-colours button.button.secondary.active:after, body.microsite.light-brand-colours li.faux-button a.secondary:hover:after, li.faux-button body.microsite.light-brand-colours a.secondary:hover:after {
  background-color: white; }

img.image {
  margin-bottom: 10px; }

@media only print {
  img {
    page-break-before: auto !important;
    page-break-after: auto !important;
    page-break-inside: avoid !important; } }

img.alignleft {
  float: left;
  margin-right: 20px; }

img.alignright {
  float: right;
  margin-left: 20px; }

img.aligncenter {
  margin: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media print, screen and (max-width: 63.99875em) {
  img.aligncenter, img.alignright, img.alignleft {
    float: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 20px auto; } }

.factsheet_banner_container img {
  height: clamp(350px, 400px, 500px);
  width: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center; }

img.article_image {
  width: 100%;
  height: auto; }

.caption-wrap {
  padding-top: 10px;
  padding-bottom: 0px; }

@media print, screen and (min-width: 40em) {
  .caption-wrap {
    padding-top: 20px;
    padding-bottom: 20px; } }

ul.page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

ul.page-numbers a, ul.page-numbers li.current, ul.page-numbers li.ellipsis {
  text-decoration: none; }

ul.page-numbers a:hover, ul.page-numbers a.active, ul.page-numbers li.current:hover, ul.page-numbers li.ellipsis:hover {
  color: #16404d; }

ul.page-numbers li {
  display: inline-block;
  height: 31px; }

ul.page-numbers li .current {
  border-bottom: 4px solid #a6cdc6; }

ul.page-numbers .prev:after, ul.page-numbers .next:after {
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 11px 17px;
  width: 11px;
  height: 17px; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  ul.page-numbers .prev:after, ul.page-numbers .next:after {
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center center;
            mask-position: center center; } }

ul.page-numbers .prev:after {
  background-image: url(../../../elf-theme/assets/icons/prev-btn.svg); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  ul.page-numbers .prev:after {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/prev-btn.svg);
            mask-image: url(../../../elf-theme/assets/icons/prev-btn.svg); } }

ul.page-numbers .next:after {
  background-image: url(../../../elf-theme/assets/icons/next-btn.svg); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  ul.page-numbers .next:after {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/next-btn.svg);
            mask-image: url(../../../elf-theme/assets/icons/next-btn.svg); } }

.search_wrapper {
  background-color: #F4F4F4 !important; }

.search_wrapper .search input, .search_wrapper .search input:focus {
  margin-bottom: 20px;
  color: #767175;
  background-image: none !important;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none; }

.search_wrapper .search ::-webkit-input-placeholder {
  font-size: 1.25rem;
  color: #767175;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none; }

.search_wrapper .search ::-moz-placeholder {
  font-size: 1.25rem;
  color: #767175;
  border: none;
  box-shadow: none; }

.search_wrapper .search :-ms-input-placeholder {
  font-size: 1.25rem;
  color: #767175;
  border: none;
  box-shadow: none; }

.search_wrapper .search ::-ms-input-placeholder {
  font-size: 1.25rem;
  color: #767175;
  border: none;
  box-shadow: none; }

.search_wrapper .search input, .search_wrapper .search select, .search_wrapper .search ::placeholder {
  font-size: 1.25rem;
  color: #767175;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none; }

.search_wrapper .search div.search__input {
  position: relative; }

.search_wrapper .search div.search__input::after {
  content: "";
  background: url(../../../elf-theme/assets/icons/search-icon-grey.svg) no-repeat center center/contain;
  height: 20px;
  width: 20px;
  position: absolute;
  top: 10px;
  right: 10px; }

.search_wrapper .search .search__filters {
  display: block; }

@media print, screen and (min-width: 40em) {
  .search_wrapper .search .search__filters {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.search_wrapper .search .search__filters select {
  background-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
  background-size: 15px 8px; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .search_wrapper .search .search__filters select {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
            mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
    -webkit-mask-size: 15px 8px;
            mask-size: 15px 8px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .search_wrapper .search .search__filters label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 20px; }
  .search_wrapper .search .search__filters label.last {
    margin-right: 0; } }

#my-custom-searchform {
  position: relative; }

#my-custom-searchform input[type=text] {
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none; }

#my-custom-searchform select {
  padding-top: 0;
  padding-bottom: 0;
  width: 49%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border: none;
  background-image: none; }

#my-custom-searchform select:nth-child(odd) {
  float: right; }

#my-custom-searchform input[type=submit] {
  position: absolute;
  right: 0;
  height: 40px;
  width: 40px;
  text-indent: -99999px;
  cursor: pointer;
  text-decoration: none;
  border: none;
  z-index: 9999999999999;
  background: url(../../../elf-theme/assets/icons/search-icon-red.svg) no-repeat center center;
  top: 0px; }

.search-form {
  margin-bottom: 0 !important; }

.search-form input[type=search]:active, .search-form input[type=search]:focus {
  border: none;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border-bottom: 4px solid #CE003A; }

.search_results .results_total {
  margin-top: 20px; }

@media print, screen and (min-width: 40em) {
  .search_results .results_total {
    margin-top: 50px; } }

.search_results .results_info {
  border-radius: 0; }

.search_results .pink_text {
  color: #16404d;
  font-family: "Avenir LT W01_85 Heavy1475544"; }

.search_results ul {
  list-style: none;
  margin: 0px !important; }

.search_results ul li {
  list-style: none;
  border-left: 3px solid #16404d;
  padding-left: 1rem; }

.search_results ul li h2 {
  margin-top: 60px; }

.search_results ul li h5, .search_results ul li section .free_text blockquote p, section .free_text blockquote .search_results ul li p {
  margin-bottom: 8px; }

.search_results ul li p {
  margin-bottom: 20px; }

.search_results ul li a {
  font-weight: 800; }

.search_results ul li a::after {
  display: inline-block;
  margin-left: 10px;
  height: 13px;
  width: 9px;
  content: "";
  background: url(../../../elf-theme/assets/icons/arrow-btn-blue.svg) no-repeat;
  background-size: 9px 13px;
  text-decoration: none;
  vertical-align: middle; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .search_results ul li a::after {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/arrow-btn-blue.svg);
            mask-image: url(../../../elf-theme/assets/icons/arrow-btn-blue.svg);
    -webkit-mask-size: 9px 13px;
            mask-size: 9px 13px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.search_results ul li:before {
  content: none !important; }

#searchform.search_desktop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

#searchform.search_desktop input[type='text'] {
  margin: 0; }

#searchform.search_desktop #search-lang {
  border-radius: 23px;
  padding: 0.7rem 2rem 0.7rem 1rem;
  margin: 0 0 0 20px;
  background-position: calc(100% - 15px) center; }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
  #searchform.search_desktop {
    margin-bottom: 20px; } }

@media print, screen and (max-width: 39.99875em) {
  #searchform.search_desktop {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  #searchform.search_desktop input[type='text'] {
    margin-bottom: 20px; }
  #searchform.search_desktop #search-lang {
    margin: 0 0 20px 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; } }

/** Lists */
section .cell ul:not(.pagination):not(ul.page-numbers):not(.page-numbers):not(.tabs):not(.accordion):not(.social--list):not(.sidebar_list):not(.breadcrumb--navigation):not(.dashed):not(.gform_fields) {
  list-style: none;
  /* Remove default bullets */
  margin-left: 24px;
  margin-right: 20px; }

section .cell ul:not(.pagination):not(ul.page-numbers):not(.page-numbers):not(.tabs):not(.accordion):not(.social--list):not(.sidebar_list):not(.breadcrumb--navigation):not(.dashed):not(.gform_fields) li::before {
  content: "\2022";
  /* Add content: \2022 is the CSS Code/unicode for a bullet */
  color: #a6cdc6;
  /* Change the color */
  font-weight: bold;
  /* If you want it to be bold */
  display: inline-block;
  /* Needed to add space between the bullet and the text */
  width: 1.5em;
  /* Also needed for space (tweak if needed) */
  margin-left: -1.5em;
  /* Also needed for space (tweak if needed) */ }

section .cell ul.accordion li::before {
  content: none; }

section .free_text blockquote {
  position: relative;
  margin: 40px 0; }

section .free_text blockquote:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 12px;
  height: 100%;
  background: #16404d;
  border-radius: 6px; }

/** Tabs */
.tabs {
  background-color: transparent;
  border: none; }

.tabs li.tabs-title {
  margin-right: 4px; }

.tabs li.tabs-title > a {
  color: #79d7be;
  font-size: 1rem;
  text-decoration: none;
  text-transform: uppercase;
  background-color: #F4F4F4; }

.tabs li.tabs-title > a[aria-selected=true] {
  background: #a6cdc6;
  color: #a6cdc6; }

.tabs li.tabs-title a:focus {
  border-radius: 0;
  outline: none;
  -webkit-box-shadow: 0 0 2px #a6cdc6;
          box-shadow: 0 0 2px #a6cdc6; }

.tabs-content {
  border: none; }

.tabs-content .tabs-panel {
  padding: 40px 0;
  margin: 0; }

/** Typography */
@font-face {
  font-family: "Avenir LT W01_55 Roman1475520";
  src: url("../../../elf-theme/assets/fonts/1475520/b290e775-e0f9-4980-914b-a4c32a5e3e36.woff2") format("woff2"), url("../../../elf-theme/assets/fonts/1475520/4b978f72-bb48-46c3-909a-2a8cd2f8819c.woff") format("woff"); }

@font-face {
  font-family: "Avenir LT W01_65 Medium1475532";
  src: url("../../../elf-theme/assets/fonts/1475532/17b90ef5-b63f-457b-a981-503bb7afe3c0.woff2") format("woff2"), url("../../../elf-theme/assets/fonts/1475532/c9aeeabd-dd65-491d-b4be-3e0db9ae47a0.woff") format("woff"); }

@font-face {
  font-family: "Avenir LT W01_85 Heavy1475544";
  src: url("../../../elf-theme/assets/fonts/1475544/d513e15e-8f35-4129-ad05-481815e52625.woff2") format("woff2"), url("../../../elf-theme/assets/fonts/1475544/61bd362e-7162-46bd-b67e-28f366c4afbe.woff") format("woff"); }

@font-face {
  font-family: "Avenir LT W01_95 Black1475556";
  src: url("../../../elf-theme/assets/fonts/1475556/c78eb7af-a1c8-4892-974b-52379646fef4.woff2") format("woff2"), url("..fonts/1475556/75b36c58-2a02-4057-a537-09af0832ae46.woff") format("woff"); }

body {
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0;
  font-weight: 400; }

.subheading {
  font-family: "Avenir LT W01_85 Heavy1475544";
  font-size: 0.875rem;
  line-height: 1.45;
  letter-spacing: 0.275em;
  margin-bottom: 8px;
  text-transform: uppercase;
  color: #a6cdc6; }

.standard-link {
  font-size: 1.125rem;
  text-decoration: none;
  border-bottom: 3px solid #79d7be;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  color: #16404d; }

.standard-link:hover, a.standard-link.active, button.standard-link.active {
  border-bottom: 3px solid #4595E6;
  color: #16404d; }

p.large {
  font-size: 1.25rem;
  margin-bottom: 1.25em; }

h1, h2, h3, h4, h5, section .free_text blockquote p, h6, .updated .date {
  font-weight: normal; }

html {
  margin-top: 0 !important; }

* html body {
  margin-top: 0 !important; }

/** Site Header  */
.site-header {
  position: relative;
  max-width: 100%;
  width: 100%; }

.site-header > .grid-container {
  height: 100%; }

.site-header .header-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  min-height: 55px; }

.site-header a {
  font-weight: normal; }

.site-header .hamburger {
  position: absolute;
  top: 10px;
  right: 16px; }

.site-header .hamburger .hamburger-box {
  height: 10px; }

.site-header .hamburger .hamb_close {
  color: #16404d;
  font-size: 14px;
  opacity: 0;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

.site-header .hamburger.is-active .hamb_close {
  opacity: 1; }

.site-header .hamburger-inner, .site-header .hamburger-inner:after, .site-header .hamburger-inner:before, .site-header .hamburger.is-active .hamburger-inner:after, .site-header .hamburger.is-active .hamburger-inner:before {
  background-color: #16404d; }

.site-header .icon {
  display: block;
  width: 31px;
  height: 31px; }

.site-header .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center left;
     object-position: center left; }

@media print, screen and (min-width: 64em) {
  .site-header .icon {
    width: 100%;
    height: 44px;
    margin: 5px 16px 5px 0; } }

.site-header .icon span {
  position: absolute;
  left: -99999px; }

.site-header .icon.icon-small {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: width 0.25s, height 0.25s;
  -o-transition: width 0.25s, height 0.25s;
  transition: width 0.25s, height 0.25s;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-top: 0;
  margin-bottom: 0; }

@media print, screen and (max-width: 63.99875em) {
  .site-header .icon {
    width: 40px; } }

.site-header .search__wrapper {
  width: 100%;
  padding-left: 24px; }

@media print, screen and (max-width: 39.99875em) {
  .site-header .search__wrapper {
    width: 85%;
    padding-left: 10px;
    margin: 0 auto; } }

.site-header .search__wrapper form {
  position: relative; }

.site-header .search__wrapper input[type="text"] {
  margin: 0px;
  padding: 4px 20px;
  border: 1px solid #e4e5e9;
  border-radius: 35px;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-family: "Avenir LT W01_55 Roman1475520";
  background-color: #F4F4F4; }

@media print, screen and (min-width: 64em) {
  .site-header .search__wrapper input[type="text"] {
    padding: 24px 20px; } }

.site-header .menu {
  display: none;
  width: 100%;
  text-align: center; }

.site-header .menu li {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

@media print, screen and (min-width: 40em) {
  .site-header .menu li:first-child {
    padding-left: 0px; }
  .site-header .menu li:last-child {
    padding-right: 0px; } }

.site-header .menu li:not(.faux-button) a, .site-header .menu li:not(.faux-button) h6, .site-header .menu li:not(.faux-button) .updated .date, .updated .site-header .menu li:not(.faux-button) .date {
  display: block;
  width: 100%;
  padding: 16px 0 5px;
  font-size: 1.125rem;
  font-weight: 400;
  border-bottom: 4px solid transparent;
  margin-bottom: 0;
  line-height: 1; }

.site-header .menu li:not(.faux-button) a:hover, .site-header .menu li:not(.faux-button) a.active {
  color: #a6cdc6;
  text-decoration: none;
  border-bottom-color: #79d7be; }

.site-header .menu li:not(.faux-button) a.search--link {
  width: 20px;
  color: transparent !important;
  background: url(../../../elf-theme/assets/icons/search-icon.svg) no-repeat center right;
  text-indent: -99999px;
  opacity: 0;
  height: 0; }

.site-header .menu li:not(.faux-button) a.section-landing {
  padding: 0px 0px 5px 0px;
  border-bottom: 0; }

.site-header .menu li:not(.faux-button) a.section-landing:hover, .site-header .menu li:not(.faux-button) a.section-landing.active {
  text-decoration: underline; }

.site-header .menu.secondary, .site-header .signup__form .menu.button, .signup__form .site-header .menu.button, .site-header .signup__form li.faux-button a.menu, .signup__form li.faux-button .site-header a.menu, .site-header li.faux-button .signup__form a.menu, li.faux-button .signup__form .site-header a.menu {
  margin: 10px 0 17px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.site-header .menu.secondary > li, .site-header .signup__form .menu.button > li, .signup__form .site-header .menu.button > li, .site-header .signup__form li.faux-button a.menu > li, .signup__form li.faux-button .site-header a.menu > li, .site-header li.faux-button .signup__form a.menu > li, li.faux-button .signup__form .site-header a.menu > li {
  position: relative;
  padding: 0 21px; }

.site-header .menu.secondary > li:nth-child(-n+2), .site-header .signup__form .menu.button > li:nth-child(-n+2), .signup__form .site-header .menu.button > li:nth-child(-n+2), .site-header .signup__form li.faux-button a.menu > li:nth-child(-n+2), .signup__form li.faux-button .site-header a.menu > li:nth-child(-n+2), .site-header li.faux-button .signup__form a.menu > li:nth-child(-n+2), li.faux-button .signup__form .site-header a.menu > li:nth-child(-n+2) {
  border-right: 1px solid #e4e5e9; }

.site-header .menu.secondary > li:nth-last-child(2), .site-header .signup__form .menu.button > li:nth-last-child(2), .signup__form .site-header .menu.button > li:nth-last-child(2), .site-header .signup__form li.faux-button a.menu > li:nth-last-child(2), .signup__form li.faux-button .site-header a.menu > li:nth-last-child(2), .site-header li.faux-button .signup__form a.menu > li:nth-last-child(2), li.faux-button .signup__form .site-header a.menu > li:nth-last-child(2) {
  padding-right: 0px;
  border: none !important; }

.site-header .menu.secondary > li:last-child, .site-header .signup__form .menu.button > li:last-child, .signup__form .site-header .menu.button > li:last-child, .site-header .signup__form li.faux-button a.menu > li:last-child, .signup__form li.faux-button .site-header a.menu > li:last-child, .site-header li.faux-button .signup__form a.menu > li:last-child, li.faux-button .signup__form .site-header a.menu > li:last-child {
  display: none; }

.site-header .menu.secondary > li:not(.faux-button) a, .site-header .signup__form .menu.button > li:not(.faux-button) a, .signup__form .site-header .menu.button > li:not(.faux-button) a, .site-header .signup__form li.faux-button a.menu > li:not(.faux-button) a, .signup__form li.faux-button .site-header a.menu > li:not(.faux-button) a, .site-header li.faux-button .signup__form a.menu > li:not(.faux-button) a, li.faux-button .signup__form .site-header a.menu > li:not(.faux-button) a {
  font-size: 1rem;
  border-bottom: none;
  padding: 0; }

.site-header .menu.secondary > li.languages, .site-header .signup__form .menu.button > li.languages, .signup__form .site-header .menu.button > li.languages, .site-header .signup__form li.faux-button a.menu > li.languages, .signup__form li.faux-button .site-header a.menu > li.languages, .site-header li.faux-button .signup__form a.menu > li.languages, li.faux-button .signup__form .site-header a.menu > li.languages {
  border: 0;
  padding: 0; }

.site-header .menu.secondary > li.languages > a, .site-header .signup__form .menu.button > li.languages > a, .signup__form .site-header .menu.button > li.languages > a, .site-header .signup__form li.faux-button a.menu > li.languages > a, .signup__form li.faux-button .site-header a.menu > li.languages > a, .site-header li.faux-button .signup__form a.menu > li.languages > a, li.faux-button .signup__form .site-header a.menu > li.languages > a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  overflow: hidden;
  background: url(../../../elf-theme/assets/icons/globe.svg) no-repeat center center/contain;
  text-indent: -9999px;
  width: 50px;
  height: 16px; }

.site-header .menu.secondary > li.languages > a:after, .site-header .signup__form .menu.button > li.languages > a:after, .signup__form .site-header .menu.button > li.languages > a:after, .site-header .signup__form li.faux-button a.menu > li.languages > a:after, .signup__form li.faux-button .site-header a.menu > li.languages > a:after, .site-header li.faux-button .signup__form a.menu > li.languages > a:after, li.faux-button .signup__form .site-header a.menu > li.languages > a:after {
  content: '';
  width: 8px;
  height: 5px;
  background: url(../../../elf-theme/assets/icons/down-arrow.svg) no-repeat center center/contain; }

.site-header .menu.secondary > li.languages:hover:before, .site-header .signup__form .menu.button > li.languages:hover:before, .signup__form .site-header .menu.button > li.languages:hover:before, .site-header .signup__form li.faux-button a.menu > li.languages:hover:before, .signup__form li.faux-button .site-header a.menu > li.languages:hover:before, .site-header li.faux-button .signup__form a.menu > li.languages:hover:before, li.faux-button .signup__form .site-header a.menu > li.languages:hover:before, .site-header .menu.secondary > li.languages:focus:before, .site-header .signup__form .menu.button > li.languages:focus:before, .signup__form .site-header .menu.button > li.languages:focus:before, .site-header .signup__form li.faux-button a.menu > li.languages:focus:before, .signup__form li.faux-button .site-header a.menu > li.languages:focus:before, .site-header li.faux-button .signup__form a.menu > li.languages:focus:before, li.faux-button .signup__form .site-header a.menu > li.languages:focus:before, .site-header .menu.secondary > li.languages:focus-within:before, .site-header .signup__form .menu.button > li.languages:focus-within:before, .signup__form .site-header .menu.button > li.languages:focus-within:before, .site-header .signup__form li.faux-button a.menu > li.languages:focus-within:before, .signup__form li.faux-button .site-header a.menu > li.languages:focus-within:before, .site-header li.faux-button .signup__form a.menu > li.languages:focus-within:before, li.faux-button .signup__form .site-header a.menu > li.languages:focus-within:before {
  content: '';
  position: absolute;
  top: 100%;
  right: -80px;
  width: 75vw;
  height: 200px;
  z-index: 998; }

.site-header .menu.secondary > li.languages:hover #language-menu, .site-header .signup__form .menu.button > li.languages:hover #language-menu, .signup__form .site-header .menu.button > li.languages:hover #language-menu, .site-header .signup__form li.faux-button a.menu > li.languages:hover #language-menu, .signup__form li.faux-button .site-header a.menu > li.languages:hover #language-menu, .site-header li.faux-button .signup__form a.menu > li.languages:hover #language-menu, li.faux-button .signup__form .site-header a.menu > li.languages:hover #language-menu, .site-header .menu.secondary > li.languages:focus #language-menu, .site-header .signup__form .menu.button > li.languages:focus #language-menu, .signup__form .site-header .menu.button > li.languages:focus #language-menu, .site-header .signup__form li.faux-button a.menu > li.languages:focus #language-menu, .signup__form li.faux-button .site-header a.menu > li.languages:focus #language-menu, .site-header li.faux-button .signup__form a.menu > li.languages:focus #language-menu, li.faux-button .signup__form .site-header a.menu > li.languages:focus #language-menu, .site-header .menu.secondary > li.languages:focus-within #language-menu, .site-header .signup__form .menu.button > li.languages:focus-within #language-menu, .signup__form .site-header .menu.button > li.languages:focus-within #language-menu, .site-header .signup__form li.faux-button a.menu > li.languages:focus-within #language-menu, .signup__form li.faux-button .site-header a.menu > li.languages:focus-within #language-menu, .site-header li.faux-button .signup__form a.menu > li.languages:focus-within #language-menu, li.faux-button .signup__form .site-header a.menu > li.languages:focus-within #language-menu {
  display: block; }

.site-header .menu.secondary > li #language-menu, .site-header .signup__form .menu.button > li #language-menu, .signup__form .site-header .menu.button > li #language-menu, .site-header .signup__form li.faux-button a.menu > li #language-menu, .signup__form li.faux-button .site-header a.menu > li #language-menu, .site-header li.faux-button .signup__form a.menu > li #language-menu, li.faux-button .signup__form .site-header a.menu > li #language-menu {
  display: none;
  position: fixed;
  top: 136px;
  left: 0;
  right: 0;
  z-index: 999;
  background: #fff;
  text-align: left;
  padding: 20px 0;
  -webkit-transition: display 0 2s;
  -o-transition: display 0 2s;
  transition: display 0 2s; }

.site-header .menu.secondary > li #language-menu h3, .site-header .signup__form .menu.button > li #language-menu h3, .signup__form .site-header .menu.button > li #language-menu h3, .site-header .signup__form li.faux-button a.menu > li #language-menu h3, .signup__form li.faux-button .site-header a.menu > li #language-menu h3, .site-header li.faux-button .signup__form a.menu > li #language-menu h3, li.faux-button .signup__form .site-header a.menu > li #language-menu h3 {
  border-bottom: 2px solid #E4E4E4;
  padding-bottom: 10px;
  margin-top: 30px; }

.site-header .menu.secondary > li #language-menu ul, .site-header .signup__form .menu.button > li #language-menu ul, .signup__form .site-header .menu.button > li #language-menu ul, .site-header .signup__form li.faux-button a.menu > li #language-menu ul, .signup__form li.faux-button .site-header a.menu > li #language-menu ul, .site-header li.faux-button .signup__form a.menu > li #language-menu ul, li.faux-button .signup__form .site-header a.menu > li #language-menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 10px; }

.site-header .menu.secondary > li #language-menu ul li, .site-header .signup__form .menu.button > li #language-menu ul li, .signup__form .site-header .menu.button > li #language-menu ul li, .site-header .signup__form li.faux-button a.menu > li #language-menu ul li, .signup__form li.faux-button .site-header a.menu > li #language-menu ul li, .site-header li.faux-button .signup__form a.menu > li #language-menu ul li, li.faux-button .signup__form .site-header a.menu > li #language-menu ul li {
  text-align: left;
  width: 33%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 10px; }

.site-header .menu.secondary > li #language-menu ul li .label, .site-header .signup__form .menu.button > li #language-menu ul li .label, .signup__form .site-header .menu.button > li #language-menu ul li .label, .site-header .signup__form li.faux-button a.menu > li #language-menu ul li .label, .signup__form li.faux-button .site-header a.menu > li #language-menu ul li .label, .site-header li.faux-button .signup__form a.menu > li #language-menu ul li .label, li.faux-button .signup__form .site-header a.menu > li #language-menu ul li .label {
  text-transform: uppercase;
  background: #F0F0F0;
  width: 46px;
  text-align: center;
  margin-right: 10px; }

.site-header .menu.secondary > li #language-menu a, .site-header .signup__form .menu.button > li #language-menu a, .signup__form .site-header .menu.button > li #language-menu a, .site-header .signup__form li.faux-button a.menu > li #language-menu a, .signup__form li.faux-button .site-header a.menu > li #language-menu a, .site-header li.faux-button .signup__form a.menu > li #language-menu a, li.faux-button .signup__form .site-header a.menu > li #language-menu a {
  display: inline;
  width: auto; }

.site-header .menu.secondary > li #language-menu a[target="_blank"]:after, .site-header .signup__form .menu.button > li #language-menu a[target="_blank"]:after, .signup__form .site-header .menu.button > li #language-menu a[target="_blank"]:after, .site-header .signup__form li.faux-button a.menu > li #language-menu a[target="_blank"]:after, .signup__form li.faux-button .site-header a.menu > li #language-menu a[target="_blank"]:after, .site-header li.faux-button .signup__form a.menu > li #language-menu a[target="_blank"]:after, li.faux-button .signup__form .site-header a.menu > li #language-menu a[target="_blank"]:after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 6px;
  margin-right: 2px;
  background: url("../../../elf-theme/assets/icons/new-window-blue.svg") no-repeat center center/contain; }

.site-header .menu.secondary > li #language-menu:hover, .site-header .signup__form .menu.button > li #language-menu:hover, .signup__form .site-header .menu.button > li #language-menu:hover, .site-header .signup__form li.faux-button a.menu > li #language-menu:hover, .signup__form li.faux-button .site-header a.menu > li #language-menu:hover, .site-header li.faux-button .signup__form a.menu > li #language-menu:hover, li.faux-button .signup__form .site-header a.menu > li #language-menu:hover, .site-header .menu.secondary > li a#language-menu.active, .site-header .signup__form .menu.button > li a#language-menu.active, .signup__form .site-header .menu.button > li a#language-menu.active, .site-header .menu.secondary > li button#language-menu.active, .site-header .signup__form .menu.button > li button#language-menu.active, .signup__form .site-header .menu.button > li button#language-menu.active, .site-header .signup__form li.faux-button a.menu > li button#language-menu.active, .signup__form li.faux-button .site-header a.menu > li button#language-menu.active, .site-header li.faux-button .signup__form a.menu > li button#language-menu.active, li.faux-button .signup__form .site-header a.menu > li button#language-menu.active, .site-header .signup__form li.faux-button a.menu > li a#language-menu.active, .signup__form li.faux-button .site-header a.menu > li a#language-menu.active, .site-header li.faux-button .signup__form a.menu > li a#language-menu.active, li.faux-button .signup__form .site-header a.menu > li a#language-menu.active, .site-header .menu.secondary > li #language-menu:focus, .site-header .signup__form .menu.button > li #language-menu:focus, .signup__form .site-header .menu.button > li #language-menu:focus, .site-header .signup__form li.faux-button a.menu > li #language-menu:focus, .signup__form li.faux-button .site-header a.menu > li #language-menu:focus, .site-header li.faux-button .signup__form a.menu > li #language-menu:focus, li.faux-button .signup__form .site-header a.menu > li #language-menu:focus, .site-header .menu.secondary > li #language-menu:focus-within, .site-header .signup__form .menu.button > li #language-menu:focus-within, .signup__form .site-header .menu.button > li #language-menu:focus-within, .site-header .signup__form li.faux-button a.menu > li #language-menu:focus-within, .signup__form li.faux-button .site-header a.menu > li #language-menu:focus-within, .site-header li.faux-button .signup__form a.menu > li #language-menu:focus-within, li.faux-button .signup__form .site-header a.menu > li #language-menu:focus-within {
  display: block; }

.site-header .menu.secondary > li.faux-button a, .site-header .signup__form .menu.button > li.faux-button a, .signup__form .site-header .menu.button > li.faux-button a, .site-header .signup__form li.faux-button a.menu > li.faux-button a, .signup__form li.faux-button .site-header a.menu > li.faux-button a, .site-header li.faux-button .signup__form a.menu > li.faux-button a, li.faux-button .signup__form .site-header a.menu > li.faux-button a {
  font-size: 1rem;
  margin-bottom: 0;
  border: 0;
  padding-left: 2.75rem;
  padding-right: 2.75rem; }

.site-header .menu.secondary > li.faux-button a:after, .site-header .signup__form .menu.button > li.faux-button a:after, .signup__form .site-header .menu.button > li.faux-button a:after, .site-header .signup__form li.faux-button a.menu > li.faux-button a:after, .signup__form li.faux-button .site-header a.menu > li.faux-button a:after, .site-header li.faux-button .signup__form a.menu > li.faux-button a:after, li.faux-button .signup__form .site-header a.menu > li.faux-button a:after {
  content: none; }

.site-header .menu.secondary > li.search-item, .site-header .signup__form .menu.button > li.search-item, .signup__form .site-header .menu.button > li.search-item, .site-header .signup__form li.faux-button a.menu > li.search-item, .signup__form li.faux-button .site-header a.menu > li.search-item, .site-header li.faux-button .signup__form a.menu > li.search-item, li.faux-button .signup__form .site-header a.menu > li.search-item {
  border: 0; }

.site-header .menu.hide-for-large {
  border-top: 1px solid #868686; }

.site-header .menu.dropdown {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 12px;
  margin-bottom: 6px; }

.site-header .menu.dropdown.items-2, .site-header .menu.dropdown.items-3 {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px; }

.site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent a:after, .site-header .menu.dropdown.nav_child li a:after {
  content: "";
  background: url(../../../elf-theme/assets/icons/down-arrow.svg);
  background-size: 15px 11px;
  width: 15px;
  height: 11px;
  top: 20px;
  right: -25px;
  margin-top: 0;
  border: none; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent a:after, .site-header .menu.dropdown.nav_child li a:after {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
            mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg);
    -webkit-mask-size: 15px 11px;
            mask-size: 15px 11px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent a:hover, .site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent a.active, .site-header .menu.dropdown.nav_child li a:hover, .site-header .menu.dropdown.nav_child li a.active {
  color: #a6cdc6;
  text-decoration: none;
  border-bottom-color: transparent; }

.site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent a:hover:after, .site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent a.active:after, .site-header .menu.dropdown.nav_child li a:hover:after, .site-header .menu.dropdown.nav_child li a.active:after {
  background: url(../../../elf-theme/assets/icons/down-arrow-yellow.svg);
  background-size: 15px 11px;
  width: 15px;
  height: 11px; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent a:hover:after, .site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent a.active:after, .site-header .menu.dropdown.nav_child li a:hover:after, .site-header .menu.dropdown.nav_child li a.active:after {
    background: #79d7be;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/down-arrow-yellow.svg);
            mask-image: url(../../../elf-theme/assets/icons/down-arrow-yellow.svg);
    -webkit-mask-size: 15px 11px;
            mask-size: 15px 11px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent .is-dropdown-submenu, .site-header .menu.dropdown.nav_child li .is-dropdown-submenu {
  margin: 0px;
  list-style: none;
  border: none; }

.site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent .is-dropdown-submenu li a, .site-header .menu.dropdown.nav_child li .is-dropdown-submenu li a {
  text-align: left;
  border: none;
  padding: 10px 25px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

.site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent .is-dropdown-submenu li a::after, .site-header .menu.dropdown.nav_child li .is-dropdown-submenu li a::after {
  content: none; }

.site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent .is-dropdown-submenu li a:hover, .site-header .menu.dropdown.nav_child li.is-dropdown-submenu-parent .is-dropdown-submenu li a.active, .site-header .menu.dropdown.nav_child li .is-dropdown-submenu li a:hover, .site-header .menu.dropdown.nav_child li .is-dropdown-submenu li a.active {
  background-color: #16404d;
  color: #FFF; }

.site-header .menu.dropdown.nav_child li:not(.is-dropdown-submenu-parent) a:hover, .site-header .menu.dropdown.nav_child li:not(.is-dropdown-submenu-parent) a.active {
  color: #a6cdc6;
  text-decoration: none;
  border-bottom-color: #79d7be; }

@media print, screen and (min-width: 64em) {
  .site-header .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: auto;
    text-align: right; }
  .site-header .menu li {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; } }

/** Panel &&  Fixed Position navigation */
body.panel-open {
  -webkit-transition: all 1s bounce;
  -o-transition: all 1s bounce;
  transition: all 1s bounce; }

body.panel-open .site-header {
  height: 184px; }

@media print, screen and (max-width: 63.99875em) {
  body.panel-open .site-header {
    height: 100% !important;
    max-height: 100vh; }
  body.panel-open .site-header .menu {
    display: block; }
  body.panel-open .site-header .menu li {
    border-bottom: 1px solid #F4F4F4; }
  body.panel-open .site-header .menu li a {
    text-align: left;
    font-weight: 700; }
  body.panel-open .site-header .menu li a:hover, body.panel-open .site-header .menu li a.active {
    text-decoration: none; }
  body.panel-open .site-header .menu li:last-child {
    border-bottom: none; }
  body.panel-open .site-header .menu .dropdown-pane ul {
    padding-left: 0;
    padding-right: 0; }
  body.panel-open .site-header .menu .dropdown-pane ul li a {
    font-weight: 400; } }

@media print, screen and (max-width: 39.99875em) {
  body.panel-open #mega__menu__wrapper {
    position: fixed;
    top: 55px;
    left: 0;
    padding: 0 20px;
    height: calc(100vh - 55px); }
  body.panel-open #mega__menu__wrapper .dropdown-pane {
    position: relative;
    top: 10px !important; } }

body.panel-open #mega__menu__wrapper .menu.secondary, body.panel-open #mega__menu__wrapper .signup__form .menu.button, .signup__form body.panel-open #mega__menu__wrapper .menu.button, body.panel-open #mega__menu__wrapper .signup__form li.faux-button a.menu, .signup__form li.faux-button body.panel-open #mega__menu__wrapper a.menu, body.panel-open #mega__menu__wrapper li.faux-button .signup__form a.menu, li.faux-button .signup__form body.panel-open #mega__menu__wrapper a.menu {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border-top: none; }

body.panel-open #mega__menu__wrapper .menu.secondary li, body.panel-open #mega__menu__wrapper .signup__form .menu.button li, .signup__form body.panel-open #mega__menu__wrapper .menu.button li, body.panel-open #mega__menu__wrapper .signup__form li.faux-button a.menu li, .signup__form li.faux-button body.panel-open #mega__menu__wrapper a.menu li, body.panel-open #mega__menu__wrapper li.faux-button .signup__form a.menu li, li.faux-button .signup__form body.panel-open #mega__menu__wrapper a.menu li {
  border-right: none;
  border-bottom: none;
  width: 40%; }

body.panel-open #mega__menu__wrapper .menu.secondary li.faux-button, body.panel-open #mega__menu__wrapper .signup__form .menu.button li.faux-button, .signup__form body.panel-open #mega__menu__wrapper .menu.button li.faux-button, body.panel-open #mega__menu__wrapper .signup__form li.faux-button a.menu li.faux-button, .signup__form li.faux-button body.panel-open #mega__menu__wrapper a.menu li.faux-button, body.panel-open #mega__menu__wrapper li.faux-button .signup__form a.menu li.faux-button, li.faux-button .signup__form body.panel-open #mega__menu__wrapper a.menu li.faux-button {
  display: block;
  padding: 0px;
  width: 60%; }

body.panel-open #mega__menu__wrapper .menu.secondary li.faux-button a, body.panel-open #mega__menu__wrapper .signup__form .menu.button li.faux-button a, .signup__form body.panel-open #mega__menu__wrapper .menu.button li.faux-button a, body.panel-open #mega__menu__wrapper .signup__form li.faux-button a.menu li.faux-button a, .signup__form li.faux-button body.panel-open #mega__menu__wrapper a.menu li.faux-button a, body.panel-open #mega__menu__wrapper li.faux-button .signup__form a.menu li.faux-button a, li.faux-button .signup__form body.panel-open #mega__menu__wrapper a.menu li.faux-button a {
  text-align: center; }

body.panel-open #mega__menu__wrapper .menu.secondary li.languages > a, body.panel-open #mega__menu__wrapper .signup__form .menu.button li.languages > a, .signup__form body.panel-open #mega__menu__wrapper .menu.button li.languages > a, body.panel-open #mega__menu__wrapper .signup__form li.faux-button a.menu li.languages > a, .signup__form li.faux-button body.panel-open #mega__menu__wrapper a.menu li.languages > a, body.panel-open #mega__menu__wrapper li.faux-button .signup__form a.menu li.languages > a, li.faux-button .signup__form body.panel-open #mega__menu__wrapper a.menu li.languages > a {
  background: url(../../../elf-theme/assets/icons/globe.svg) no-repeat left center/contain;
  width: 100%;
  -webkit-box-pack: normal;
      -ms-flex-pack: normal;
          justify-content: normal; }

body.panel-open #mega__menu__wrapper .menu.secondary li.languages > a:after, body.panel-open #mega__menu__wrapper .signup__form .menu.button li.languages > a:after, .signup__form body.panel-open #mega__menu__wrapper .menu.button li.languages > a:after, body.panel-open #mega__menu__wrapper .signup__form li.faux-button a.menu li.languages > a:after, .signup__form li.faux-button body.panel-open #mega__menu__wrapper a.menu li.languages > a:after, body.panel-open #mega__menu__wrapper li.faux-button .signup__form a.menu li.languages > a:after, li.faux-button .signup__form body.panel-open #mega__menu__wrapper a.menu li.languages > a:after {
  margin-left: 25px; }

body.fixed-menu .site-header-fixed {
  position: fixed;
  top: 0;
  z-index: 997;
  background-color: #FFF;
  height: 55px; }

@media only print {
  body.fixed-menu .site-header-fixed {
    position: relative;
    border: none !important; } }

@media print, screen and (min-width: 64em) {
  body.fixed-menu .site-header-fixed {
    height: 184px; } }

@media print, screen and (min-width: 64em) {
  body.fixed-menu .site-header.child_header {
    height: 170px; } }

body.fixed-menu .site-content {
  margin-top: 55px; }

@media print, screen and (min-width: 64em) {
  body.fixed-menu .site-content {
    margin-top: 184px; } }

@media only print {
  body.fixed-menu .site-content {
    margin-top: 0 !important; } }

@media print, screen and (min-width: 64em) {
  body.fixed-menu .site-content.child_theme {
    margin-top: 170px; } }

/* Mega Menu */
@media print, screen and (max-width: 63.99875em) {
  #mega__menu__wrapper {
    overflow-y: scroll; }
  #mega__menu__wrapper #menu-eyebrow-links-1 {
    padding: 15px 0px;
    margin-top: 20px; }
  #mega__menu__wrapper #menu-eyebrow-links-1 li a {
    font-weight: 400; } }

#mega__menu__wrapper.shrinked_menu .mega-menu .mega_menu_inner.dropdown-pane {
  top: 126px !important; }

#mega__menu__wrapper .menu.secondary .languages #language-menu_mob, #mega__menu__wrapper .signup__form .menu.button .languages #language-menu_mob, .signup__form #mega__menu__wrapper .menu.button .languages #language-menu_mob, #mega__menu__wrapper .signup__form li.faux-button a.menu .languages #language-menu_mob, .signup__form li.faux-button #mega__menu__wrapper a.menu .languages #language-menu_mob, #mega__menu__wrapper li.faux-button .signup__form a.menu .languages #language-menu_mob, li.faux-button .signup__form #mega__menu__wrapper a.menu .languages #language-menu_mob {
  display: none;
  position: fixed;
  height: 100%;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  text-align: left;
  padding: 20px 0; }

#mega__menu__wrapper .menu.secondary .languages #language-menu_mob h3, #mega__menu__wrapper .signup__form .menu.button .languages #language-menu_mob h3, .signup__form #mega__menu__wrapper .menu.button .languages #language-menu_mob h3, #mega__menu__wrapper .signup__form li.faux-button a.menu .languages #language-menu_mob h3, .signup__form li.faux-button #mega__menu__wrapper a.menu .languages #language-menu_mob h3, #mega__menu__wrapper li.faux-button .signup__form a.menu .languages #language-menu_mob h3, li.faux-button .signup__form #mega__menu__wrapper a.menu .languages #language-menu_mob h3 {
  border-bottom: 2px solid #E4E4E4;
  padding-bottom: 10px;
  margin-top: 30px; }

#mega__menu__wrapper .menu.secondary .languages #language-menu_mob ul, #mega__menu__wrapper .signup__form .menu.button .languages #language-menu_mob ul, .signup__form #mega__menu__wrapper .menu.button .languages #language-menu_mob ul, #mega__menu__wrapper .signup__form li.faux-button a.menu .languages #language-menu_mob ul, .signup__form li.faux-button #mega__menu__wrapper a.menu .languages #language-menu_mob ul, #mega__menu__wrapper li.faux-button .signup__form a.menu .languages #language-menu_mob ul, li.faux-button .signup__form #mega__menu__wrapper a.menu .languages #language-menu_mob ul {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

#mega__menu__wrapper .menu.secondary .languages #language-menu_mob ul li, #mega__menu__wrapper .signup__form .menu.button .languages #language-menu_mob ul li, .signup__form #mega__menu__wrapper .menu.button .languages #language-menu_mob ul li, #mega__menu__wrapper .signup__form li.faux-button a.menu .languages #language-menu_mob ul li, .signup__form li.faux-button #mega__menu__wrapper a.menu .languages #language-menu_mob ul li, #mega__menu__wrapper li.faux-button .signup__form a.menu .languages #language-menu_mob ul li, li.faux-button .signup__form #mega__menu__wrapper a.menu .languages #language-menu_mob ul li {
  width: 50%;
  margin-bottom: 20px;
  text-align: left;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 10px; }

#mega__menu__wrapper .menu.secondary .languages #language-menu_mob ul li .label, #mega__menu__wrapper .signup__form .menu.button .languages #language-menu_mob ul li .label, .signup__form #mega__menu__wrapper .menu.button .languages #language-menu_mob ul li .label, #mega__menu__wrapper .signup__form li.faux-button a.menu .languages #language-menu_mob ul li .label, .signup__form li.faux-button #mega__menu__wrapper a.menu .languages #language-menu_mob ul li .label, #mega__menu__wrapper li.faux-button .signup__form a.menu .languages #language-menu_mob ul li .label, li.faux-button .signup__form #mega__menu__wrapper a.menu .languages #language-menu_mob ul li .label {
  margin-right: 15px;
  text-transform: uppercase;
  background: #F0F0F0;
  width: 46px;
  text-align: center; }

#mega__menu__wrapper .menu.secondary .languages #language-menu_mob a, #mega__menu__wrapper .signup__form .menu.button .languages #language-menu_mob a, .signup__form #mega__menu__wrapper .menu.button .languages #language-menu_mob a, #mega__menu__wrapper .signup__form li.faux-button a.menu .languages #language-menu_mob a, .signup__form li.faux-button #mega__menu__wrapper a.menu .languages #language-menu_mob a, #mega__menu__wrapper li.faux-button .signup__form a.menu .languages #language-menu_mob a, li.faux-button .signup__form #mega__menu__wrapper a.menu .languages #language-menu_mob a {
  display: inline;
  width: auto; }

#mega__menu__wrapper .menu.secondary .languages #language-menu_mob a[target="_blank"]:after, #mega__menu__wrapper .signup__form .menu.button .languages #language-menu_mob a[target="_blank"]:after, .signup__form #mega__menu__wrapper .menu.button .languages #language-menu_mob a[target="_blank"]:after, #mega__menu__wrapper .signup__form li.faux-button a.menu .languages #language-menu_mob a[target="_blank"]:after, .signup__form li.faux-button #mega__menu__wrapper a.menu .languages #language-menu_mob a[target="_blank"]:after, #mega__menu__wrapper li.faux-button .signup__form a.menu .languages #language-menu_mob a[target="_blank"]:after, li.faux-button .signup__form #mega__menu__wrapper a.menu .languages #language-menu_mob a[target="_blank"]:after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 6px;
  margin-right: 2px;
  background: url("../../../elf-theme/assets/icons/new-window-blue.svg") no-repeat center center/contain; }

#mega__menu__wrapper .menu.secondary .languages #language-menu_mob .language_mobile_arrow, #mega__menu__wrapper .signup__form .menu.button .languages #language-menu_mob .language_mobile_arrow, .signup__form #mega__menu__wrapper .menu.button .languages #language-menu_mob .language_mobile_arrow, #mega__menu__wrapper .signup__form li.faux-button a.menu .languages #language-menu_mob .language_mobile_arrow, .signup__form li.faux-button #mega__menu__wrapper a.menu .languages #language-menu_mob .language_mobile_arrow, #mega__menu__wrapper li.faux-button .signup__form a.menu .languages #language-menu_mob .language_mobile_arrow, li.faux-button .signup__form #mega__menu__wrapper a.menu .languages #language-menu_mob .language_mobile_arrow {
  position: absolute;
  top: 65px;
  right: 35px; }

.mega-menu .mega_menu_inner.dropdown-pane {
  width: 100%;
  margin: 0 auto !important;
  top: 184px !important;
  left: 0 !important;
  right: 0 !important;
  position: fixed;
  border-radius: 0; }

.mega-menu .mega_menu_inner.dropdown-pane .grid-container {
  width: 100%; }

.mega-menu .mega_menu_inner.dropdown-pane li {
  padding: 0px; }

.mega-menu .mega_menu_inner.dropdown-pane li a {
  border-bottom: none;
  text-underline-position: auto; }

@media print, screen and (min-width: 40em) {
  .mega-menu .mega_menu_inner.dropdown-pane li a {
    padding: 5px 10px !important; } }

.mega-menu .mega_menu_inner.dropdown-pane li a:hover, .mega-menu .mega_menu_inner.dropdown-pane li a.active {
  text-decoration: underline; }

.mega-menu .menu {
  background: none; }

.mega-menu .menu.vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: left; }

.mega-menu .menu.vertical li {
  border-bottom: none; }

.mega-menu .menu.vertical li::before {
  content: none; }

.mega-menu .mega--padding {
  padding-bottom: 20px; }

.mega-menu .menu-stretch {
  margin-left: -20px;
  margin-right: -20px; }

.mega-menu .banner-link {
  border: none !important; }

.mega-menu .section--home {
  background-color: #F4F4F4;
  margin-bottom: 20px;
  padding: 10px 0; }

.mega-menu .section--home a {
  font-size: 1rem;
  text-decoration: underline; }

.mega-menu .border--right {
  border-right: 1px solid #e4e5e9;
  border-right: none; }

.mega-menu .side--panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

@media print, screen and (min-width: 64em) {
  .mega-menu .side--panel {
    padding-right: 20px; } }

.mega-menu .side--panel span {
  display: block;
  color: #FFF; }

.mega-menu .side--panel a {
  padding-top: 0 !important; }

.mega-menu .side--panel .menu_cta_block {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  background-color: #a6cdc6;
  padding: 22px; }

.mega-menu .side--panel .menu_cta_block a {
  display: inline !important;
  color: #FFF !important;
  border-bottom-color: #79d7be !important; }

.mega-menu .side--panel .menu_cta_block a:hover, .mega-menu .side--panel .menu_cta_block a.active {
  text-decoration: none; }

.mega-menu .side--panel .menu_cta_block .mobile_banner {
  margin-top: 40px; }

.mega-menu .col {
  display: inline-block;
  margin: 0;
  width: 100%;
  vertical-align: top; }

@media print, screen and (min-width: 64em) {
  .mega-menu .col {
    width: 33%; } }

.mega-menu .col ul {
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 20px; }

.mega-menu .col ul li a {
  padding: 5px 10px 5px 10px;
  font-size: 1rem; }

@media print, screen and (min-width: 40em) {
  .mega-menu .col .menu--title {
    padding: 0 20px 0 20px; } }

.mega-menu .col .menu--title a, .mega-menu .col .menu--title h6, .mega-menu .col .menu--title .updated .date, .updated .mega-menu .col .menu--title .date {
  border-bottom: none !important; }

.mega-menu .col .menu--title hr {
  height: 1px;
  margin-top: 10px; }

@media print, screen and (max-width: 39.99875em) {
  .mega-menu .col .menu--title hr {
    margin-bottom: 0; } }

.mega-menu .menu--cta {
  display: block;
  width: 100%; }

.mega-menu .menu--cta .menu--banner {
  width: 100%;
  padding: 20px; }

.shrink--hide {
  height: auto;
  opacity: 1;
  -webkit-transition: height 0ms 0ms, opacity 600ms 0ms;
  -o-transition: height 0ms 0ms, opacity 600ms 0ms;
  transition: height 0ms 0ms, opacity 600ms 0ms; }

#site-header.menu__small {
  border-bottom: 3px solid #a6cdc6; }

@media print, screen and (min-width: 64em) {
  #site-header.menu__small {
    height: auto;
    min-height: 130px; } }

#site-header.menu__small .shrink--hide {
  opacity: 0;
  height: 0;
  -webkit-transition: height 0ms 100ms, opacity 100ms 0ms;
  -o-transition: height 0ms 100ms, opacity 100ms 0ms;
  transition: height 0ms 100ms, opacity 100ms 0ms; }

@media print, screen and (min-width: 64em) {
  #site-header.menu__small .icon.icon-small {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    width: 70px;
    height: 70px; } }

#site-header.menu__small #language-menu {
  top: 126px; }

#site-header.menu__small .menu li a.search--link {
  display: inline-block;
  height: 18px;
  opacity: 1;
  -webkit-transition: opacity 400ms 0ms;
  -o-transition: opacity 400ms 0ms;
  transition: opacity 400ms 0ms;
  right: 0; }

#site-header.menu__small .menu.dropdown {
  float: right;
  width: 90%; }

#site-header.menu__small .menu.secondary > li:last-child, #site-header.menu__small .signup__form .menu.button > li:last-child, .signup__form #site-header.menu__small .menu.button > li:last-child, #site-header.menu__small .signup__form li.faux-button a.menu > li:last-child, .signup__form li.faux-button #site-header.menu__small a.menu > li:last-child, #site-header.menu__small li.faux-button .signup__form a.menu > li:last-child, li.faux-button .signup__form #site-header.menu__small a.menu > li:last-child {
  display: block;
  width: 40px;
  padding: 0; }

.dropdown-pane.custom {
  padding: 0;
  text-align: left;
  border: 0; }

.header-spacer {
  width: 100%;
  height: 80px;
  display: grid; }

@media print, screen and (min-width: 64em) {
  .header-spacer {
    height: 200px; } }

.bgFilter {
  background-color: #16404d;
  opacity: 0;
  width: 100vw;
  height: 100vh;
  z-index: 996; }

.header4_v2 .header4_v2_trafficLight {
  margin: 2rem 0 1.5rem 0; }

.header4_v2 .header4_v2_trafficLight .trafficLight_green {
  text-transform: uppercase;
  padding: .85em 2.3em;
  background-color: #CCE0D0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }

.header4_v2 .header4_v2_trafficLight .trafficLight_red {
  text-transform: uppercase;
  padding: .85em 2.3em;
  background-color: #FAE7EC;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }

/** FOOTER  */
.site-footer {
  color: #FFF;
  background-color: #16404d;
  padding: 80px 0 20px 0; }

.site-footer h6, .site-footer .updated .date, .updated .site-footer .date {
  color: #FFF;
  margin-bottom: 30px; }

.site-footer a:not(.button) {
  color: #FFF;
  text-underline-position: auto; }

.site-footer .button, .site-footer li.faux-button a, li.faux-button .site-footer a {
  width: 100%;
  margin-top: 20px; }

.site-footer .cell.auto {
  margin-left: auto; }

@media print, screen and (max-width: 39.99875em) {
  .site-footer .cell.auto {
    width: 100%; } }

.site-footer ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

@media print, screen and (max-width: 63.99875em) {
  .site-footer ul.footer--links {
    margin-bottom: 30px; } }

.site-footer ul.footer--links li a {
  display: inline-block;
  padding-right: 30px; }

.site-footer ul.footer--links li a[target="_blank"]:after {
  content: "";
  background: url(../../../elf-theme/assets/icons/external-link-icon.svg) no-repeat center center/contain;
  width: 30px;
  height: 11px;
  margin-right: -30px;
  display: inline-block; }

.site-footer ul.terms-list {
  width: 100%;
  border-top: 2px solid #a6cdc6;
  border-top: 2px solid rgba(255, 255, 255, 0.3);
  margin-top: 40px;
  padding-top: 20px; }

.site-footer ul.terms-list li {
  float: left;
  margin-right: 10px;
  padding-bottom: 5px; }

.site-footer ul.terms-list li a {
  border-right: 1px solid #FFF;
  padding-right: 10px;
  text-decoration: none; }

.site-footer ul.terms-list li a:hover, .site-footer ul.terms-list li a.active {
  text-decoration: underline; }

.site-footer ul.terms-list li a.last {
  border-right: none; }

.site-footer ul.terms-list li a:last-child a {
  border-right: none; }

.site-footer ul.terms-list li:last-child a {
  border-right: none; }

.site-footer ul.social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  vertical-align: middle;
  margin-top: 20px;
  margin-left: 0px; }

.site-footer ul.social li {
  width: 25%;
  max-width: 60px;
  margin-left: 20px; }

.site-footer ul.social li a i {
  position: relative;
  display: inline-block;
  color: #16404d;
  background: #FFF;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  border-radius: 50%;
  margin: 0;
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s; }

.site-footer ul.social li a i:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 1.5rem; }

.site-footer ul.social li a:hover i, .site-footer ul.social li a.active i {
  background: #79d7be; }

@media print, screen and (min-width: 64em) {
  .site-footer ul.social li {
    margin-left: 15px; } }

.site-footer ul.social li:first-child {
  margin-left: 0px; }

.site-footer .microsite-logo {
  text-align: center; }

.site-footer .footer__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media print, screen and (max-width: 63.99875em) {
  .site-footer .footer__logo {
    text-align: left; } }

.site-footer .footer__logo a.icon:first-child {
  margin-right: 20px;
  padding-right: 20px;
  border-right: 1px solid #fff; }

.site-footer .icon {
  display: inline-block;
  margin: 0;
  max-width: 100%;
  width: 229px;
  height: 53px;
  margin-bottom: 40px; }

.site-footer .icon img {
  width: 100%;
  height: 100%;
  -o-object-position: center left;
     object-position: center left;
  -o-object-fit: contain;
     object-fit: contain; }

.site-footer .icon span {
  position: absolute;
  left: -99999px; }

.site-footer .border-col {
  padding-top: 20px; }

@media print, screen and (min-width: 64em) {
  .site-footer .border-col {
    padding-top: initial;
    padding-left: 0;
    border-top: 0; } }

.site-footer .border-col span {
  vertical-align: top; }

.site-footer .search__wrapper {
  position: relative;
  margin-bottom: 25px; }

@media print, screen and (min-width: 40em) {
  .site-footer .search__wrapper {
    margin-bottom: auto; } }

.site-footer .search__wrapper input[type="text"] {
  padding: 24px 20px;
  width: 100%;
  border-radius: 25px;
  background-color: #FFF; }

.site-footer .search__wrapper input[type="text"]:focus {
  outline: none !important; }

@media print, screen and (min-width: 40em) {
  .site-footer .search__wrapper input[type="submit"] {
    right: 10px; } }

.disclaimer_footer {
  padding: 20px 0px; }

.disclaimer_footer .disclaimer_content p {
  font-size: 12px;
  color: #707070;
  margin: 0px; }

.disclaimer_footer .disclaimer_imgs {
  border-radius: 0;
  text-align: right; }

.disclaimer_footer .disclaimer_imgs img.disclaimer_img {
  margin-top: 20px; }

@media print, screen and (min-width: 40em) {
  .disclaimer_footer .disclaimer_imgs img.disclaimer_img {
    margin-top: 0px;
    margin-left: 30px; } }

body.microsite .site-footer {
  padding: 34px 0 34px; }

.heading {
  display: block;
  position: relative;
  margin-bottom: 20px; }

.heading h1, .heading h2, .heading h3, .heading h4, .heading h5, .heading section .free_text blockquote p, section .free_text blockquote .heading p, .heading h6, .heading .updated .date, .updated .heading .date, .heading span, .heading a {
  display: inline-block; }

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

.heading hr {
  margin-top: 0;
  margin-bottom: 10px; }

.heading p {
  color: #16404d; }

.heading .heading--tag {
  display: block; }

.heading .text-right {
  text-align: unset;
  margin-top: 10px;
  margin-bottom: 20px; }

@media print, screen and (min-width: 40em) {
  .heading .text-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; } }

article .heading {
  margin-bottom: 20px; }

hr {
  border: none;
  height: 2px;
  background: #E4E4E4;
  margin-top: 30px;
  margin-bottom: 20px; }

.overlap__margin {
  margin-top: 30px; }

@media print, screen and (min-width: 40em) {
  .overlap__margin {
    margin-top: -72px; } }

.overlap__margin .text__wrapper {
  background-color: #FFF; }

.overlap__margin .text__wrapper h5, .overlap__margin .text__wrapper section .free_text blockquote p, section .free_text blockquote .overlap__margin .text__wrapper p {
  font-size: 1.375rem; }

@media print, screen and (min-width: 40em) {
  .filter_options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.filter_options select, .filter_options input {
  display: block; }

@media print, screen and (min-width: 40em) {
  .filter_options select, .filter_options input {
    display: inline-block;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; } }

.filter_options select, .filter_options input {
  width: 100%;
  max-width: 100%;
  height: 45px;
  margin-right: 20px; }

@media print, screen and (min-width: 40em) {
  .filter_options select, .filter_options input {
    width: auto;
    max-width: 200px; } }

@media print, screen and (min-width: 40em) {
  .filter_options input[type=submit] {
    width: 100%;
    max-width: 260px;
    margin-right: 0; } }

.grey_outer_wrap {
  background-color: #F4F4F4 !important; }

.updated span {
  font-size: 0.875rem !important; }

.updated .date {
  color: #B1B1B1; }

.tags {
  font-size: 0.875rem;
  font-family: "Avenir LT W01_55 Roman1475520";
  text-transform: uppercase;
  color: #16404d; }

/** Breadcrumb */
.breadcrumb-wrap {
  background-color: #F4F4F4; }

.breadcrumb .breadcrumb--navigation {
  overflow: hidden;
  list-style: none;
  margin: 15px 0 15px;
  color: #16404d; }

@media print, screen and (min-width: 64em) {
  .breadcrumb .breadcrumb--navigation {
    margin-left: 0px; } }

.breadcrumb .breadcrumb--navigation li a {
  text-decoration: underline; }

.breadcrumb .breadcrumb--navigation li a.active, .breadcrumb .breadcrumb--navigation li a:hover, .breadcrumb .breadcrumb--navigation li a.active {
  text-decoration: none; }

@media only print {
  .breadcrumb {
    display: none !important; } }

@media only print {
  #breadcrumbs {
    display: none !important; } }

.home p#breadcrumbs {
  display: none; }

#search__wrapper {
  position: fixed;
  top: -100%;
  left: 0;
  right: 0;
  opacity: 0;
  z-index: 998 !important;
  background-color: #F4F4F4; }

#search__wrapper.show {
  opacity: 1;
  top: 0; }

#search__wrapper.show #search-close {
  display: block; }

#search__wrapper .icon {
  display: inline-block;
  margin-top: 9px;
  width: 31px;
  height: 31px; }

#search__wrapper .icon span {
  position: absolute;
  left: -99999px; }

#search__wrapper .icon.icon-small {
  background-position: left;
  background-size: contain;
  display: none; }

#search__wrapper #search-close {
  background: url(../../../elf-theme/assets/icons/close-popup.svg) no-repeat center center/contain;
  height: 17px;
  width: 17px;
  text-indent: -9999px;
  position: fixed;
  right: 20px;
  top: 19px;
  display: none; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  #search__wrapper #search-close {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/close-popup.svg);
            mask-image: url(../../../elf-theme/assets/icons/close-popup.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center center;
            mask-position: center center; } }

@media print, screen and (min-width: 64em) {
  #search__wrapper #search-close {
    position: absolute;
    top: 34px;
    right: 9px; } }

#search__wrapper form {
  margin-top: 20px; }

#search__wrapper .search-form {
  margin-bottom: 50px; }

#search__wrapper .card ul {
  margin-left: unset; }

#search__wrapper .card ul li:before {
  content: unset; }

@media print, screen and (min-width: 64em) {
  #search__wrapper {
    min-height: 184px; } }

.search__wrapper input[type=submit], .search__wrapper .search-icon {
  background: url(../../../elf-theme/assets/icons/search-icon.svg) no-repeat center right 20px;
  position: absolute;
  top: 50%;
  right: 0px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 50px;
  width: 100%;
  text-indent: -99999px;
  cursor: pointer;
  text-decoration: none;
  border: none;
  outline: none; }

@media print, screen and (min-width: 40em) {
  .search__wrapper input[type=submit], .search__wrapper .search-icon {
    z-index: 995; } }

/** ARTICLE  */
article {
  padding-top: 40px;
  padding-bottom: 40px; }

article .other-translations {
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  padding: 40px 55px !important;
  margin-top: 40px !important; }

article .other-translations select {
  margin: 0 !important; }

article .factsheet-content {
  margin-top: 55px; }

article + .signup_form {
  margin-top: 0px !important; }

/** Typography page */
.article__page .article__title, .article__page .button__title, .button__page .article__title, .button__page .button__title {
  margin: 60px 0; }

.article__page .article__title .article__title_border, .article__page .article__title .button_title_border, .article__page .button__title .article__title_border, .article__page .button__title .button_title_border, .button__page .article__title .article__title_border, .button__page .article__title .button_title_border, .button__page .button__title .article__title_border, .button__page .button__title .button_title_border {
  color: #898989;
  padding-bottom: 20px;
  border-bottom: 1px solid #898989;
  margin-bottom: 40px; }

.article__page .article__inline, .button__page .article__inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin: 0; }

.article__page .article__color_sphere, .button__page .article__color_sphere {
  border-radius: 50%;
  width: 40%;
  height: 0;
  padding-bottom: 40%;
  margin: auto; }

.article__page .article__color_sphere.primary_one, .button__page .article__color_sphere.primary_one {
  background-color: #16404d; }

.article__page .article__color_sphere.primary_two, .button__page .article__color_sphere.primary_two {
  background-color: #a6cdc6; }

.article__page .article__color_sphere.primary_three, .button__page .article__color_sphere.primary_three {
  background-color: #a6cdc6; }

.article__page .article__color_sphere.secondary_one, .button__page .article__color_sphere.secondary_one {
  background-color: #79d7be; }

.article__page .article__color_hex_primary, .article__page .article__color_hex_secondary, .button__page .article__color_hex_primary, .button__page .article__color_hex_secondary {
  width: 40%;
  margin: 30px auto;
  text-align: center; }

.article__page .article__text .article__text_label, .button__page .article__text .article__text_label {
  color: #898989;
  margin-top: 40px;
  margin-bottom: 20px; }

.article__page .article__text .article__text_color, .button__page .article__text .article__text_color {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  margin-right: 20px;
  border: 1px solid #79d7be; }

.article__page .article__text .article__text_color.text_black, .button__page .article__text .article__text_color.text_black {
  background-color: #000; }

.article__page .article__text .article__text_color.text_white, .button__page .article__text .article__text_color.text_white {
  background-color: #FFF; }

.article__page .article__text .article__text_color.text_cobalt, .button__page .article__text .article__text_color.text_cobalt {
  background-color: #a6cdc6; }

.article__page .article__text .article__text_color.text_grey, .button__page .article__text .article__text_color.text_grey {
  background-color: #79d7be; }

.article__page .article__text .article__text_color.text_grey_light, .button__page .article__text .article__text_color.text_grey_light {
  background-color: #767175; }

.article__page .article__text .article__text_color.text_blue, .button__page .article__text .article__text_color.text_blue {
  background-color: #79d7be; }

.free_text .cell {
  margin-left: 0;
  margin-right: 0; }

.free_text h2 {
  font-family: "Avenir LT W01_85 Heavy1475544", Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.25rem;
  line-height: 1.625rem;
  margin-bottom: 19px; }

@media print, screen and (min-width: 40em) {
  .free_text h2 {
    font-size: 1.75rem;
    line-height: 2rem;
    margin-bottom: 22px; } }

.article__feature h1:not(:first-of-type), .article__feature h2:not(:first-of-type), .article__feature h3:not(:first-of-type), .article__feature h4:not(:first-of-type), .article__feature h5:not(:first-of-type), .article__feature section .free_text blockquote p:not(:first-of-type), section .free_text blockquote .article__feature p:not(:first-of-type), .article__feature h6:not(:first-of-type), .article__feature .updated .date:not(:first-of-type), .updated .article__feature .date:not(:first-of-type), .article__feature .h1:not(:first-of-type), .article__feature .h2:not(:first-of-type), .article__feature .h3:not(:first-of-type), .article__feature .h4:not(:first-of-type), .article__feature .h5:not(:first-of-type), .article__feature .h6:not(:first-of-type) {
  margin-top: 40px; }

.article__feature ul {
  margin-left: 40px;
  margin-right: 20px; }

.article__feature ol {
  margin-left: 1.5rem;
  list-style: none;
  counter-reset: li; }

.article__feature ol li {
  margin-left: 1.5rem;
  margin-bottom: 5px;
  counter-increment: li; }

.article__feature ol li::before {
  content: counter(li);
  background-color: #a6cdc6;
  color: #FFF;
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  margin-left: -4em;
  margin-right: 2.4em;
  text-align: center;
  direction: rtl;
  border-radius: 50%;
  font-size: 0.75rem; }

.news_intro_content {
  margin-top: 80px; }

@media print, screen and (min-width: 40em) {
  .news_intro_content, .news_content {
    padding-left: 20px;
    padding-right: 20px; } }

.contents_table {
  background-color: #F4F4F4;
  border-radius: 8px; }

.contents_table .accordion {
  background: none; }

.contents_table .accordion .accordion-item .accordion-title {
  margin: 30px 24px 0;
  border-bottom: 1px solid transparent;
  border-radius: 0px !important;
  padding-top: 0px !important;
  -webkit-transition: border 0.25s;
  -o-transition: border 0.25s;
  transition: border 0.25s; }

.contents_table .accordion .accordion-item .accordion-title:before {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.contents_table .accordion .accordion-item.is-active .accordion-title {
  border-bottom: 1px solid #a3a3a3; }

.contents_table .accordion .accordion-item.is-active .accordion-title:before {
  -webkit-transform: translateY(-100%) rotate(-180deg);
      -ms-transform: translateY(-100%) rotate(-180deg);
          transform: translateY(-100%) rotate(-180deg); }

@media print, screen and (min-width: 40em) {
  .contents_table .accordion .accordion-item .accordion-content {
    padding: 20px 58px; } }

.contents_table .accordion .accordion-item .accordion-content a {
  text-decoration: none;
  font-weight: bold; }

.contents_table .accordion .accordion-item .accordion-content a .arrow-btn {
  top: 2px;
  height: 15px;
  min-width: 15px;
  position: relative;
  display: inline-block;
  margin: auto 10px auto 0;
  content: "";
  background: url(../../../elf-theme/assets/icons/btnarrow.svg);
  background-size: 15px 15px;
  text-decoration: none; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .contents_table .accordion .accordion-item .accordion-content a .arrow-btn {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/btnarrow.svg);
            mask-image: url(../../../elf-theme/assets/icons/btnarrow.svg);
    -webkit-mask-size: 15px 15px;
            mask-size: 15px 15px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.contents_table .accordion .accordion-item .accordion-content a:hover, .contents_table .accordion .accordion-item .accordion-content a.active {
  color: #16404d; }

.contents_table .accordion .accordion-item .accordion-content a:hover .arrow-btn, .contents_table .accordion .accordion-item .accordion-content a.active .arrow-btn {
  background: url(../../../elf-theme/assets/icons/btnarrow-hover.svg); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .contents_table .accordion .accordion-item .accordion-content a:hover .arrow-btn, .contents_table .accordion .accordion-item .accordion-content a.active .arrow-btn {
    background: #79d7be;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/btnarrow-hover.svg);
            mask-image: url(../../../elf-theme/assets/icons/btnarrow-hover.svg);
    -webkit-mask-size: 15px 15px;
            mask-size: 15px 15px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

/** AWARD */
@media print, screen and (min-width: 64em) {
  .award__hero {
    padding-left: 20px;
    padding-right: 20px; } }

.award__hero .reg_opens, .award__hero .reg_closes {
  padding-right: 30px; }

.award__hero .reg_opens {
  margin-bottom: 30px; }

@media print, screen and (min-width: 40em) {
  .award__hero .reg_opens {
    margin-bottom: unset; } }

.award__hero .button, .award__hero li.faux-button a, li.faux-button .award__hero a {
  margin-top: 30px; }

/** CARD */
.card {
  overflow: hidden;
  border-radius: 5px;
  position: relative; }

.card ul {
  list-style: none; }

.card ul li {
  margin-bottom: 1em; }

.card ul li::before {
  content: "\25CF";
  color: #649ADB;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em; }

.card .img_link {
  text-decoration: none; }

.card .card-link {
  text-decoration: none;
  color: initial; }

.card .card-link > div:not([class]) {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.card .card-link > div:not([class]) .text__wrapper {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.card .card-link.override:hover, .card a.card-link.override.active, .card button.card-link.override.active {
  text-decoration: underline; }

.card .card-link h5:hover, .card .card-link section .free_text blockquote p:hover, section .free_text blockquote .card .card-link p:hover, .card .card-link .h5:hover, .card .card-link a.h5.active, .card .card-link button.h5.active {
  text-decoration: underline !important; }

.card .card-link .text__wrapper {
  color: #16404d;
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s;
  padding: 20px; }

.card .card-link .text__wrapper .subheading {
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s; }

.card .card-link .text__wrapper h5, .card .card-link .text__wrapper section .free_text blockquote p, section .free_text blockquote .card .card-link .text__wrapper p, .card .card-link .text__wrapper .h5 {
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s; }

.card .card-link:hover .text__wrapper, .card a.card-link.active .text__wrapper, .card button.card-link.active .text__wrapper {
  background: #16404d;
  color: #FFF;
  border-color: #16404d; }

.card .card-link:hover .text__wrapper li, .card a.card-link.active .text__wrapper li, .card button.card-link.active .text__wrapper li {
  color: #FFF; }

.card .card-link:hover .text__wrapper .subheading, .card a.card-link.active .text__wrapper .subheading, .card button.card-link.active .text__wrapper .subheading {
  color: #FFF; }

.card .card-link:hover .text__wrapper h5, .card a.card-link.active .text__wrapper h5, .card button.card-link.active .text__wrapper h5, .card .card-link:hover .text__wrapper section .free_text blockquote p, section .free_text blockquote .card .card-link:hover .text__wrapper p, .card a.card-link.active .text__wrapper section .free_text blockquote p, section .free_text blockquote .card a.card-link.active .text__wrapper p, .card button.card-link.active .text__wrapper section .free_text blockquote p, section .free_text blockquote .card button.card-link.active .text__wrapper p, .card .card-link:hover .text__wrapper .h5, .card a.card-link.active .text__wrapper .h5, .card button.card-link.active .text__wrapper .h5 {
  color: #79d7be; }

.card .card-link:hover .text__wrapper h5:after, .card a.card-link.active .text__wrapper h5:after, .card button.card-link.active .text__wrapper h5:after, .card .card-link:hover .text__wrapper section .free_text blockquote p:after, section .free_text blockquote .card .card-link:hover .text__wrapper p:after, .card a.card-link.active .text__wrapper section .free_text blockquote p:after, section .free_text blockquote .card a.card-link.active .text__wrapper p:after, .card button.card-link.active .text__wrapper section .free_text blockquote p:after, section .free_text blockquote .card button.card-link.active .text__wrapper p:after, .card .card-link:hover .text__wrapper .h5:after, .card a.card-link.active .text__wrapper .h5:after, .card button.card-link.active .text__wrapper .h5:after {
  /* // Removed due to long title conflicts background-image: url(../../../elf-theme/assets/icons/arrow-btn-yellow.svg); @supports(mask-image: url("")) { background: $secondary-one; mask-image: url(../../../elf-theme/assets/icons/arrow-btn-yellow.svg); mask-size: 9px 13px; mask-repeat: no-repeat; } */ }

.card .overlay-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-indent: -99999px;
  z-index: 0; }

.card.has-image {
  min-height: 255px; }

.card.has-image:hover .overlay-image, a.card.has-image.active .overlay-image, button.card.has-image.active .overlay-image {
  opacity: 0; }

.card.has-link {
  -webkit-transition: background 0.25s;
  -o-transition: background 0.25s;
  transition: background 0.25s; }

.card.has-link:hover, a.card.has-link.active, button.card.has-link.active, .card.has-link.has-image {
  background-color: #16404d; }

.card.has-link:hover a, a.card.has-link.active a, button.card.has-link.active a, .card.has-link.has-image a {
  color: #79d7be; }

.card.has-link:hover h4, a.card.has-link.active h4, button.card.has-link.active h4, .card.has-link:hover h5, a.card.has-link.active h5, button.card.has-link.active h5, .card.has-link:hover section .free_text blockquote p, section .free_text blockquote .card.has-link:hover p, a.card.has-link.active section .free_text blockquote p, section .free_text blockquote a.card.has-link.active p, button.card.has-link.active section .free_text blockquote p, section .free_text blockquote button.card.has-link.active p, a.card.has-link.button.active section .free_text blockquote p, section .free_text blockquote a.card.has-link.button.active p, li.faux-button a.card.has-link.active section .free_text blockquote p, section .free_text blockquote li.faux-button a.card.has-link.active p, .card.has-link:hover p, a.card.has-link.active p, button.card.has-link.active p, .card.has-link:hover a[href^="mailto:"], a.card.has-link.active a[href^="mailto:"], button.card.has-link.active a[href^="mailto:"], .card.has-link:hover a[href^="tel:"], a.card.has-link.active a[href^="tel:"], button.card.has-link.active a[href^="tel:"], .card.has-link:hover li, a.card.has-link.active li, button.card.has-link.active li, .card.has-link.has-image h4, .card.has-link.has-image h5, .card.has-link.has-image section .free_text blockquote p, section .free_text blockquote .card.has-link.has-image p, .card.has-link.has-image p, .card.has-link.has-image a[href^="mailto:"], .card.has-link.has-image a[href^="tel:"], .card.has-link.has-image li {
  color: #FFF; }

.card .overlay-image {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-indent: -99999px;
  z-index: 2;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  pointer-events: none;
  opacity: 1;
  -webkit-transition: opacity 0.25s;
  -o-transition: opacity 0.25s;
  transition: opacity 0.25s; }

.card.transparent {
  padding-top: 70px;
  padding-left: 30px;
  padding-right: 30px;
  margin-bottom: 0; }

.card.transparent .card-links {
  margin-bottom: 70px; }

.card.transparent .card-links a.link-second {
  float: right; }

.card.transparent .tag, .card.transparent .card-links a {
  color: #a6cdc6; }

.card.transparent .tag {
  font-weight: bold; }

.card.transparent .card-links a {
  font-weight: 400; }

.card.bordered {
  border-top: 12px solid #16404d;
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s; }

.card.bordered:hover, a.card.bordered.active, button.card.bordered.active {
  border-top-color: #79d7be; }

.card.card__simple {
  padding-bottom: 0; }

.card.card__simple .button_wrap {
  margin-top: 30px; }

.card.card__simple.medium-6 a {
  min-width: 100%;
  width: 100%;
  margin: 30px 0px 10px 0px; }

@media print, screen and (min-width: 64em) {
  .card.card__simple.hero-padding div {
    padding-left: 20px;
    padding-right: 20px; } }

.card.card__link {
  border-top: solid 5px #79d7be;
  padding-top: 20px; }

.card.card__list hr {
  margin-bottom: 30px; }

@media print, screen and (max-width: 39.99875em) {
  .card.card__callout {
    padding: 50px 25px !important; } }

.card.card__callout .button, .card.card__callout li.faux-button a, li.faux-button .card.card__callout a {
  margin-top: unset;
  margin-left: 0 !important;
  margin-right: 0 !important; }

.card.card__expandable {
  position: relative;
  -webkit-transition: background 0.25s;
  -o-transition: background 0.25s;
  transition: background 0.25s; }

.card.card__expandable .content-wrap {
  padding: 18px 24px; }

.card.card__expandable .accordion-content {
  padding-top: 0;
  padding-bottom: 0; }

.card.card__expandable .accordion-content .content {
  border-left: 5px solid #79d7be;
  padding-left: 16px; }

.card.card__expandable .accordion-content h6:not(:first-child), .card.card__expandable .accordion-content .updated .date:not(:first-child), .updated .card.card__expandable .accordion-content .date:not(:first-child) {
  margin-top: 20px; }

.card.card__expandable .accordion-content p {
  margin-bottom: 0; }

.card.card__expandable .accordion-title {
  position: absolute;
  top: 0;
  right: 0;
  height: 300px;
  left: 0;
  text-indent: -9999px; }

.card.card__expandable .link {
  z-index: 2;
  display: block;
  color: #16404d;
  margin-bottom: 1rem;
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  cursor: pointer;
  margin-top: -18px;
  padding: 0px 18px 24px 18px; }

.card.card__expandable .link:first-child {
  margin-top: 0px; }

.card.card__expandable:hover, a.card.card__expandable.active, button.card.card__expandable.active, .card.card__expandable:focus {
  background: #16404d; }

.card.card__expandable:hover h5, a.card.card__expandable.active h5, button.card.card__expandable.active h5, .card.card__expandable:hover section .free_text blockquote p, section .free_text blockquote .card.card__expandable:hover p, a.card.card__expandable.active section .free_text blockquote p, section .free_text blockquote a.card.card__expandable.active p, button.card.card__expandable.active section .free_text blockquote p, section .free_text blockquote button.card.card__expandable.active p, a.card.card__expandable.button.active section .free_text blockquote p, section .free_text blockquote a.card.card__expandable.button.active p, li.faux-button a.card.card__expandable.active section .free_text blockquote p, section .free_text blockquote li.faux-button a.card.card__expandable.active p, .card.card__expandable:hover .h5, a.card.card__expandable.active .h5, button.card.card__expandable.active .h5, .card.card__expandable:hover .h6, a.card.card__expandable.active .h6, button.card.card__expandable.active .h6, .card.card__expandable:hover h6, a.card.card__expandable.active h6, button.card.card__expandable.active h6, .card.card__expandable:hover .updated .date, .updated .card.card__expandable:hover .date, a.card.card__expandable.active .updated .date, .updated a.card.card__expandable.active .date, button.card.card__expandable.active .updated .date, .updated button.card.card__expandable.active .date, .card.card__expandable:hover p, a.card.card__expandable.active p, button.card.card__expandable.active p, .card.card__expandable:hover a, a.card.card__expandable.active a, button.card.card__expandable.active a, .card.card__expandable:hover .subheading, a.card.card__expandable.active .subheading, button.card.card__expandable.active .subheading, .card.card__expandable:hover .accordion-content *, a.card.card__expandable.active .accordion-content *, button.card.card__expandable.active .accordion-content *, .card.card__expandable:hover .link, a.card.card__expandable.active .link, button.card.card__expandable.active .link, .card.card__expandable:focus h5, .card.card__expandable:focus section .free_text blockquote p, section .free_text blockquote .card.card__expandable:focus p, .card.card__expandable:focus .h5, .card.card__expandable:focus .h6, .card.card__expandable:focus h6, .card.card__expandable:focus .updated .date, .updated .card.card__expandable:focus .date, .card.card__expandable:focus p, .card.card__expandable:focus a, .card.card__expandable:focus .subheading, .card.card__expandable:focus .accordion-content *, .card.card__expandable:focus .link {
  color: #FFF; }

.card.card__expandable:hover h5:before, a.card.card__expandable.active h5:before, button.card.card__expandable.active h5:before, .card.card__expandable:hover section .free_text blockquote p:before, section .free_text blockquote .card.card__expandable:hover p:before, a.card.card__expandable.active section .free_text blockquote p:before, section .free_text blockquote a.card.card__expandable.active p:before, button.card.card__expandable.active section .free_text blockquote p:before, section .free_text blockquote button.card.card__expandable.active p:before, .card.card__expandable:hover .h5:before, a.card.card__expandable.active .h5:before, button.card.card__expandable.active .h5:before, .card.card__expandable:focus h5:before, .card.card__expandable:focus section .free_text blockquote p:before, section .free_text blockquote .card.card__expandable:focus p:before, .card.card__expandable:focus .h5:before {
  background-image: url(../../../elf-theme/assets/icons/down-arrow-white.svg); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .card.card__expandable:hover h5:before, a.card.card__expandable.active h5:before, button.card.card__expandable.active h5:before, .card.card__expandable:hover section .free_text blockquote p:before, section .free_text blockquote .card.card__expandable:hover p:before, a.card.card__expandable.active section .free_text blockquote p:before, section .free_text blockquote a.card.card__expandable.active p:before, button.card.card__expandable.active section .free_text blockquote p:before, section .free_text blockquote button.card.card__expandable.active p:before, .card.card__expandable:hover .h5:before, a.card.card__expandable.active .h5:before, button.card.card__expandable.active .h5:before, .card.card__expandable:focus h5:before, .card.card__expandable:focus section .free_text blockquote p:before, section .free_text blockquote .card.card__expandable:focus p:before, .card.card__expandable:focus .h5:before {
    background: #FFF;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/down-arrow-white.svg);
            mask-image: url(../../../elf-theme/assets/icons/down-arrow-white.svg); } }

.card.card__expandable:hover h3.h5, a.card.card__expandable.active h3.h5, button.card.card__expandable.active h3.h5, .card.card__expandable:focus h3.h5 {
  color: #79d7be; }

.card.card__stat .text__wrapper {
  text-align: center;
  padding-left: 30px;
  padding-right: 30px; }

.card.card__stat .text__wrapper .stat__wrapper__outer {
  margin: 0 auto; }

@media print, screen and (max-width: 39.99875em) {
  .card.card__stat .text__wrapper .stat__wrapper__outer {
    max-width: 200px; } }

.card.card__stat .text__wrapper .stat__wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 0;
  padding: 50% 0;
  border-radius: 50%;
  margin-bottom: 30px;
  background: #E4E4E4; }

.card.card__stat .text__wrapper .stat__wrapper .stat {
  color: #a6cdc6;
  font-size: 3.375rem;
  font-weight: 700;
  line-height: 0; }

.card.card__bg__img {
  background-repeat: no-repeat;
  background-size: cover;
  color: #a6cdc6;
  padding-top: 80px;
  padding-bottom: 60px; }

.card.card__bg__img span.subheading, .card.card__bg__img p > a {
  color: #a6cdc6; }

.card.card__bg__img .cta_wrap {
  margin-top: 40px; }

.card.card__bg__img.dark__text {
  color: #79d7be !important; }

.card.card__bg__img.dark__text span.subheading, .card.card__bg__img.dark__text a:not(.button) {
  color: #79d7be !important; }

.card.card__bg__img.greyBg {
  background-color: #F4F4F4; }

.card.cards-heading-margin-bottom {
  margin-bottom: 1rem; }

.card.card__heading h2.h3 span, .card.card__heading__inner h2.h3 span {
  position: absolute;
  margin-top: -200px; }

@media print, screen and (max-width: 63.99875em) {
  .card.card__heading .standard-link, .card.card__heading__inner .standard-link {
    display: inline-block;
    margin-bottom: 16px; } }

.card.card__heading__inner.margin-bottom, .card.card__heading__inner .margin-bottom {
  margin-bottom: 20px; }

.card.card__heading__inner .heading {
  padding-bottom: 20px; }

.card.card__heading__inner .heading a {
  float: none;
  display: block;
  margin-top: 20px; }

@media print, screen and (min-width: 40em) {
  .card.card__heading__inner .heading {
    padding-bottom: 0px; }
  .card.card__heading__inner .heading a {
    float: right; }
  .card.card__heading__inner .heading a:hover, .card.card__heading__inner .heading a.active {
    color: #16404d !important; } }

.card.card__preview {
  margin-bottom: 20px; }

.card.card__preview .h5, .card.card__preview h5, .card.card__preview section .free_text blockquote p, section .free_text blockquote .card.card__preview p {
  margin-top: 10px;
  max-width: 100%;
  font-size: 18px; }

@media print, screen and (min-width: 64em) {
  .card.card__preview .h5, .card.card__preview h5, .card.card__preview section .free_text blockquote p, section .free_text blockquote .card.card__preview p {
    max-width: 92%; } }

.card.card__preview .h5::after, .card.card__preview h5::after, .card.card__preview section .free_text blockquote p::after, section .free_text blockquote .card.card__preview p::after {
  /* // Removed due to long title conflicts position: relative; left: 10px; @include breakpoint(large) { left: 30px; } display: inline-block; content: ""; background: url(../../../elf-theme/assets/icons/arrow-btn-blue.svg); background-size: 9px 13px; width: 9px; height: 13px; text-decoration: none; //transition: left 0.5s ease; @supports(mask-image: url("")) { background: $primary-one; mask-image: url(../../../elf-theme/assets/icons/arrow-btn-blue.svg); mask-size: 9px 13px; mask-repeat: no-repeat; } */ }

.card.card__preview .h5 a, .card.card__preview h5 a, .card.card__preview section .free_text blockquote p a, section .free_text blockquote .card.card__preview p a {
  color: #16404d; }

.card.card__preview p {
  margin-bottom: 20px; }

.card.card__preview .image__preview {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px; }

.card.card__preview .image__preview img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover; }

.card.card__preview .image__preview .tag_img {
  position: absolute;
  z-index: 1;
  display: block;
  padding: 5px 7px;
  background-color: #a6cdc6;
  color: #FFF;
  letter-spacing: .275em;
  text-transform: uppercase;
  font-family: "Avenir LT W01_55 Roman1475520";
  font-size: .75rem;
  width: 100%; }

.card.card__preview .image__preview.ers-vision img::before {
  /* position: relative; left: 10px; display: inline-block; content: ""; background: url(../../../elf-theme/assets/icons/arrow-next@2x.png); background-size: 9px 13px; width: 9px; height: 13px; text-decoration: none; //transition: left 0.5s ease; */ }

.card.card__preview .image__preview.airlines, .card.card__preview .image__preview.patient-organisation, .card.card__preview .image__preview.partner_societies, .card.card__preview .image__preview.contain {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #FFF;
  border: 1px solid #F0F0F0;
  border-bottom: 0; }

.card.card__preview .image__preview.airlines img, .card.card__preview .image__preview.patient-organisation img, .card.card__preview .image__preview.partner_societies img, .card.card__preview .image__preview.contain img {
  width: 50%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center; }

.card.card__preview .text__wrapper {
  padding: 15px;
  border: 1px solid #F0F0F0;
  border-top: 0;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px; }

@media print, screen and (min-width: 40em) {
  .card.card__preview .text__wrapper {
    padding-top: 20px; } }

.card.card__preview .text__wrapper .h5, .card.card__preview .text__wrapper h5, .card.card__preview .text__wrapper section .free_text blockquote p, section .free_text blockquote .card.card__preview .text__wrapper p {
  text-decoration: none !important; }

.card.card__preview.podcast_block .text__wrapper a {
  display: block;
  margin-bottom: 10px; }

.card.card__preview.podcast_block .text__wrapper .h5::after {
  content: none; }

.card.card__preview .faux--link {
  text-decoration: underline;
  margin-left: 4px; }

.card.card__preview .date, .card.card__preview .category {
  color: #767175;
  font-size: 0.75rem;
  text-transform: uppercase;
  display: block;
  margin-bottom: 30px; }

.card.card__preview .category {
  text-transform: capitalize;
  position: relative; }

.card.card__preview .category::before {
  top: 6px;
  height: 21px;
  width: 19px;
  position: relative;
  display: inline-block;
  margin-right: 10px;
  content: "";
  background: url(../../../elf-theme/assets/icons/article-icon@2x.png);
  background-size: 19px 21px;
  text-decoration: none; }

.card.card__preview .caption {
  margin-bottom: 12px; }

.card.card__preview .caption.last {
  margin-bottom: 25px; }

.card.card__preview span.caption::before {
  top: 6px;
  height: 21px;
  width: 19px;
  position: relative;
  display: inline-block;
  margin-right: 10px;
  content: "";
  background: url(../../../elf-theme/assets/icons/article-icon@2x.png);
  background-size: 19px 21px;
  text-decoration: none; }

.card.card__preview.preview__details {
  background-color: #fff;
  padding: 20px 30px; }

.card.card__preview.preview__details ul {
  margin: 0px;
  list-style: none; }

.card.card__preview.preview__details ul a:nth-child(odd) li {
  background: #f7f7f7; }

.card.card__preview.preview__details ul a li.download {
  position: relative;
  display: block;
  padding: 10px;
  margin-bottom: 0px; }

.card.card__preview.preview__details ul a li.download::before {
  content: "";
  background: url(../../../elf-theme/assets/icons/download.png);
  background-size: 15px 15px;
  width: 15px;
  height: 15px;
  right: 10px;
  position: absolute;
  top: 50%;
  margin-top: -.5rem; }

.card.card__preview.preview__details ul a li.download a {
  text-decoration: underline; }

.card.card__preview.card__preview_home {
  border-bottom: none; }

.card.card__preview.card__preview_home .image__preview {
  border-bottom: 10px solid #a6cdc6; }

.card.card__pushdown .image__preview {
  width: 100%;
  height: auto;
  overflow: hidden; }

@media print, screen and (min-width: 40em) {
  .card.card__pushdown .image__preview {
    max-height: 230px;
    min-height: 230px; } }

.card.card__pushdown .image__preview img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 230px;
  width: 100%; }

.card.card__pushdown .image__preview.airlines, .card.card__pushdown .image__preview.patient-organisation, .card.card__pushdown .image__preview.partner_societies, .card.card__pushdown .image__preview.contain {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #FFF;
  border: 1px solid #F0F0F0;
  border-bottom: 0; }

.card.card__pushdown .image__preview.airlines img, .card.card__pushdown .image__preview.patient-organisation img, .card.card__pushdown .image__preview.partner_societies img, .card.card__pushdown .image__preview.contain img {
  width: 50%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center; }

.card.card__pushdown .image__preview.patient-organisation.default-bg {
  background: #F0F0F0; }

.card.card__pushdown.airlines .content-wrap .accordion-content h1, .card.card__pushdown.airlines .content-wrap .accordion-content h2, .card.card__pushdown.airlines .content-wrap .accordion-content h3, .card.card__pushdown.airlines .content-wrap .accordion-content h4, .card.card__pushdown.airlines .content-wrap .accordion-content h5, .card.card__pushdown.airlines .content-wrap .accordion-content section .free_text blockquote p, section .free_text blockquote .card.card__pushdown.airlines .content-wrap .accordion-content p, .card.card__pushdown.airlines .content-wrap .accordion-content h6, .card.card__pushdown.airlines .content-wrap .accordion-content .updated .date, .updated .card.card__pushdown.airlines .content-wrap .accordion-content .date {
  font-size: 1rem;
  line-height: 1.6;
  text-decoration: none; }

.card.card__pushdown .content-wrap h3.h5 {
  font-size: 18px; }

@media print, screen and (min-width: 40em) {
  .card.card__pushdown.medium-6 .image__preview {
    max-height: 312px;
    min-height: 312px; } }

.card.card__pushdown.medium-6 .image__preview img {
  height: 312px; }

.card.card__pushdown .text__wrapper {
  /* .tag { text-transform: uppercase; color: $primary-two; font-size: rem-calc(12); } */ }

.card.card__pushdown .text__wrapper .pushdown__heading {
  margin-top: 10px;
  position: relative;
  display: block;
  text-align: left;
  max-width: 90%; }

.card.card__pushdown .text__wrapper .pushdown__heading::after {
  /* position: absolute; top: 5px; right: 0; display: inline-block; content: ""; background: url(../../../elf-theme/assets/icons/down-arrow.svg); background-size: 15px 11px; width: 15px; height: 11px; text-decoration: none; */ }

.card.card__pushdown .text__wrapper .read__more {
  color: #a6cdc6;
  font-size: 1rem; }

.card.card__pushdown .text__wrapper hr {
  border: none;
  height: 2px;
  background: #E4E4E4; }

.card.card__pushdown.card__profile {
  background-color: #F4F4F4;
  border-radius: 0; }

.card.card__pushdown.card__profile .accordion-content {
  text-align: center;
  overflow: hidden; }

.card.card__pushdown.card__profile h4, .card.card__pushdown.card__profile .h4, .card.card__pushdown.card__profile h5, .card.card__pushdown.card__profile section .free_text blockquote p, section .free_text blockquote .card.card__pushdown.card__profile p, .card.card__pushdown.card__profile .h5, .card.card__pushdown.card__profile h6, .card.card__pushdown.card__profile .updated .date, .updated .card.card__pushdown.card__profile .date, .card.card__pushdown.card__profile .h6 {
  text-align: center; }

.card.card__pushdown.card__profile a {
  display: table;
  text-align: center;
  margin: 0 auto; }

.card.card__pushdown.card__profile a.button, .card.card__pushdown.card__profile li.faux-button a, li.faux-button .card.card__pushdown.card__profile a {
  margin-top: 20px;
  margin-bottom: 30px; }

.card.card__pushdown.card__profile a.standard_link {
  text-decoration: none;
  border-bottom: 3px solid #79d7be;
  padding-bottom: 4px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

.card.card__pushdown.card__profile a.standard_link:hover, .card.card__pushdown.card__profile a.standard_link.active {
  color: #011542;
  border-bottom: 3px solid #649ADB; }

.card.card__pushdown.card__profile .pushdown__heading {
  max-width: 100%;
  margin-left: 40px;
  margin-right: 40px; }

.card.card__pushdown.card__profile .pushdown__heading.h5 {
  font-size: 18px; }

.card.card__media .featured_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  background-size: cover;
  background-position: center center;
  padding: 40px 20px; }

@media print, screen and (min-width: 40em) {
  .card.card__media .featured_img {
    padding: 80px 100px; } }

.card.card__media .featured_img h2, .card.card__media .featured_img p {
  color: #FFF; }

.card.card__media .featured_img a {
  margin-top: clamp(20px, 50px, 70px);
  margin-bottom: 0px; }

.card.card__media + .cell a {
  border-radius: 0; }

.card.card__tile {
  position: relative;
  padding-bottom: 0;
  margin-bottom: 20px; }

.card.card__tile a {
  display: block; }

.card.card__tile .tile--wrap {
  background-color: transparent;
  position: relative;
  display: block;
  min-height: 270px;
  /* display: flex; justify-content: center; align-items: center; */ }

.card.card__tile .tile--wrap .tile--inner {
  text-align: center;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.card.card__tile .tile--wrap .tile--inner img, .card.card__tile .tile--wrap .tile--inner span {
  display: block;
  margin: 0 auto; }

.card.card__tile .tile--wrap .tile--inner span {
  font-size: 1.125rem;
  color: #79d7be; }

.card.card__tile .tile--wrap .tile--inner img {
  margin-bottom: 25px; }

.card.card__tile .tile--wrap .tile--hover {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 45px 30px 45px 30px;
  color: #fff;
  background-color: #a6cdc6;
  display: none; }

.card.card__tile .tile--wrap .tile--hover span.underline {
  text-decoration: underline; }

.card.card__tile .tile--wrap .tile--hover h4, .card.card__tile .tile--wrap .tile--hover p, .card.card__tile .tile--wrap .tile--hover span {
  color: #fff; }

.card.card__tile .card-link.faux-link:hover .tile--wrap > a .tile--hover, .card.card__tile a.card-link.faux-link.active .tile--wrap > a .tile--hover, .card.card__tile button.card-link.faux-link.active .tile--wrap > a .tile--hover {
  display: block;
  min-height: 270px; }

.card.text__bg {
  background-color: #79d7be;
  padding: 32px 40px; }

.card.text__bg h1, .card.text__bg h2, .card.text__bg .subheading, .card.text__bg p {
  color: #16404d; }

.card.text__bg .subheading {
  margin-bottom: 10px; }

.card.text__bg h2 {
  margin-bottom: 0.625rem; }

.card.text__bg .button-group {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.card.text__bg .button-group a:not(.button) {
  display: block;
  text-align: left;
  color: #16404d;
  text-decoration: none;
  border-bottom: 3px solid #79d7be;
  padding-bottom: 4px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

.card.text__bg .button-group a:not(.button):hover, .card.text__bg .button-group a.active:not(.button) {
  border-bottom: 3px solid #649ADB; }

.card.text__bg .button, .card.text__bg li.faux-button a, li.faux-button .card.text__bg a {
  margin-bottom: 20px; }

@media print, screen and (min-width: 40em) {
  .card.text__bg .button, .card.text__bg li.faux-button a, li.faux-button .card.text__bg a {
    margin-right: 26px;
    margin-bottom: 0; } }

.card.text__bg .clearfix {
  display: block; }

@media print, screen and (min-width: 64em) {
  .card.text__bg.negative__margin {
    margin-left: -5px; } }

.card.text__bg .highloght__video_btn {
  padding: 10px 10px 0px 0px; }

.card.text__bg.bg-none {
  background-color: transparent;
  padding: 0; }

.card.text__bg.bg-none h2, .card.text__bg.bg-none p {
  color: #FFF;
  margin-bottom: 35px; }

.card.text__bg.bg-none .subheading {
  color: #FFF;
  margin-bottom: 18px;
  display: block; }

.card.text__bg.bg-none .button-group {
  margin-bottom: 0px; }

.card.text__bg.bg-blue {
  background-color: #a6cdc6; }

.card.text__bg.bg-blue .subheading, .card.text__bg.bg-blue h2, .card.text__bg.bg-blue p, .card.text__bg.bg-blue a:not(.button) {
  color: #FFF; }

.card.text__bg.bg-yellow .button-group a:not(.button) {
  border-bottom: 3px solid #16404d;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

.card.text__bg.bg-yellow .button-group a:not(.button):hover, .card.text__bg.bg-yellow .button-group a.active:not(.button) {
  border-bottom: 3px solid #649ADB; }

.card.card__simpleHeading {
  padding: 0;
  margin-bottom: 0; }

.card.card__simpleHeading .heading {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
  margin: 0; }

.card.card__simpleHeading .heading .h4 {
  margin: auto 0; }

.card.card__simpleHeading .heading a {
  margin: auto 0 auto auto; }

.card.card__simpleHeading_featured .heading {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
  margin-bottom: 0; }

.card.card__simpleHeading_featured .heading .h4 {
  margin: auto 0; }

.card.card__simpleHeading_featured .heading a {
  margin: auto 0 auto auto; }

.card.card__featured, .card.card__simpleHeading_img {
  background: url(../../../elf-theme/assets/images/cards/card-heading.png) no-repeat;
  background-size: cover !important;
  background-position: center !important; }

.card.card__featured {
  min-height: 230px; }

@media print, screen and (min-width: 64em) {
  .card.card__featured {
    min-height: 400px; } }

@media print, screen and (max-width: 63.99875em) {
  .card.card__featured {
    margin-bottom: 0px;
    border-radius: 5px 5px 0px 0px; } }

.card.card__featured a .link-block {
  position: relative;
  display: block;
  height: 100%; }

@media print, screen and (max-width: 63.99875em) {
  .card.card__featured__text {
    margin-top: 0px;
    padding: 20px;
    border: 1px solid #F0F0F0;
    border-radius: 0px 0px 5px 5px; } }

.card.card__featured__text a.inner-wrap {
  display: block;
  text-decoration: none; }

.card.card__featured__text .caption {
  margin-bottom: 15px; }

.card.card__featured__text .caption.last {
  margin-bottom: 25px; }

.card.card__featured__text .caption.date, .card.card__featured__text .caption.author {
  display: inline-block;
  padding: 0 12px; }

.card.card__featured__text .caption.date {
  padding-left: 0; }

.card.card__featured__text .caption.author {
  font-family: "Avenir LT W01_85 Heavy1475544"; }

.card.card__featured__text .caption.date + .author {
  border-left: 1px solid #e4e5e9; }

.card.card__featured__text span.caption::before {
  top: 6px;
  height: 21px;
  width: 19px;
  position: relative;
  display: inline-block;
  margin-right: 10px;
  content: "";
  background: url(../../../elf-theme/assets/icons/article-icon@2x.png);
  background-size: 19px 21px;
  text-decoration: none; }

@media print, screen and (min-width: 64em) {
  .card.card__featured__text {
    padding: 40px; } }

.card.card__blue .cell:not(.card__heading__inner), .card.card__grey .cell:not(.card__heading__inner) {
  background-color: #a6cdc6; }

.card.card__blue .cell:not(.card__heading__inner) *:not(a), .card.card__grey .cell:not(.card__heading__inner) *:not(a) {
  color: #a6cdc6; }

.card.card__blue .cell:not(.card__heading__inner) p, .card.card__grey .cell:not(.card__heading__inner) p {
  font-size: 1.125rem;
  line-height: 1.5rem;
  letter-spacing: 0;
  font-weight: 400; }

@media print, screen and (min-width: 40em) {
  .card.card__blue .cell:not(.card__heading__inner) p, .card.card__grey .cell:not(.card__heading__inner) p {
    font-size: 1.25rem;
    line-height: 1.875rem; } }

.card.card__blue .cell.large-order-1, .card.card__grey .cell.large-order-1 {
  padding-bottom: 90px; }

@media print, screen and (max-width: 39.99875em) {
  .card.card__blue .cell.large-order-1, .card.card__grey .cell.large-order-1 {
    margin-top: 0; } }

.card.card__blue .img__featured, .card.card__grey .img__featured {
  margin-bottom: 0; }

.card.card__blue .img__featured img, .card.card__grey .img__featured img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.card.card__blue .vertical__align, .card.card__grey .vertical__align {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.card.card__blue .vertical__align h2, .card.card__grey .vertical__align h2 {
  margin-bottom: 0.7rem;
  margin-top: 0.5rem; }

.card.card__blue .vertical__align a.button, .card.card__blue .vertical__align li.faux-button a, li.faux-button .card.card__blue .vertical__align a, .card.card__grey .vertical__align a.button, .card.card__grey .vertical__align li.faux-button a, li.faux-button .card.card__grey .vertical__align a {
  margin-bottom: 0; }

.card.card__blue .vertical__align p.text-link, .card.card__grey .vertical__align p.text-link {
  margin-top: 30px; }

.card.card__blue .vertical__align p.text-link a, .card.card__grey .vertical__align p.text-link a {
  color: #a6cdc6; }

.card.card__blue .cell .button.tertiary, .card.card__blue .cell li.faux-button a.tertiary, li.faux-button .card.card__blue .cell a.tertiary {
  border: 1px solid #a6cdc6; }

.card.card__blue .cell .button.tertiary:hover, .card.card__blue .cell a.button.tertiary.active, .card.card__blue .cell li.faux-button a.tertiary.active, li.faux-button .card.card__blue .cell a.tertiary.active, .card.card__blue .cell button.button.tertiary.active, .card.card__blue .cell li.faux-button a.tertiary:hover, li.faux-button .card.card__blue .cell a.tertiary:hover {
  border: 1px solid #79d7be; }

.card.card__blue .cell .button.secondary, .card.card__blue .cell .signup__form .button, .signup__form .card.card__blue .cell .button, .card.card__blue .cell .signup__form li.faux-button a, .signup__form li.faux-button .card.card__blue .cell a, .card.card__blue .cell li.faux-button .signup__form a, li.faux-button .signup__form .card.card__blue .cell a, .card.card__blue .cell li.faux-button a.secondary, li.faux-button .card.card__blue .cell a.secondary {
  border: 1px solid #a6cdc6; }

.card.card__blue .cell .button.secondary:hover, .card.card__blue .cell .signup__form .button:hover, .signup__form .card.card__blue .cell .button:hover, .card.card__blue .cell .signup__form a.button.active, .signup__form .card.card__blue .cell a.button.active, .card.card__blue .cell .signup__form li.faux-button a.active, .signup__form li.faux-button .card.card__blue .cell a.active, .card.card__blue .cell li.faux-button .signup__form a.active, li.faux-button .signup__form .card.card__blue .cell a.active, .card.card__blue .cell .signup__form button.button.active, .signup__form .card.card__blue .cell button.button.active, .card.card__blue .cell .signup__form li.faux-button a:hover, .signup__form li.faux-button .card.card__blue .cell a:hover, .card.card__blue .cell li.faux-button .signup__form a:hover, li.faux-button .signup__form .card.card__blue .cell a:hover, .card.card__blue .cell a.button.secondary.active, .card.card__blue .cell li.faux-button a.secondary.active, li.faux-button .card.card__blue .cell a.secondary.active, .card.card__blue .cell button.button.secondary.active, .card.card__blue .cell li.faux-button a.secondary:hover, li.faux-button .card.card__blue .cell a.secondary:hover {
  border: 1px solid #16404d; }

.card.card__halves .vertical__align {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.card.card__halves .halves_left {
  background-color: #F4F4F4;
  padding-left: 40px;
  padding-right: 40px; }

@media print, screen and (max-width: 39.99875em) {
  .card.card__halves .halves_left {
    padding: 20px; } }

@media print, screen and (min-width: 40em) {
  .card.card__halves .halves_left p {
    font-size: 1.25rem; } }

.card.card__grey .cell:not(.card__heading__inner) {
  background-color: #F4F4F4; }

.card.card__grey .cell:not(.card__heading__inner) *:not(a) {
  color: #79d7be; }

.card.card__grey .cell:not(.card__heading__inner) p {
  color: #79d7be; }

.card.card__grey .cell:not(.card__heading__inner) .subheading {
  color: #a6cdc6; }

.card.card__simpleHeading_featuredHalf .card_img {
  background: url(../../../elf-theme/assets/images/cards/card-heading.png) no-repeat;
  background-size: cover;
  height: 350px;
  margin-bottom: 20px; }

.card.card__simpleHeading_featuredHalf .card_content .h5:after {
  display: inline-block;
  content: "";
  background: url(../../../elf-theme/assets/icons/arrow-next@2x.png);
  background-size: 12px 15px;
  width: 12px;
  height: 15px;
  text-decoration: none;
  margin-left: 20px; }

.card.card__profile {
  background-color: #FFF;
  padding: 0px 20px 30px 20px;
  margin: 0 auto 30px auto; }

.card.card__profile .profile_img {
  position: relative;
  width: 50%;
  height: 0;
  padding-bottom: 50%;
  margin: 30px auto;
  text-align: center;
  border-radius: 50%;
  overflow: hidden; }

.card.card__profile .profile_img img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover; }

.card.card__profile .profile_info {
  text-align: center; }

.card.card__profile .profile_info span:after {
  /* // Removed due to long title conflicts display: inline-block; content: ""; background: url(../../../elf-theme/assets/icons/down-arrow.svg); background-size: 15px 10px; width: 15px; height: 10px; margin-bottom: 29px; @supports(mask-image: url("")) { background: $primary-one; mask-image: url(../../../elf-theme/assets/icons/down-arrow.svg); mask-size: 15px 10px; mask-repeat: no-repeat; } */ }

.card.card__profile .profile_link {
  text-align: center;
  border-top: 1px solid #D7D7D7; }

.card.card__profile .profile_link a {
  margin: 22px 0; }

.card.listing {
  background: #FFF;
  border-left: 10px solid #16404d;
  padding: 20px;
  text-decoration: none;
  position: relative;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

.card.listing.post_listing:hover, a.card.listing.post_listing.active, button.card.listing.post_listing.active {
  background-color: #16404d;
  border-left: 10px solid #79d7be; }

.card.listing.post_listing:hover .listing-content h1, a.card.listing.post_listing.active .listing-content h1, button.card.listing.post_listing.active .listing-content h1, .card.listing.post_listing:hover .listing-content h2, a.card.listing.post_listing.active .listing-content h2, button.card.listing.post_listing.active .listing-content h2, .card.listing.post_listing:hover .listing-content h3, a.card.listing.post_listing.active .listing-content h3, button.card.listing.post_listing.active .listing-content h3, .card.listing.post_listing:hover .listing-content h4, a.card.listing.post_listing.active .listing-content h4, button.card.listing.post_listing.active .listing-content h4, .card.listing.post_listing:hover .listing-content h5, a.card.listing.post_listing.active .listing-content h5, button.card.listing.post_listing.active .listing-content h5, .card.listing.post_listing:hover .listing-content section .free_text blockquote p, section .free_text blockquote .card.listing.post_listing:hover .listing-content p, a.card.listing.post_listing.active .listing-content section .free_text blockquote p, section .free_text blockquote a.card.listing.post_listing.active .listing-content p, button.card.listing.post_listing.active .listing-content section .free_text blockquote p, section .free_text blockquote button.card.listing.post_listing.active .listing-content p, .card.listing.post_listing:hover .listing-content h6, a.card.listing.post_listing.active .listing-content h6, button.card.listing.post_listing.active .listing-content h6, .card.listing.post_listing:hover .listing-content .updated .date, .updated .card.listing.post_listing:hover .listing-content .date, a.card.listing.post_listing.active .listing-content .updated .date, .updated a.card.listing.post_listing.active .listing-content .date, button.card.listing.post_listing.active .listing-content .updated .date, .updated button.card.listing.post_listing.active .listing-content .date, .card.listing.post_listing:hover .listing-content p, a.card.listing.post_listing.active .listing-content p, button.card.listing.post_listing.active .listing-content p, .card.listing.post_listing:hover .listing-content b, a.card.listing.post_listing.active .listing-content b, button.card.listing.post_listing.active .listing-content b, .card.listing.post_listing:hover .listing-content a, a.card.listing.post_listing.active .listing-content a, button.card.listing.post_listing.active .listing-content a, .card.listing.post_listing:hover .listing-content summary, a.card.listing.post_listing.active .listing-content summary, button.card.listing.post_listing.active .listing-content summary, .card.listing.post_listing:hover .listing-content div, a.card.listing.post_listing.active .listing-content div, button.card.listing.post_listing.active .listing-content div {
  color: #FFF; }

.card.listing.post_listing:hover .listing-content a.card h5, a.card.listing.post_listing.active .listing-content a.card h5, button.card.listing.post_listing.active .listing-content a.card h5, .card.listing.post_listing:hover .listing-content a.card section .free_text blockquote p, section .free_text blockquote .card.listing.post_listing:hover .listing-content a.card p, a.card.listing.post_listing.active .listing-content a.card section .free_text blockquote p, section .free_text blockquote a.card.listing.post_listing.active .listing-content a.card p, button.card.listing.post_listing.active .listing-content a.card section .free_text blockquote p, section .free_text blockquote button.card.listing.post_listing.active .listing-content a.card p {
  color: #16404d; }

.card.listing.post_listing:hover .listing-content a.card:hover h5, a.card.listing.post_listing.active .listing-content a.card:hover h5, button.card.listing.post_listing.active .listing-content a.card:hover h5, .card.listing.post_listing:hover .listing-content a.card.active h5, a.card.listing.post_listing.active .listing-content a.card.active h5, button.card.listing.post_listing.active .listing-content a.card.active h5, .card.listing.post_listing:hover .listing-content a.card:hover section .free_text blockquote p, section .free_text blockquote .card.listing.post_listing:hover .listing-content a.card:hover p, a.card.listing.post_listing.active .listing-content a.card:hover section .free_text blockquote p, section .free_text blockquote a.card.listing.post_listing.active .listing-content a.card:hover p, button.card.listing.post_listing.active .listing-content a.card:hover section .free_text blockquote p, section .free_text blockquote button.card.listing.post_listing.active .listing-content a.card:hover p, .card.listing.post_listing:hover .listing-content a.card.active section .free_text blockquote p, section .free_text blockquote .card.listing.post_listing:hover .listing-content a.card.active p, a.card.listing.post_listing.active .listing-content a.card.active section .free_text blockquote p, section .free_text blockquote a.card.listing.post_listing.active .listing-content a.card.active p, button.card.listing.post_listing.active .listing-content a.card.active section .free_text blockquote p, section .free_text blockquote button.card.listing.post_listing.active .listing-content a.card.active p {
  color: #79d7be; }

.card.listing.post_listing:hover .listing-content summary:after, a.card.listing.post_listing.active .listing-content summary:after, button.card.listing.post_listing.active .listing-content summary:after {
  background: url(../../../elf-theme/assets/icons/down-arrow-yellow.svg);
  background-size: 15px 11px;
  width: 15px;
  height: 11px;
  display: inline-block;
  position: relative;
  top: 0px;
  right: -12px;
  margin-top: 0; }

.card.listing.yellow_listing {
  border-left: 10px solid #79d7be; }

.card.listing .guideline_label {
  display: block;
  text-transform: uppercase;
  color: #767175; }

.card.listing .guideline_label span {
  text-transform: none;
  color: #79d7be;
  font-family: "Avenir LT W01_65 Medium1475532", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  letter-spacing: initial; }

.card.listing .guideline_label.year {
  float: right; }

.card.listing .tags_label {
  color: #767175; }

.card.listing .listing-content {
  z-index: 1;
  position: relative; }

.card.listing .listing-content .tags {
  margin-bottom: 18px; }

.card.listing .listing-content .authors, .card.listing .listing-content .published-type, .card.listing .listing-content .published-year {
  margin-bottom: 10px; }

.card.listing .overlay-link ~ .listing-content {
  pointer-events: none; }

.card.listing .translations {
  border-top: 2px solid #E4E4E4;
  padding-top: 7px;
  pointer-events: all; }

.card.listing .translations ul {
  margin: 46px 0 0 26px !important; }

.card.listing .translations ul li:before {
  content: none !important; }

.card.listing .translations summary {
  outline: none; }

.card.listing .translations .card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #F0F0F0;
  padding: 18px 60px 18px 20px;
  text-decoration: none;
  pointer-events: all;
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s; }

.card.listing .translations .card span.label {
  margin-right: 14px;
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s; }

.card.listing .translations .card .lang {
  text-transform: uppercase; }

.card.listing .translations .card h5, .card.listing .translations .card section .free_text blockquote p, section .free_text blockquote .card.listing .translations .card p {
  margin-bottom: 0;
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s; }

.card.listing .translations .card:after {
  content: '';
  background: url("../../../elf-theme/assets/icons/new-window-blue.svg") no-repeat center center/contain;
  width: 18px;
  height: 18px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .card.listing .translations .card:after {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/new-window-blue.svg);
            mask-image: url(../../../elf-theme/assets/icons/new-window-blue.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.card.listing .translations .card:hover, .card.listing .translations a.card.active, .card.listing .translations button.card.active, .card.listing .translations .card:focus {
  background: #16404d; }

.card.listing .translations .card:hover span.label, .card.listing .translations a.card.active span.label, .card.listing .translations button.card.active span.label, .card.listing .translations .card:focus span.label {
  background: #79d7be; }

.card.listing .translations .card:hover h5, .card.listing .translations a.card.active h5, .card.listing .translations button.card.active h5, .card.listing .translations .card:hover section .free_text blockquote p, section .free_text blockquote .card.listing .translations .card:hover p, .card.listing .translations a.card.active section .free_text blockquote p, section .free_text blockquote .card.listing .translations a.card.active p, .card.listing .translations button.card.active section .free_text blockquote p, section .free_text blockquote .card.listing .translations button.card.active p, .card.listing .translations .card:focus h5, .card.listing .translations .card:focus section .free_text blockquote p, section .free_text blockquote .card.listing .translations .card:focus p {
  color: #79d7be; }

.card.listing .translations .card:hover:after, .card.listing .translations a.card.active:after, .card.listing .translations button.card.active:after, .card.listing .translations .card:focus:after {
  background-image: url("../../../elf-theme/assets/icons/new-window-yellow.svg"); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .card.listing .translations .card:hover:after, .card.listing .translations a.card.active:after, .card.listing .translations button.card.active:after, .card.listing .translations .card:focus:after {
    background: #79d7be;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/new-window-yellow.svg);
            mask-image: url(../../../elf-theme/assets/icons/new-window-yellow.svg); } }

.card.card__event .text__wrapper .date {
  display: block;
  margin-bottom: 25px; }

.card.card__event .text__wrapper .category {
  font-size: 0.875rem;
  color: #767175;
  margin-bottom: 25px;
  position: relative; }

.card.card__event .text__wrapper .category.location::before {
  top: 4px;
  margin-right: 10px;
  height: 19px;
  width: 19px;
  position: relative;
  display: inline-block;
  content: "";
  background: url(../../../elf-theme/assets/icons/globe-icon@2x.png) no-repeat;
  background-size: 19px 19px;
  text-decoration: none; }

.card.card__event .text__wrapper.col--first {
  padding-bottom: 40px; }

@media print, screen and (min-width: 40em) {
  .card.card__event .text__wrapper.col--first {
    padding-bottom: unset; } }

.card.card__event .button__wrap a {
  width: 100%;
  max-width: 100%;
  margin: 0 auto 20px auto;
  padding-left: 40px;
  padding-right: 40px; }

.card.card__event.card__event_simple {
  min-height: 110px; }

.card.card__event.card__event_simple .col--first {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%; }

.card.card__event.card__event_simple .col--first .date {
  margin: auto; }

.card.card__event.card__event_image {
  min-height: 150px; }

.card.card__event.card__event_image .event_img_bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

.card.card__details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 18px 24px;
  background-color: #F4F4F4; }

@media print, screen and (max-width: 63.99875em) {
  .card.card__details.has-link:hover, a.card.card__details.has-link.active, button.card.card__details.has-link.active {
    background-color: #F4F4F4; }
  .card.card__details.has-link:hover h4, a.card.card__details.has-link.active h4, button.card.card__details.has-link.active h4, .card.card__details.has-link:hover h5, a.card.card__details.has-link.active h5, button.card.card__details.has-link.active h5, .card.card__details.has-link:hover section .free_text blockquote p, section .free_text blockquote .card.card__details.has-link:hover p, a.card.card__details.has-link.active section .free_text blockquote p, section .free_text blockquote a.card.card__details.has-link.active p, button.card.card__details.has-link.active section .free_text blockquote p, section .free_text blockquote button.card.card__details.has-link.active p, .card.card__details.has-link:hover p, a.card.card__details.has-link.active p, button.card.card__details.has-link.active p, .card.card__details.has-link:hover a[href^="mailto:"], a.card.card__details.has-link.active a[href^="mailto:"], button.card.card__details.has-link.active a[href^="mailto:"], .card.card__details.has-link:hover a[href^="tel:"], a.card.card__details.has-link.active a[href^="tel:"], button.card.card__details.has-link.active a[href^="tel:"], .card.card__details.has-link:hover li, a.card.card__details.has-link.active li, button.card.card__details.has-link.active li, .card.card__details.has-link:hover a, a.card.card__details.has-link.active a, button.card.card__details.has-link.active a {
    color: #16404d; } }

.card.card__details .card__details_link {
  width: 100%;
  height: 100%; }

.card.card__details.has-link h4, .card.card__details.has-link h5, .card.card__details.has-link section .free_text blockquote p, section .free_text blockquote .card.card__details.has-link p, .card.card__details.has-link p, .card.card__details.has-link a[href^="mailto:"], .card.card__details.has-link a[href^="tel:"], .card.card__details.has-link li, .card.card__details.has-link a {
  text-decoration: none; }

.card.card__details .text__wrapper h5, .card.card__details .text__wrapper section .free_text blockquote p, section .free_text blockquote .card.card__details .text__wrapper p {
  font-size: 18px; }

.card.card__details .text__wrapper .subheading {
  display: block;
  margin-bottom: 25px; }

.card.card__details .text__wrapper .date {
  display: block;
  margin-bottom: 25px; }

.card.card__details .text__wrapper .category {
  font-size: 0.875rem;
  color: #767175;
  margin-bottom: 25px;
  position: relative; }

.card.card__details .text__wrapper .category.location::before {
  top: 4px;
  margin-right: 10px;
  height: 19px;
  width: 19px;
  position: relative;
  display: inline-block;
  content: "";
  background: url(../../../elf-theme/assets/icons/globe-icon@2x.png) no-repeat;
  background-size: 19px 19px;
  text-decoration: none; }

.card.card__details .text__wrapper .card__details_contacts {
  margin: 10px 0px; }

.card.card__details .text__wrapper .card__details_contacts i {
  margin-right: 10px; }

.card.card__details .text__wrapper .card__details_contacts a {
  display: block;
  margin-top: 20px; }

.card.card__details .text__wrapper.col--first {
  padding-bottom: 40px; }

@media print, screen and (min-width: 40em) {
  .card.card__details .text__wrapper.col--first {
    padding-bottom: unset; } }

.card.card__details .text__wrapper a {
  text-decoration: none;
  border-bottom: 3px solid #79d7be;
  padding-bottom: 4px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

.card.card__details .text__wrapper a:hover, .card.card__details .text__wrapper a.active {
  border-bottom: 3px solid #649ADB; }

.card.card__details a.simple_link {
  font-weight: bold;
  display: block;
  margin-top: 30px; }

.card.card__details .button__wrap a {
  width: 100%;
  max-width: 100%;
  margin: 0 auto 20px auto;
  padding-left: 40px;
  padding-right: 40px; }

.card.card__details .button__wrap a:last-of-type {
  margin-bottom: 10px; }

.card.card__details .content__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.card.card__details.medium-6 {
  padding: 20px;
  display: grid; }

.card.card__details.card__details_simple {
  border-top: 5px solid #79d7be; }

.card.card__details.card__details_simple a {
  font-weight: bold;
  line-height: 33px; }

.card.card__details.card__details_single {
  padding-top: 40px;
  padding-bottom: 40px; }

@media print, screen and (min-width: 40em) {
  .card.card__details.card__details_single .col--first {
    padding-right: 20px; } }

.card.card__details.card__details_single .col--first .button.tag, .card.card__details.card__details_single .col--first li.faux-button a.tag, li.faux-button .card.card__details.card__details_single .col--first a.tag {
  margin-top: 5px; }

@media print, screen and (min-width: 40em) {
  .card.card__details.card__details_single .col--first .button.tag, .card.card__details.card__details_single .col--first li.faux-button a.tag, li.faux-button .card.card__details.card__details_single .col--first a.tag {
    padding: 5px 20px 5px 20px;
    width: 100% !important; } }

.card.card__details.card__details_single .col--first .date {
  margin-bottom: 10px; }

.card.card__details.card__details_society {
  padding: 50px 20px 20px 20px;
  position: relative; }

.card.card__details.card__details_society .button.tag.no_link, .card.card__details.card__details_society li.faux-button a.tag.no_link, li.faux-button .card.card__details.card__details_society a.tag.no_link {
  position: absolute;
  top: 0;
  left: 0;
  border: none; }

.card.card__details.card__details_society .content__wrap {
  margin-bottom: 40px; }

.card.card__details.card__details_society .content__wrap h5, .card.card__details.card__details_society .content__wrap section .free_text blockquote p, section .free_text blockquote .card.card__details.card__details_society .content__wrap p {
  margin-bottom: 10px; }

.card.card__details.card__details_society .button__wrap {
  position: absolute;
  width: 100%;
  padding: 0px 20px;
  left: 0px;
  bottom: 20px; }

.card.card__details.card__details_science {
  padding: 30px 20px; }

.card.card__details.card__details_science .organizer {
  color: #a6cdc6; }

.card.card__details.card__details_science .button__wrap a {
  text-decoration: none; }

.card.card__details.card__details_science .button__wrap a:before {
  top: 2px;
  margin-right: 10px;
  height: 15px;
  width: 15px;
  position: relative;
  display: inline-block;
  content: "";
  background: url(../../../elf-theme/assets/icons/science_barrow.svg) no-repeat;
  background-size: 15px 15px;
  text-decoration: none; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .card.card__details.card__details_science .button__wrap a:before {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/science_barrow.svg);
            mask-image: url(../../../elf-theme/assets/icons/science_barrow.svg);
    -webkit-mask-size: 15px 15px;
            mask-size: 15px 15px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.card.card__details.card__details_tag {
  padding: 46px 24px 18px 24px; }

.card.card__details .tag.no_link {
  display: block;
  padding: 5px 25px;
  background-color: #a6cdc6;
  color: #FFF;
  letter-spacing: 0.275em;
  text-transform: uppercase;
  font-family: "Avenir LT W01_55 Roman1475520";
  font-size: 0.75rem;
  text-decoration: none;
  /* margin-top: -18px; */
  position: absolute;
  top: 0;
  left: 0px;
  width: 100%;
  border-radius: 0px;
  text-align: left; }

.card.card__team .img__wrapper {
  border-radius: 50%;
  text-align: center; }

.card.card__team .img__wrapper img {
  max-height: 50px;
  border-radius: 50%; }

.card.card__team .text__wrapper {
  margin-bottom: 20px; }

.card.card__team .text__wrapper p {
  margin-bottom: 10px; }

.card.card__team .text__wrapper a {
  font-weight: 100 !important;
  color: #767175 !important; }

@media print, screen and (max-width: 39.99875em) {
  .card.card__team .button__simple {
    padding-left: 10px;
    padding-right: 10px; } }

.card.card__team_img .img__wrapper {
  border-radius: 50%;
  text-align: center;
  margin-bottom: 20px; }

.card.card__team_img .text__wrapper {
  text-align: center;
  padding: 20px 40px; }

.card.card__team_img .text__wrapper .h6, .card.card__team_img .text__wrapper h6, .card.card__team_img .text__wrapper .updated .date, .updated .card.card__team_img .text__wrapper .date {
  color: #a6cdc6; }

.card.card__img_details .image__wrapper {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%; }

.card.card__img_details h4 {
  padding: 200px 20px 20px 20px;
  margin: 0px; }

.card.card__accordian-next {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.card.card_download_list {
  padding-top: 30px; }

.card.card_download_list .download_list, .card.card_download_list .normal_list {
  margin: 0 !important; }

.card.card_download_list .download_list li, .card.card_download_list .normal_list li {
  list-style: none; }

.card.card_download_list .download_list li:last-child, .card.card_download_list .normal_list li:last-child {
  margin-bottom: 0; }

.card.card_download_list .download_list li::before, .card.card_download_list .normal_list li::before {
  content: none !important; }

.card.card_download_list .download_list li a, .card.card_download_list .normal_list li a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 15px 50px 15px 15px;
  width: 100%;
  text-decoration: none;
  position: relative;
  bottom: 0;
  left: 0;
  color: #16404d;
  font-family: "Avenir LT W01_85 Heavy1475544";
  background-color: #F0F0F0;
  border-radius: 5px; }

.card.card_download_list .download_list li a:after, .card.card_download_list .normal_list li a:after {
  content: "";
  background-size: 20px 18px;
  width: 20px;
  height: 18px;
  right: 20px;
  position: absolute;
  top: 50%;
  margin-top: -0.5rem; }

.card.card_download_list .download_list li a:hover, .card.card_download_list .download_list li a.active, .card.card_download_list .normal_list li a:hover, .card.card_download_list .normal_list li a.active {
  text-decoration: none;
  background-color: #16404d;
  color: #79d7be; }

.card.card_download_list .download_list li a:after {
  background-image: url(../../../elf-theme/assets/icons/download-icon.svg); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .card.card_download_list .download_list li a:after {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/download-icon.svg);
            mask-image: url(../../../elf-theme/assets/icons/download-icon.svg);
    -webkit-mask-size: 20px 18px;
            mask-size: 20px 18px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.card.card_download_list .download_list li a:hover:after, .card.card_download_list .download_list li a.active:after {
  background-image: url(../../../elf-theme/assets/icons/download-icon-yellow.svg); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .card.card_download_list .download_list li a:hover:after, .card.card_download_list .download_list li a.active:after {
    background: #79d7be;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/download-icon-yellow.svg);
            mask-image: url(../../../elf-theme/assets/icons/download-icon-yellow.svg);
    -webkit-mask-size: 20px 18px;
            mask-size: 20px 18px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.card.card_download_list .normal_list li a:after {
  background-image: url(../../../elf-theme/assets/icons/external-link-icon-blue.svg); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .card.card_download_list .normal_list li a:after {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/external-link-icon-blue.svg);
            mask-image: url(../../../elf-theme/assets/icons/external-link-icon-blue.svg);
    -webkit-mask-size: 11px 11px;
            mask-size: 11px 11px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.card.card_download_list .normal_list li a:hover:after, .card.card_download_list .normal_list li a.active:after {
  background-image: url(../../../elf-theme/assets/icons/external-link-icon-yellow.svg); }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .card.card_download_list .normal_list li a:hover:after, .card.card_download_list .normal_list li a.active:after {
    background: #79d7be;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/external-link-icon-yellow.svg);
            mask-image: url(../../../elf-theme/assets/icons/external-link-icon-yellow.svg);
    -webkit-mask-size: 11px 11px;
            mask-size: 11px 11px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.card.card_suggested .image__wrapper {
  min-height: 120px;
  margin-bottom: 10px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

.card.card_suggested p {
  margin-bottom: 10px; }

@media print, screen and (max-width: 63.99875em) {
  .card.featured_card {
    width: 100vw;
    margin-left: -1.25rem; } }

@media print, screen and (max-width: 63.99875em) {
  .card.promo_card_full {
    border-radius: 0;
    padding: 25px; }
  .card.promo_card_full.promo_card_full_img {
    min-height: 200px;
    background-position: left;
    background-size: cover;
    background-repeat: no-repeat; }
  .card.promo_card_full h2 {
    margin-top: 15px; } }

.card.listing_no_post_msg {
  text-align: center;
  padding-top: 50px; }

.card_table table {
  border-collapse: collapse; }

.card_table table tr th {
  padding: 10px;
  background-color: #D7D7D7;
  border: 1px solid #707070; }

.card_table table tr td {
  padding: 10px;
  border: 1px solid #707070; }

.card_featured {
  margin-bottom: 20px;
  border: 1px solid #F0F0F0;
  overflow: hidden; }

.card_featured .grid-x {
  height: 100%; }

.card_featured .featured_img {
  background: url(../../../elf-theme/assets/images/cards/card-heading.png) no-repeat;
  background-size: cover !important;
  background-position: center !important;
  height: 100%;
  min-height: 130px;
  margin: auto; }

@media print, screen and (min-width: 40em) {
  .card_featured .featured_img {
    min-height: 150px; } }

.card_featured .tag {
  display: block;
  padding: 5px 7px;
  background-color: #a6cdc6;
  color: #FFF;
  letter-spacing: 0.275em;
  text-transform: uppercase;
  font-family: "Avenir LT W01_55 Roman1475520";
  font-size: 0.75rem;
  text-decoration: none; }

.card_featured .featured_text {
  padding: 4px 16px;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }

.card_featured .featured_text h3.h5 {
  font-size: 18px; }

.card_featured .featured_text h3.h5:after {
  /* // Removed due to long title conflicts position: relative; left: 30px; display: inline-block; content: ""; background: url(../../../elf-theme/assets/icons/arrow-btn-blue.svg); background-size: 9px 13px; width: 9px; height: 13px; text-decoration: none; @supports(mask-image: url("")) { background: $primary-one; mask-image: url(../../../elf-theme/assets/icons/arrow-btn-blue.svg); mask-size: 9px 13px; mask-repeat: no-repeat; } */ }

@media print, screen and (min-width: 40em) {
  .card_featured .featured_text {
    padding: 20px; } }

.card_featured .featured_text.card__small a {
  text-decoration: none !important; }

.card_featured:hover .featured_text, a.card_featured.active .featured_text, button.card_featured.active .featured_text {
  background-color: #16404d; }

.card_featured:hover .featured_text .subheading, a.card_featured.active .featured_text .subheading, button.card_featured.active .featured_text .subheading, .card_featured:hover .featured_text .caption, a.card_featured.active .featured_text .caption, button.card_featured.active .featured_text .caption {
  color: #FFF; }

.card_featured:hover .featured_text a .h5, a.card_featured.active .featured_text a .h5, button.card_featured.active .featured_text a .h5 {
  color: #79d7be; }

.card_featured:hover .featured_text a .h5:after, a.card_featured.active .featured_text a .h5:after, button.card_featured.active .featured_text a .h5:after {
  /* // Removed due to long title conflicts background-image: url(../../../elf-theme/assets/icons/arrow-btn-yellow.svg); @supports(mask-image: url("")) { background: $secondary-one; mask-image: url(../../../elf-theme/assets/icons/arrow-btn-yellow.svg); mask-size: 9px 13px; mask-repeat: no-repeat; } */ }

.card__callout {
  background-color: #a6cdc6; }

.card__callout .card {
  background-color: #a6cdc6;
  text-align: center;
  color: #FFF;
  padding: 50px 0;
  border-radius: 0; }

@media print, screen and (min-width: 40em) {
  .card__callout .card {
    padding: 70px 0; } }

.card__callout .card h2, .card__callout .card .h2, .card__callout .card h4, .card__callout .card .h4 {
  color: #FFF;
  margin-bottom: 23px; }

.card__callout .card p {
  font-size: 18px;
  margin-bottom: 35px;
  font-weight: 600; }

.card__callout .card .button, .card__callout .card li.faux-button a, li.faux-button .card__callout .card a {
  margin-left: 0 !important;
  margin-bottom: 0; }

.card__callout.full_text .card {
  text-align: left; }

.card__callout.secondary .card, .signup__form .card__callout.button .card, .signup__form li.faux-button a.card__callout .card, li.faux-button .signup__form a.card__callout .card {
  color: #16404d;
  background-color: #79d7be; }

.card__callout.secondary .card h2, .signup__form .card__callout.button .card h2, .signup__form li.faux-button a.card__callout .card h2, li.faux-button .signup__form a.card__callout .card h2, .card__callout.secondary .card .h2, .signup__form .card__callout.button .card .h2, .signup__form li.faux-button a.card__callout .card .h2, li.faux-button .signup__form a.card__callout .card .h2, .card__callout.secondary .card h4, .signup__form .card__callout.button .card h4, .signup__form li.faux-button a.card__callout .card h4, li.faux-button .signup__form a.card__callout .card h4, .card__callout.secondary .card .h4, .signup__form .card__callout.button .card .h4, .signup__form li.faux-button a.card__callout .card .h4, li.faux-button .signup__form a.card__callout .card .h4 {
  color: #16404d; }

.card__fame .cell.single__fame {
  padding: 40px 20px 30px 20px;
  text-align: center;
  background-color: #FFF;
  margin-bottom: 20px; }

.card__fame .cell.single__fame h4 {
  margin-bottom: 20px; }

.card__fame .cell.single__fame h5, .card__fame .cell.single__fame section .free_text blockquote p, section .free_text blockquote .card__fame .cell.single__fame p, .card__fame .cell.single__fame h6, .card__fame .cell.single__fame .updated .date, .updated .card__fame .cell.single__fame .date {
  margin-bottom: 10px; }

.card__fame .cell.single__fame h6, .card__fame .cell.single__fame .updated .date, .updated .card__fame .cell.single__fame .date {
  color: #a6cdc6; }

.card__fame .cell.single__fame hr {
  margin-bottom: 0; }

.bg__img {
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 70px;
  padding-bottom: 70px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content; }

@media print, screen and (max-width: 39.99875em) {
  .bg__img {
    padding-top: 50px;
    padding-bottom: 50px;
    margin-right: 1.25rem;
    margin-left: 1.25rem; } }

.bg__img.alt {
  padding: 0; }

@media print, screen and (max-width: 39.99875em) {
  .bg__img.hero__carousel {
    overflow: hidden; }
  .bg__img.hero__carousel h1, .bg__img.hero__carousel h2 {
    display: inline-block; }
  .bg__img.hero__carousel h1, .bg__img.hero__carousel h2, .bg__img.hero__carousel h2 span {
    width: 360px; } }

.bg__img .button-group .button, .bg__img .button-group li.faux-button a, li.faux-button .bg__img .button-group a {
  margin-right: 26px; }

.bg__img.bg__hero {
  padding-top: 30px;
  padding-bottom: 30px;
  min-height: 460px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.bg__img.bg__hero h1 {
  margin-bottom: 1.375rem; }

.bg__img.bg__hero .grid-container {
  width: 100%; }

.bg__img.bg__hero .button i, .bg__img.bg__hero li.faux-button a i, li.faux-button .bg__img.bg__hero a i {
  font-size: 14px;
  margin-left: 10px; }

.bg__img.bg__hero a:not(.button) {
  text-decoration: none;
  border-bottom: 3px solid #79d7be;
  padding-bottom: 4px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

.bg__img.bg__hero a:not(.button):hover, .bg__img.bg__hero a.active:not(.button) {
  border-bottom: 3px solid #649ADB; }

@media print, screen and (min-width: 64em) {
  .bg__img.bg__hero a:not(.button) {
    margin: 0 60px; } }

.bg__img.bg__hero.bg__hero_home {
  padding-top: 208px;
  padding-bottom: 36px; }

@media print, screen and (min-width: 40em) {
  .bg__img.bg__hero.bg__hero_home {
    padding-top: 100px;
    padding-bottom: 100px;
    background-position: center;
    background-size: cover; }
  .bg__img.bg__hero.bg__hero_home a {
    display: table;
    margin-top: 10px; } }

@media print, screen and (min-width: 64em) {
  .bg__img.bg__hero.bg__hero_home {
    padding-top: 64px;
    padding-bottom: 148px; }
  .bg__img.bg__hero.bg__hero_home a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin-top: 0px; } }

.bg__img.bg__hero .card__preview {
  background-color: #a6cdc6; }

.footnotes_card {
  margin: 1.5rem .75rem;
  padding-left: 20px;
  border-left: 10px solid #B9B9B9; }

.footnotes_card:first-child {
  margin-top: 0rem; }

.more_news {
  background: #F4F4F4;
  padding: 18px 24px;
  margin-bottom: 1.5rem; }

.more_news a {
  text-decoration: none !important; }

.more_news a, .more_news p, .more_news .show {
  color: #16404d;
  -webkit-transition: color 0.25s;
  -o-transition: color 0.25s;
  transition: color 0.25s; }

.more_news p {
  margin: 1.7rem 0 2.5rem;
  color: #525245; }

.more_news span.faux-link {
  text-decoration: underline;
  font-weight: 500;
  font-family: "Avenir LT W01_65 Medium1475532"; }

.more_news span.faux-link:hover {
  color: #79d7be;
  -webkit-transition: all 0.25s;
  -o-transition: all 0.25s;
  transition: all 0.25s; }

.more_news h4.show {
  font-size: 23px; }

.more_news:hover, a.more_news.active, button.more_news.active {
  background-color: #16404d; }

.more_news:hover a, a.more_news.active a, button.more_news.active a, .more_news:hover p, a.more_news.active p, button.more_news.active p, .more_news:hover .show, a.more_news.active .show, button.more_news.active .show {
  color: #FFF; }

.news_author_info .img_wrapper {
  background-position: center;
  background-size: cover;
  height: 100px;
  width: 100px;
  border-radius: 50%;
  margin: 0px auto 20px auto; }

.heading__team h3 {
  display: inline-block; }

@media print, screen and (max-width: 39.99875em) {
  .heading__team h3 {
    padding-left: 20px;
    padding-right: 20px; } }

.heading__team a {
  float: right; }

.card__voting_stat {
  padding: 20px 40px; }

.card__voting_stat p, .card__voting_stat h2, .card__voting_stat h4 {
  margin-bottom: 10px; }

.card__voting_stat .button, .card__voting_stat li.faux-button a, li.faux-button .card__voting_stat a {
  margin: 10px 0px 0px 0px; }

.card__popup {
  padding: 20px;
  border: 1px solid #EFEDE1;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }

.card__popup.infocard {
  border-top: none;
  border-right: none;
  border-bottom: none;
  padding-top: 0;
  padding-bottom: 0; }

.card__popup.infocard .infocard-content p {
  font-size: 1.125rem;
  line-height: 1.5rem; }

@media print, screen and (min-width: 40em) {
  .card__popup.infocard .infocard-content p {
    font-size: 1.5rem;
    line-height: 1.75rem; } }

.card__popup.popup_check {
  border-left: 10px solid #21A67A; }

.card__popup.popup_info {
  border-left: 10px solid #a6cdc6; }

.card__popup.popup_warning {
  border-left: 10px solid #CE003A; }

.card__popup .popup_close {
  height: 15px;
  width: 15px;
  position: absolute;
  content: "";
  background: url(../../../elf-theme/assets/icons/close-popup.svg);
  background-size: 15px 15px;
  right: 30px; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .card__popup .popup_close {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/close-popup.svg);
            mask-image: url(../../../elf-theme/assets/icons/close-popup.svg);
    -webkit-mask-size: 15px 15px;
            mask-size: 15px 15px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.card__popup .popup-icon {
  display: inline-block;
  margin-right: 10px; }

.card__popup .popup-icon .icon_check {
  height: 30px;
  width: 30px;
  position: relative;
  display: block;
  margin: auto 10px auto 0;
  content: "";
  background: url(../../../elf-theme/assets/icons/popup-check.svg);
  background-size: 30px 30px;
  text-decoration: none; }

.card__popup .popup-icon .icon_info {
  height: 30px;
  width: 30px;
  position: relative;
  display: block;
  margin: auto 10px auto 0;
  content: "";
  background: url(../../../elf-theme/assets/icons/popup-info.svg);
  background-size: 30px 30px;
  text-decoration: none; }

.card__popup .popup-icon .icon_warning {
  height: 30px;
  width: 30px;
  position: relative;
  display: block;
  margin: auto 10px auto 0;
  content: "";
  background: url(../../../elf-theme/assets/icons/popup-warning.svg);
  background-size: 30px 30px;
  text-decoration: none; }

.card__popup .popup-content {
  display: inline-block; }

.card__popup .popup-content p {
  margin-bottom: 0px; }

@media print, screen and (max-width: 39.99875em) {
  .card__carousel {
    display: initial; } }

.card__carousel .owl-stage-outer {
  margin-bottom: 50px; }

.card__carousel .owl-stage-outer .owl-item .carousel_text {
  padding: 60px 20px 0 20px; }

@media print, screen and (min-width: 40em) {
  .card__carousel .owl-stage-outer .owl-item .carousel_text {
    padding: 60px; } }

@media print, screen and (max-width: 39.99875em) {
  .card__carousel .owl-stage-outer .owl-item .carousel_img {
    padding-left: 20px;
    padding-right: 20px; } }

.card__carousel .owl-stage-outer .owl-item .carousel_img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%; }

.card__carousel .owl-stage-outer .owl-item p {
  font-size: 1.125rem; }

@media print, screen and (min-width: 40em) {
  .card__carousel .owl-stage-outer .owl-item p {
    font-size: 1.25rem; } }

.card__carousel .owl-dots {
  margin-top: 0;
  margin-bottom: -50px; }

@media print, screen and (min-width: 64em) {
  .card__carousel .owl-dots {
    margin-top: 10px; } }

.card__carousel .owl-dots .owl-dot span {
  background: #767175 !important; }

.card__carousel .owl-dots .owl-dot.active span {
  background: #79d7be !important; }

.blue__bg {
  background-color: #a6cdc6; }

.events_nav_register {
  background-color: #a6cdc6;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }

.events_nav_register .card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto; }

.events_nav_register .card p {
  padding: 1.2em 1em;
  color: white;
  margin: 0px; }

.events_nav_register .card a {
  margin: 0px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.events_nav_links {
  background-color: #222222;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }

.events_nav_links ul {
  margin: 0px;
  padding: 1.2em 1em; }

.events_nav_links ul li {
  display: inline;
  border-left: 1px solid white;
  padding: 0px 0px 5px 10px;
  margin-right: 20px;
  list-style: none; }

.events_nav_links ul li::before {
  content: none !important; }

.events_nav_links ul li a {
  color: white;
  text-decoration: none; }

.events_heading_links {
  margin: 30px 0px; }

.events_heading_links .events_heading_link {
  padding: 10px;
  background-color: white;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }

.events_heading_links .events_heading_link:hover, .events_heading_links a.events_heading_link.active, .events_heading_links button.events_heading_link.active {
  background-color: #707070; }

.events_heading_links .events_heading_link:hover a, .events_heading_links a.events_heading_link.active a, .events_heading_links button.events_heading_link.active a {
  color: #FFF; }

.featherlight .featherlight-content {
  max-height: 95%;
  min-height: 80%;
  width: 90%; }

.featherlight .featherlight-content .featherlight-inner {
  height: 95%;
  position: absolute;
  width: 95%; }

.featherlight .featherlight-content .featherlight-inner .video-box {
  height: 95%; }

.featherlight .featherlight-content .featherlight-inner .video-box iframe {
  width: 100%;
  height: 100%; }

.dynamic-module .overlay-link {
  z-index: 989; }

.dynamic-module .cell .image__preview img {
  -webkit-transition: -webkit-transform .3s ease-in-out;
  transition: -webkit-transform .3s ease-in-out;
  -o-transition: transform .3s ease-in-out;
  transition: transform .3s ease-in-out;
  transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out; }

.dynamic-module .cell.image-wrap {
  overflow: hidden; }

.dynamic-module .cell.image-wrap .featured_img {
  -webkit-transition: -webkit-transform .3s ease-in-out;
  transition: -webkit-transform .3s ease-in-out;
  -o-transition: transform .3s ease-in-out;
  transition: transform .3s ease-in-out;
  transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out; }

.dynamic-module .cell.featured_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  /* Vertical alignment */
  height: 100%;
  /* Optional, depends on parent context */
  position: relative;
  z-index: 990; }

.dynamic-module .cell:hover .featured_img, .dynamic-module a.cell.active .featured_img, .dynamic-module button.cell.active .featured_img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2); }

.dynamic-module .cell:hover .image__preview img, .dynamic-module a.cell.active .image__preview img, .dynamic-module button.cell.active .image__preview img {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
      -ms-transform: translate(-50%, -50%) scale(1.1);
          transform: translate(-50%, -50%) scale(1.1); }

.dynamic-module .large-10 .cell.small-5.image-wrap img {
  min-height: 130px; }

@media print, screen and (min-width: 64em) {
  .dynamic-module .large-10 .cell.small-5.image-wrap {
    min-height: 300px; } }

body.microsite.light-brand-colours .card.card__preview .text__wrapper h5, body.microsite.light-brand-colours .card.card__preview .text__wrapper section .free_text blockquote p, section .free_text blockquote body.microsite.light-brand-colours .card.card__preview .text__wrapper p, body.microsite.light-brand-colours .card.card__preview .text__wrapper p {
  color: black; }

body.microsite.dark-brand-colours .card.card__preview .text__wrapper h5, body.microsite.dark-brand-colours .card.card__preview .text__wrapper section .free_text blockquote p, section .free_text blockquote body.microsite.dark-brand-colours .card.card__preview .text__wrapper p, body.microsite.dark-brand-colours .card.card__preview .text__wrapper p {
  color: black; }

body.microsite.dark-brand-colours .card.card__preview:hover .text__wrapper h5, body.microsite.dark-brand-colours a.card.card__preview.active .text__wrapper h5, body.microsite.dark-brand-colours button.card.card__preview.active .text__wrapper h5, body.microsite.dark-brand-colours .card.card__preview:hover .text__wrapper section .free_text blockquote p, section .free_text blockquote body.microsite.dark-brand-colours .card.card__preview:hover .text__wrapper p, body.microsite.dark-brand-colours a.card.card__preview.active .text__wrapper section .free_text blockquote p, section .free_text blockquote body.microsite.dark-brand-colours a.card.card__preview.active .text__wrapper p, body.microsite.dark-brand-colours button.card.card__preview.active .text__wrapper section .free_text blockquote p, section .free_text blockquote body.microsite.dark-brand-colours button.card.card__preview.active .text__wrapper p, body.microsite.dark-brand-colours .card.card__preview:hover .text__wrapper p, body.microsite.dark-brand-colours a.card.card__preview.active .text__wrapper p, body.microsite.dark-brand-colours button.card.card__preview.active .text__wrapper p {
  color: white; }

.carousel {
  background-color: #F4F4F4 !important; }

.owl-carousel .owl-stage-outer {
  max-width: 100%; }

.owl-carousel .owl-stage-outer .owl-stage {
  margin-top: 30px; }

.owl-carousel .owl-stage-outer .owl-stage .item {
  margin-left: 10px;
  margin-right: 10px;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important; }

@media print, screen and (max-width: 39.99875em) {
  .owl-carousel .owl-stage-outer .owl-stage .item {
    max-width: 460px; } }

.owl-carousel .owl-stage-outer .owl-stage .item a {
  color: #a6cdc6;
  font-size: 1rem;
  font-weight: normal;
  text-decoration: none;
  display: block;
  padding: 20px;
  border-bottom: 4px solid #767175; }

.owl-carousel .owl-stage-outer .owl-stage .item a:hover, .owl-carousel .owl-stage-outer .owl-stage .item a.active {
  background-color: #16404d;
  border-bottom: 4px solid #16404d; }

.filters, article .other-translations {
  position: relative;
  color: #FFF;
  background-color: #a6cdc6;
  border-radius: 5px;
  margin-top: -60px;
  padding: 0 20px;
  -webkit-transform: translate(0, -15px);
      -ms-transform: translate(0, -15px);
          transform: translate(0, -15px); }

@media print, screen and (min-width: 40em) {
  .filters, article .other-translations {
    -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
            transform: translate(0, -50%);
    margin-top: -80px; } }

.filters select, article .other-translations select {
  color: #FFF;
  border-color: #FFF;
  margin: 30px 0;
  max-width: 285px;
  background-image: url("../../../elf-theme/assets/icons/down-arrow-white.svg");
  background-repeat: no-repeat;
  background-position: center right 10px;
  background-size: 14px 7px;
  background-color: #a6cdc6; }

.filters select option, article .other-translations select option {
  background-color: #a6cdc6; }

@media print, screen and (min-width: 40em) {
  .filters select, article .other-translations select {
    max-width: 305px; } }

.filters:empty, article .other-translations:empty {
  margin-bottom: 40px;
  margin-top: 0; }

.small-two-up .filters, .small-two-up article .other-translations, article .small-two-up .other-translations {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  margin-top: -50px;
  margin-bottom: 40px; }

/** Hero */
.hero__banner {
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  height: 200px;
  overflow: hidden; }

@media print, screen and (min-width: 40em) {
  .hero__banner {
    height: 300px; } }

.tier_one .text__bg {
  background-color: #16404d; }

.tier_one .text__bg h1, .tier_one .text__bg h2, .tier_one .text__bg .subheading, .tier_one .text__bg p, .tier_one .text__bg a:not(.button) {
  color: #FFF; }

.tier_one .text__bg a.button, .tier_one .text__bg li.faux-button a, li.faux-button .tier_one .text__bg a {
  margin-bottom: 30px; }

@media print, screen and (min-width: 40em) {
  .tier_one .text__bg a.button, .tier_one .text__bg li.faux-button a, li.faux-button .tier_one .text__bg a {
    margin-bottom: 0px; } }

.tier_one .text__bg a:only-of-type {
  margin: 0px; }

.overlap__margin .card.card__preview .card-link .text__wrapper h5:hover, .overlap__margin .card.card__preview .card-link .text__wrapper section .free_text blockquote p:hover, section .free_text blockquote .overlap__margin .card.card__preview .card-link .text__wrapper p:hover {
  text-decoration: none !important; }

.tier_two .hero__banner {
  background-color: #16404d;
  min-height: 300px; }

@media print, screen and (min-width: 40em) {
  .tier_two .hero__banner {
    min-height: unset; } }

.tier_two .hero__offset {
  background-color: #F0F0F0; }

.tier_two .hero__offset h1, .tier_two .hero__offset .h1, .tier_two .hero__offset h2, .tier_two .hero__offset .h2 {
  background: none; }

@media print, screen and (max-width: 63.99875em) {
  .tier_three {
    padding-top: 190px !important; } }

.tier_three .card {
  background: rgba(255, 255, 255, 0.85);
  padding: 28px 24px; }

@media print, screen and (min-width: 64em) {
  .tier_three .card {
    padding-left: 20px;
    padding-right: 20px; } }

.tier_one .card, .tier_two .card, .hero-event .card {
  padding: 32px 20px; }

@media print, screen and (min-width: 40em) {
  .tier_one .card, .tier_two .card, .hero-event .card {
    padding: 32px 40px; } }

.tier_one p, .tier_two p, .tier_three p {
  font-family: 'Avenir LT W01_55 Roman1475520';
  margin-bottom: 2rem; }

.tier_two p, .tier_two .large_intro span, .tier_three p, .tier_three .large_intro span {
  font-size: 1.25rem;
  line-height: 1.75rem;
  letter-spacing: 0;
  color: #16404d; }

@media print, screen and (min-width: 40em) {
  .tier_two p, .tier_two .large_intro span, .tier_three p, .tier_three .large_intro span {
    font-size: 1.25rem;
    line-height: 1.875rem; } }

.hero-event {
  background-color: #F4F4F4;
  padding-bottom: 42px; }

.hero-event .share {
  margin: 23px 0; }

.hero-event .content .cell {
  background-color: #FFF; }

.hero-event .content .content-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.hero-event .content .content-text .hero__button__wrap {
  margin-top: auto; }

.hero-event .content .content-text .hero__button__wrap .button, .hero-event .content .content-text .hero__button__wrap li.faux-button a, li.faux-button .hero-event .content .content-text .hero__button__wrap a {
  display: table; }

@media print, screen and (min-width: 40em) {
  .hero-event .content .content-text {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; } }

.hero__offset {
  position: relative;
  z-index: 100;
  margin-top: -200px;
  min-height: 270px; }

@media print, screen and (min-width: 40em) {
  .hero__offset {
    margin-top: -250px; } }

@media print, screen and (min-width: 64em) {
  .hero__offset {
    margin-top: -200px; } }

.hero_tier3_large {
  margin-bottom: 40px; }

.hero_tier3_img {
  background-repeat: no-repeat;
  background-size: cover; }

.header4_v2 .caption {
  font-family: "Avenir LT W01_85 Heavy1475544", Helvetica, Roboto, Arial, sans-serif;
  font-size: 0.875rem;
  color: #16404d;
  margin-bottom: 15px; }

.header4_v2 .caption.date:before {
  margin-top: 0px; }

.header4_v2 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center; }

.hero__media {
  padding: 100px 0px;
  background-image: url(../../../elf-theme/assets/images/backgrounds/placeholder.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

.hero__media .button, .hero__media li.faux-button a, li.faux-button .hero__media a {
  width: unset !important; }

.hero__media .youtube__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.hero__media .youtube__btn a {
  display: table;
  margin: 0 auto; }

.hero__media .lightbox {
  background-color: rgba(0, 0, 0, 0.7);
  overflow: scroll;
  position: fixed;
  display: none;
  z-index: 1;
  bottom: 0;
  right: 0;
  left: 0;
  top: 0; }

.hero__media .lightbox .lightbox-container {
  position: relative;
  max-width: 960px;
  margin: 7% auto;
  display: block;
  padding: 0 3%;
  height: auto;
  z-index: 10; }

.hero__media .lightbox .lightbox-container .lightbox-content {
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.7);
          box-shadow: 0 1px 6px rgba(0, 0, 0, 0.7); }

.hero__media .lightbox .lightbox-container .lightbox-content .lightbox-close {
  text-transform: uppercase;
  background: transparent;
  position: absolute;
  font-weight: 300;
  font-size: 12px;
  display: block;
  border: none;
  color: white;
  top: -22px;
  right: 3%; }

.hero__media .lightbox .lightbox-container .lightbox-content .video-container {
  padding-bottom: 56.25%;
  position: relative;
  padding-top: 30px;
  overflow: hidden;
  height: 0; }

.hero__media .lightbox .lightbox-container .lightbox-content .video-container iframe, .hero__media .lightbox .lightbox-container .lightbox-content .video-container object, .hero__media .lightbox .lightbox-container .lightbox-content .video-container embed {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0; }

@media print, screen and (max-width: 39.99875em) {
  .hero_news_version {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-top: 10px; } }

@media print, screen and (max-width: 39.99875em) {
  .hero_news_version .heading_news {
    margin-top: 40px; } }

.hero_news_version .heading_news p {
  margin-bottom: 5px; }

.hero_news_version .heading_news p:last-child {
  margin-bottom: 20px; }

.hero_news_version .news_tags .cell {
  margin: 0px 10px 20px 0px;
  padding: 5px 20px;
  background-color: #004B7E;
  color: #fff;
  border-radius: 15px; }

.hero_news_version .news_tags .cell a {
  color: #fff; }

.hero_news_version .news_supporters .grid-x {
  height: 100%; }

.hero_news_version .news_supporters .grid-x .cell {
  padding: 0px 5px;
  margin: 0px 0px 10px 0px; }

.hero_tier5_large .hero_text_area {
  position: relative; }

.hero_tier5_large .hero_text_area .hero_title_area {
  padding: 0px 50px;
  min-height: 100px; }

.hero_tier5_large .hero_text_area .hero_title_area h4 {
  line-height: 45px; }

.hero_tier5_large .hero_text_area .hero_title_area .subheading {
  padding: 15px 30px;
  background: #D7D7D7;
  position: absolute;
  right: 0px; }

.hero_tier5_large .hero_text_area .hero_info_area {
  padding: 20px 50px 50px 50px;
  background: #D7D7D7; }

.hero_tier5_large .hero_text_area .hero_info_area h5::before, .hero_tier5_large .hero_text_area .hero_info_area section .free_text blockquote p::before, section .free_text blockquote .hero_tier5_large .hero_text_area .hero_info_area p::before {
  content: "";
  background: url(../../../elf-theme/assets/icons/clock-blue.png);
  background-size: 20px 20px;
  width: 20px;
  height: 20px;
  right: 20px;
  position: absolute;
  left: 25px; }

.hero_tier5_large .hero_text_area .hero_info_area p {
  margin-bottom: 10px; }

.hero_tier5_large .hero_text_area .hero_info_area .hero_data {
  padding-left: 20px; }

.hero_tier5_large .hero_thumbnail {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }

.factsheet_banner_container {
  position: relative;
  text-align: center; }

.factsheet_banner_container .print_btn {
  text-decoration: none;
  padding: 15px 25px;
  color: #fff;
  background-color: #a6cdc6;
  border-radius: 5px;
  font-weight: 700;
  position: absolute;
  right: 12px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

@media print, screen and (min-width: 40em) {
  .factsheet_banner_container .print_btn {
    right: 10px; } }

@media print, screen and (max-width: 63.99875em) {
  .factsheet_banner_container .print_btn.Toc_print {
    bottom: 0; } }

@media print, screen and (min-width: 40em) {
  .factsheet_banner_container .print_btn i {
    margin-left: 5px; } }

.factsheet_banner_container .print_btn:hover, .factsheet_banner_container a.print_btn.active, .factsheet_banner_container button.print_btn.active {
  background-color: #16404d; }

.factsheet_banner_container .print_btn:hover i, .factsheet_banner_container a.print_btn.active i, .factsheet_banner_container button.print_btn.active i {
  color: #79d7be; }

.factsheet_hero_content {
  padding-left: 60px !important;
  padding-right: 60px !important; }

@media print, screen and (max-width: 63.99875em) {
  .factsheet_hero_content {
    padding: 1.5rem !important; } }

.featherlight .featherlight-close-icon {
  margin: 20px 40px 20px 0;
  text-align: right !important; }

.declarationInterests, .video_lightbox {
  display: none; }

.declarationInterests .declarationHeader, .declarationInterests .video-box, .video_lightbox .declarationHeader, .video_lightbox .video-box {
  margin-top: 50px; }

.declarationInterests table, .video_lightbox table {
  border-collapse: collapse;
  border: 1px solid #767175;
  margin-bottom: 40px; }

.declarationInterests table td, .declarationInterests table th, .video_lightbox table td, .video_lightbox table th {
  padding: 10px;
  padding-right: 30px;
  border: 1px solid #767175; }

#map {
  height: 530px; }

#map button:after {
  content: none; }

.map-wrap {
  position: relative; }

.map-wrap .callout--contact {
  position: absolute;
  bottom: 36px;
  left: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0); }

@media print, screen and (min-width: 40em) {
  .map-wrap .callout--contact {
    top: 50%;
    bottom: auto;
    font-size: 1.25rem;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); } }

.map-wrap .callout--contact .cell {
  background: #FFF;
  padding: 40px; }

.map-wrap .callout--contact address {
  font-family: "Avenir LT W01_55 Roman1475520";
  font-style: normal;
  color: #16404d;
  margin-bottom: 28px; }

/** SECTION  */
section {
  margin-bottom: 30px; }

@media print, screen and (min-width: 40em) {
  section {
    margin-bottom: 50px; } }

@media print, screen and (min-width: 64em) {
  section {
    margin-bottom: 80px; } }

section.section-collapse {
  margin: 0; }

section.section-sidebar {
  margin-bottom: 0;
  padding-bottom: 0; }

section.section-pullup {
  margin-top: -30px; }

@media print, screen and (min-width: 40em) {
  section.section-pullup {
    margin-top: -50px; } }

@media print, screen and (min-width: 64em) {
  section.section-pullup {
    margin-top: -80px; } }

section.greyBg {
  background-color: #F4F4F4; }

section.greyBg .grid-container {
  padding-top: 40px;
  padding-bottom: 40px; }

section.greyBg .grid-container.pushdown-wrap {
  background-color: #F4F4F4; }

section.greyBg .grid-container.pushdown-wrap .accordion__card, section.greyBg .grid-container.pushdown-wrap .accordion-content {
  background-color: #F4F4F4; }

section.greyBg .grid-container.transparent {
  background-color: transparent; }

section.greyBg .grid-container.transparent .grid-x {
  background-color: #a6cdc6; }

section.greyBg .grid-container.transparent .grid-x.transparent {
  background-color: transparent; }

section.greyBg .grid-container.transparent .grid-x:first-child {
  background-color: transparent; }

section.greyBg .grid-container.transparent .cell {
  background-color: #a6cdc6; }

section.greyBg .grid-container.transparent .cell.transparent {
  background-color: transparent; }

section.greyBg .grid-container.transparent .cell.inner {
  background-color: transparent; }

section.greyBg .grid-container.transparent .cell.medium-5 {
  padding: 20px; }

section.greyBg .grid-container.transparent .cell.wrapper {
  background-color: transparent; }

section.greyBg .grid-container.transparent .cell.wrapper .button__halfhalf .button__simple a {
  background-color: #a6cdc6; }

section.greyBg .grid-container.transparent .cell.card__heading__inner {
  background-color: transparent; }

section.greyBg .grid-container .card.card__simple {
  padding: 20px; }

section.accordionBg {
  background-color: #F4F4F4; }

section.accordionBg .accordion, section.accordionBg .accordion-content {
  background-color: #F4F4F4; }

section.listings {
  background: #F4F4F4;
  padding-bottom: 40px; }

section.listings.has-heading {
  background: none; }

section.listings.has-heading .listing {
  background-color: #F4F4F4; }

section.listings.stories {
  padding-top: 40px; }

section.listings.risk-factors {
  margin-top: -80px;
  margin-bottom: 70px;
  padding-top: 40px; }

section.form {
  background: #F0F0F0;
  padding: 40px 0;
  position: relative; }

@media print, screen and (min-width: 40em) {
  section.form {
    padding: 80px 0; } }

section.mb0 {
  margin-bottom: 0px; }

@media print {
  .factsheet-content .medium-8, .factsheet-content .heading.medium-8, .factsheet-content .card__details, .card.card__heading .medium-8, .card.card__heading .heading.medium-8, .card.card__heading .card__details {
    width: 100%;
    left: 0%; }
  .factsheet-content .card__details {
    width: 100% !important;
    left: 0% !important; }
  .factsheet-content .card__details .button, .factsheet-content .card__details li.faux-button a, li.faux-button .factsheet-content .card__details a {
    text-align: left; }
  .factsheet_hero_content {
    width: 100% !important;
    height: 45vh; }
  .dropdown__tableofcontent, .dropdown__tableofcontent_mobile, #cookie-law-info-again {
    display: none !important;
    opacity: 0; }
  .factsheet_banner_container {
    width: 100% !important;
    height: 45vh; }
  .card__featured__text, .card__featured {
    width: 100% !important; } }

/** SHARE */
.share {
  margin: 0 auto; }

.share .share--title {
  display: inline-block; }

.share ul.social--list {
  padding: 0;
  margin: 0;
  display: inline-block;
  list-style: none;
  vertical-align: middle; }

.share ul.social--list li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 22px;
  height: 22px;
  background: #16404d;
  border-radius: 50%; }

.share ul.social--list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #FFF;
  text-decoration: none;
  font-size: 12px; }

/** VIDEO */
.video h1, .video h2, .video h3, .video h4, .video h5, .video section .free_text blockquote p, section .free_text blockquote .video p, .video h6, .video .updated .date, .updated .video .date, .video .h1, .video .h2, .video .h3, .video .h4, .video .h5, .video .h6 {
  margin-bottom: 30px; }

.video.video__embed .video__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  height: 0;
  margin-bottom: 12px; }

.video.video__embed .video__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.video.video__embed .video__icon {
  background: url(../../../elf-theme/assets/icons/video-player-icon.svg) no-repeat left center/28px 17px;
  min-height: 18px; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .video.video__embed .video__icon {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/video-player-icon.svg);
            mask-image: url(../../../elf-theme/assets/icons/video-player-icon.svg);
    -webkit-mask-size: 28px 17px;
            mask-size: 28px 17px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; } }

.video.video__embed .video__icon.soundcloud {
  background: url(../../../elf-theme/assets/icons/soundcloud-player-icon.svg) no-repeat;
  background-size: 34px 27px;
  background-position: center 34px; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .video.video__embed .video__icon.soundcloud {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/soundcloud-player-icon.svg);
            mask-image: url(../../../elf-theme/assets/icons/soundcloud-player-icon.svg);
    -webkit-mask-size: 34px 27px;
            mask-size: 34px 27px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center 34px;
            mask-position: center 34px; } }

.video.video__embed .video-text {
  position: relative; }

.video.video__embed .video__description {
  text-transform: capitalize;
  margin-bottom: 0;
  font-weight: normal; }

.video.video__embed .video__info {
  color: #767175;
  font-size: 0.875rem;
  position: relative; }

.video.video__embed .video__info.video__time {
  padding-left: 15px; }

.video.video__embed .video__info.video__time::before {
  content: "";
  top: 50%;
  left: -15px;
  height: 21px;
  width: 21px;
  position: relative;
  display: inline-block;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../../../elf-theme/assets/icons/time-icon.svg) no-repeat left center/21px 21px;
  text-decoration: none; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .video.video__embed .video__info.video__time::before {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/time-icon.svg);
            mask-image: url(../../../elf-theme/assets/icons/time-icon.svg);
    -webkit-mask-size: 21px 21px;
            mask-size: 21px 21px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: left center;
            mask-position: left center; } }

.video.video__embed .video__info.view__count {
  margin-left: 30px; }

.video.video__embed .video_margin {
  margin-top: 10px; }

.video .video__banner {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-bottom: 22px; }

.video .video__banner img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.video .video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden; }

.video .video-container iframe, .video .video-container object, .video .video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.video .playbutton {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: url(../../../elf-theme/assets/icons/video-play.svg) no-repeat center center/50px 50px;
  width: 100%;
  height: 100%;
  z-index: 999; }

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .video .playbutton {
    background: #16404d;
    -webkit-mask-image: url(../../../elf-theme/assets/icons/video-play.svg);
            mask-image: url(../../../elf-theme/assets/icons/video-play.svg);
    -webkit-mask-size: 50px 50px;
            mask-size: 50px 50px;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center center;
            mask-position: center center; } }

@media print, screen and (min-width: 64em) {
  .video .playbutton {
    background-size: 65px 65px; } }

.video .playbutton:hover, .video a.playbutton.active, .video button.playbutton.active {
  cursor: pointer; }

.video .close {
  display: none; }

@media print, screen and (max-width: 39.99875em) {
  .media .video__embed {
    margin-bottom: 30px; } }

.media .video__embed .video__wrapper {
  margin-bottom: 12px; }

.media .video__embed .video__info.video__time {
  position: relative; }

.media .video__embed .video__info.video__time:before {
  position: absolute;
  left: 0; }

.cc-window {
  opacity: 1;
  -webkit-transition: opacity 1s ease;
  -o-transition: opacity 1s ease;
  transition: opacity 1s ease; }

.cc-window.cc-invisible {
  opacity: 0; }

.cc-animate.cc-revoke {
  -webkit-transition: transform 1s ease;
  -webkit-transition: -webkit-transform 1s ease;
  transition: -webkit-transform 1s ease;
  -o-transition: transform 1s ease;
  transition: transform 1s ease;
  transition: transform 1s ease, -webkit-transform 1s ease;
  transition: transform 1s ease,-webkit-transform 1s ease; }

.cc-animate.cc-revoke.cc-top {
  -webkit-transform: translateY(-2em);
  -ms-transform: translateY(-2em);
      transform: translateY(-2em); }

.cc-animate.cc-revoke.cc-bottom {
  -webkit-transform: translateY(2em);
  -ms-transform: translateY(2em);
      transform: translateY(2em); }

.cc-animate.cc-revoke.cc-active.cc-top {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
      transform: translateY(0); }

.cc-animate.cc-revoke.cc-active.cc-bottom {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
      transform: translateY(0); }

.cc-revoke:hover, a.cc-revoke.active, button.cc-revoke.active {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
      transform: translateY(0); }

.cc-grower {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 1s;
  -o-transition: max-height 1s;
  transition: max-height 1s; }

.cc-revoke, .cc-window {
  position: fixed;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: Helvetica,Calibri,Arial,sans-serif;
  font-size: 16px;
  line-height: 1.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  z-index: 9999; }

.cc-window.cc-static {
  position: static; }

.cc-window.cc-floating {
  padding: 2em;
  max-width: 24em;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.cc-window.cc-banner {
  padding: 1em 1.8em;
  width: 100%;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row; }

.cc-revoke {
  padding: .5em; }

.cc-revoke:hover, a.cc-revoke.active, button.cc-revoke.active {
  text-decoration: underline; }

.cc-header {
  font-size: 18px;
  font-weight: 700; }

.cc-btn, .cc-close, .cc-link, .cc-revoke {
  cursor: pointer; }

.cc-link {
  opacity: .8;
  display: inline-block;
  padding: .2em;
  text-decoration: underline; }

.cc-link:hover, a.cc-link.active, button.cc-link.active {
  opacity: 1; }

.cc-link:active, .cc-link:visited {
  color: initial; }

.cc-btn {
  display: block;
  padding: .4em .8em;
  font-size: .9em;
  font-weight: 700;
  border-width: 2px;
  border-style: solid;
  text-align: center;
  white-space: nowrap; }

.cc-highlight .cc-btn:first-child {
  background-color: transparent;
  border-color: transparent; }

.cc-highlight .cc-btn:first-child:focus, .cc-highlight .cc-btn:first-child:hover, .cc-highlight a.cc-btn.active:first-child, .cc-highlight button.cc-btn.active:first-child {
  background-color: transparent;
  text-decoration: underline; }

.cc-close {
  display: block;
  position: absolute;
  top: .5em;
  right: .5em;
  font-size: 1.6em;
  opacity: .9;
  line-height: .75; }

.cc-close:focus, .cc-close:hover, a.cc-close.active, button.cc-close.active {
  opacity: 1; }

.cc-revoke.cc-top {
  top: 0;
  left: 3em;
  border-bottom-left-radius: .5em;
  border-bottom-right-radius: .5em; }

.cc-revoke.cc-bottom {
  bottom: 0;
  left: 3em;
  border-top-left-radius: .5em;
  border-top-right-radius: .5em; }

.cc-revoke.cc-left {
  left: 3em;
  right: unset; }

.cc-revoke.cc-right {
  right: 3em;
  left: unset; }

.cc-top {
  top: 1em; }

.cc-left {
  left: 1em; }

.cc-right {
  right: 1em; }

.cc-bottom {
  bottom: 1em; }

.cc-floating > .cc-link {
  margin-bottom: 1em; }

.cc-floating .cc-message {
  display: block;
  margin-bottom: 1em; }

.cc-window.cc-floating .cc-compliance {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto; }

.cc-window.cc-banner {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.cc-banner.cc-top {
  left: 0;
  right: 0;
  top: 0; }

.cc-banner.cc-bottom {
  left: 0;
  right: 0;
  bottom: 0; }

.cc-banner .cc-message {
  display: block;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  max-width: 100%;
  margin-right: 1em; }

.cc-compliance {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: justify;
  align-content: space-between; }

.cc-floating .cc-compliance > .cc-btn {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }

.cc-btn + .cc-btn {
  margin-left: .5em; }

@media print {
  .cc-revoke, .cc-window {
    display: none; } }

@media screen and (max-width: 900px) {
  .cc-btn {
    white-space: normal; } }

@media screen and (max-width: 414px) and (orientation: portrait), screen and (max-width: 736px) and (orientation: landscape) {
  .cc-window.cc-top {
    top: 0; }
  .cc-window.cc-bottom {
    bottom: 0; }
  .cc-window.cc-banner, .cc-window.cc-floating, .cc-window.cc-left, .cc-window.cc-right {
    left: 0;
    right: 0; }
  .cc-window.cc-banner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
  .cc-window.cc-banner .cc-compliance {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto; }
  .cc-window.cc-floating {
    max-width: none; }
  .cc-window .cc-message {
    margin-bottom: 1em; }
  .cc-window.cc-banner {
    -webkit-box-align: unset;
    -ms-flex-align: unset;
    align-items: unset; }
  .cc-window.cc-banner .cc-message {
    margin-right: 0; } }

.cc-floating.cc-theme-classic {
  padding: 1.2em;
  border-radius: 5px; }

.cc-floating.cc-type-info.cc-theme-classic .cc-compliance {
  text-align: center;
  display: inline;
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none; }

.cc-theme-classic .cc-btn {
  border-radius: 5px; }

.cc-theme-classic .cc-btn:last-child {
  min-width: 140px; }

.cc-floating.cc-type-info.cc-theme-classic .cc-btn {
  display: inline-block; }

.cc-theme-edgeless.cc-window {
  padding: 0; }

.cc-floating.cc-theme-edgeless .cc-message {
  margin: 2em;
  margin-bottom: 1.5em; }

.cc-banner.cc-theme-edgeless .cc-btn {
  margin: 0;
  padding: .8em 1.8em;
  height: 100%; }

.cc-banner.cc-theme-edgeless .cc-message {
  margin-left: 1em; }

.cc-floating.cc-theme-edgeless .cc-btn + .cc-btn {
  margin-left: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvZm9udC1hd2Vzb21lLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvX3BhdGguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fY29yZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL19sYXJnZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fZml4ZWQtd2lkdGguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fbGlzdC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fYm9yZGVyZWQtcHVsbGVkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvX2FuaW1hdGVkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm9udC1hd2Vzb21lL3Njc3MvX3JvdGF0ZWQtZmxpcHBlZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb250LWF3ZXNvbWUvc2Nzcy9fc3RhY2tlZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL19pY29ucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvbnQtYXdlc29tZS9zY3NzL19zY3JlZW4tcmVhZGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvX2Jhc2Uuc2NzcyIsInZlbmRvci9faGFtYnVyZ2VyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zdGFuZC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3RhbmQtci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fY29yZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYW5pbWF0ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYXV0b2hlaWdodC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fbGF6eWxvYWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3ZpZGVvLnNjc3MiLCJ2ZW5kb3IvX2ZlYXRoZXJsaWdodC5zY3NzIiwic2V0dGluZ3MvX3NldHRpbmdzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwidXRpbHMvX3V0aWxzLnNjc3MiLCJnbG9iYWwvX3NpdGUtc3RpY2t5LWZvb3Rlci5zY3NzIiwiZ3JpZC9fZ3JpZC14LXkuc2NzcyIsImVsZW1lbnRzL19hY2NvcmRpb24uc2NzcyIsImVsZW1lbnRzL19jYXB0aW9uLnNjc3MiLCJlbGVtZW50cy9fY29sb3JzLnNjc3MiLCJlbGVtZW50cy9fYmFja2dyb3VuZC1jb2xvdXJzLnNjc3MiLCJlbGVtZW50cy9fYmFja2dyb3VuZC1pbWFnZXMuc2NzcyIsImVsZW1lbnRzL19mb3JtLnNjc3MiLCJlbGVtZW50cy9fYnV0dG9ucy5zY3NzIiwiZWxlbWVudHMvX2ltYWdlLnNjc3MiLCJlbGVtZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiZWxlbWVudHMvX3NlYXJjaC5zY3NzIiwiZWxlbWVudHMvX2xpc3Quc2NzcyIsImVsZW1lbnRzL190YWJzLnNjc3MiLCJ0eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3MiLCJnbG9iYWwvX3NpdGUtaGVhZGVyLnNjc3MiLCJnbG9iYWwvX3NpdGUtZm9vdGVyLnNjc3MiLCJnbG9iYWwvX3NoYXJlZC1lbGVtZW50cy5zY3NzIiwiZ2xvYmFsL19icmVhZGNydW1iLnNjc3MiLCJnbG9iYWwvX3NlYXJjaC5zY3NzIiwiY29tcG9uZW50cy9fYXJ0aWNsZS5zY3NzIiwiY29tcG9uZW50cy9fYXdhcmQuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQuc2NzcyIsImNvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXJzLnNjc3MiLCJjb21wb25lbnRzL19oZXJvLnNjc3MiLCJjb21wb25lbnRzL19saWdodGJveC5zY3NzIiwiY29tcG9uZW50cy9fbWFwLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19zaGFyZS5zY3NzIiwiY29tcG9uZW50cy9fdmlkZW8uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9jb29raWVjb25zZW50L2J1aWxkL2Nvb2tpZWNvbnNlbnQubWluLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEIsMkpBQUE7QUNBQSx5Q0FBQTtBQUdBO0VBQ0UsMEJBQTBCO0VBQzFCLG9EQUFxRTtFQUNyRSxpWEFJbUc7RUFFbkcsbUJBQW1CO0VBQ25CLGtCQUFrQixFQUFBOztBQ1ZwQjtFQUNFLHFCQUFxQjtFQUNyQiw2Q0FBb0Y7RUFDcEYsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixtQ0FBbUM7RUFDbkMsa0NBQWtDLEVBQUE7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QU1wcUJ0QjtFQUF3QyxZTjhpQm5CLEVBQU87O0FNN2lCNUI7RUFBeUMsWU40aUJuQixFQUFPOztBTTNpQjdCO0VBQXNDLFlONGZuQixFQUFPOztBTTNmMUI7RUFBbUMsWU5pa0JuQixFQUFPOztBTWhrQnZCO0VBQ2dDLFlOZ0tuQixFQUFPOztBTS9KcEI7RUFBb0MsWU4rcUJuQixFQUFPOztBTTlxQnhCO0VBQWlDLFlOd1ZuQixFQUFPOztBTXZWckI7RUFBbUMsWU51UG5CLEVBQU87O0FNdFB2QjtFQUFvQyxZTmdKbkIsRUFBTzs7QU0vSXhCO0VBQWlDLFlObWhCbkIsRUFBTzs7QU1saEJyQjtFQUFxQyxZTmdNbkIsRUFBTzs7QU0vTHpCO0VBQWdELFlOWW5CLEVBQU87O0FNWHBDO0VBQThDLFlOY25CLEVBQU87O0FNYmxDO0VBQWtDLFlOcVduQixFQUFPOztBTXBXdEI7RUFBMEMsWU53ZW5CLEVBQU87O0FNdmU5QjtFQUNtQyxZTnNnQm5CLEVBQU87O0FNcmdCdkI7RUFBb0MsWU5nZ0JuQixFQUFPOztBTS9meEI7RUFBcUMsWU53WW5CLEVBQU87O0FNdll6QjtFQUFpQyxZTjJZbkIsRUFBTzs7QU0xWXJCO0VBQWlDLFlONFBuQixFQUFPOztBTTNQckI7RUFBdUMsWU5vVW5CLEVBQU87O0FNblUzQjtFQUF1QyxZTml0Qm5CLEVBQU87O0FNaHRCM0I7RUFBd0MsWU4rc0JuQixFQUFPOztBTTlzQjVCO0VBQXNDLFlOZ3RCbkIsRUFBTzs7QU0vc0IxQjtFQUFtQyxZTnllbkIsRUFBTzs7QU14ZXZCO0VBQW9DLFlOd0JuQixFQUFPOztBTXZCeEI7RUFBZ0MsWU55bUJuQixFQUFPOztBTXhtQnBCO0VBQWlDLFlOeW1CbkIsRUFBTzs7QU14bUJyQjtFQUFpQyxZTnlEbkIsRUFBTzs7QU14RHJCO0VBQXFDLFlOeURuQixFQUFPOztBTXhEekI7RUFBa0MsWU4rZG5CLEVBQU87O0FNOWR0QjtFQUFtQyxZTjJFbkIsRUFBTzs7QU0xRXZCO0VBQWlDLFlOMFBuQixFQUFPOztBTXpQckI7RUFBaUMsWU5pRG5CLEVBQU87O0FNaERyQjtFQUFtQyxZTjBWbkIsRUFBTzs7QU16VnZCO0VBQXdDLFlOd21CbkIsRUFBTzs7QU12bUI1QjtFQUF1QyxZTndtQm5CLEVBQU87O0FNdm1CM0I7RUFBdUMsWU5wQ25CLEVBQU87O0FNcUMzQjtFQUF5QyxZTnZDbkIsRUFBTzs7QU13QzdCO0VBQXdDLFlOckNuQixFQUFPOztBTXNDNUI7RUFBMEMsWU54Q25CLEVBQU87O0FNeUM5QjtFQUFpQyxZTitXbkIsRUFBTzs7QU05V3JCO0VBQ29DLFlOMmFuQixFQUFPOztBTTFheEI7RUFBbUMsWU5zVW5CLEVBQU87O0FNclV2QjtFQUF5QyxZTmtyQm5CLEVBQU87O0FNanJCN0I7RUFFc0MsWU4wYm5CLEVBQU87O0FNemIxQjtFQUFtQyxZTmtibkIsRUFBTzs7QU1qYnZCO0VBQXVDLFlOd1huQixFQUFPOztBTXZYM0I7RUFBbUMsWU50RG5CLEVBQU87O0FNdUR2QjtFQUFpQyxZTm1uQm5CLEVBQU87O0FNbG5CckI7RUFDNEMsWU4rYW5CLEVBQU87O0FNOWFoQztFQUEyQyxZTjhmbkIsRUFBTzs7QU03Zi9CO0VBQTJDLFlOK0VuQixFQUFPOztBTTlFL0I7RUFBbUMsWU56Qm5CLEVBQU87O0FNMEJ2QjtFQUEwQyxZTm1qQm5CLEVBQU87O0FNbGpCOUI7RUFBMEMsWU5xTG5CLEVBQU87O0FNcEw5QjtFQUFxQyxZTmxCbkIsRUFBTzs7QU1tQnpCO0VBQWlDLFlOc2JuQixFQUFPOztBTXJickI7RUFBa0MsWU5nYW5CLEVBQU87O0FNL1p0QjtFQUFpQyxZTm1qQm5CLEVBQU87O0FNbGpCckI7RUFBb0MsWU4rTm5CLEVBQU87O0FNOU54QjtFQUF5QyxZTmdMbkIsRUFBTzs7QU0vSzdCO0VBQXlDLFlONGlCbkIsRUFBTzs7QU0zaUI3QjtFQUFrQyxZTitJbkIsRUFBTzs7QU05SXRCO0VBQXlDLFlOeUVuQixFQUFPOztBTXhFN0I7RUFBMEMsWU55RW5CLEVBQU87O0FNeEU5QjtFQUF3QyxZTmtibkIsRUFBTzs7QU1qYjVCO0VBQXlDLFlOdVhuQixFQUFPOztBTXRYN0I7RUFBeUMsWU4ybEJuQixFQUFPOztBTTFsQjdCO0VBQXlDLFlOMkRuQixFQUFPOztBTTFEN0I7RUFBNEMsWU55Ym5CLEVBQU87O0FNeGJoQztFQUF3QyxZTjBTbkIsRUFBTzs7QU16UzVCO0VBQXVDLFlOMEduQixFQUFPOztBTXpHM0I7RUFBMkMsWU51bEJuQixFQUFPOztBTXRsQi9CO0VBQTJDLFlOdURuQixFQUFPOztBTXREL0I7RUFBZ0MsWU5uQ25CLEVBQU87O0FNb0NwQjtFQUF1QyxZTm5EbkIsRUFBTzs7QU1vRDNCO0VBQXdDLFlObkRuQixFQUFPOztBTW9ENUI7RUFBcUMsWU5uRG5CLEVBQU87O0FNb0R6QjtFQUF1QyxZTnZEbkIsRUFBTzs7QU13RDNCO0VBQ2tDLFlONGRuQixFQUFPOztBTTNkdEI7RUFBbUMsWU44SW5CLEVBQU87O0FNN0l2QjtFQUFxQyxZTnNGbkIsRUFBTzs7QU1yRnpCO0VBQWlDLFlOK1puQixFQUFPOztBTTlackI7RUFBa0MsWU5vV25CLEVBQU87O0FNbld0QjtFQUFxQyxZTnBEbkIsRUFBTzs7QU1xRHpCO0VBQStDLFlOdUluQixFQUFPOztBTXRJbkM7RUFBaUMsWU5rTm5CLEVBQU87O0FNak5yQjtFQUFpQyxZTjBTbkIsRUFBTzs7QU16U3JCO0VBQWlDLFlONktuQixFQUFPOztBTTVLckI7RUFBZ0MsWU55SW5CLEVBQU87O0FNeElwQjtFQUFzQyxZTnlJbkIsRUFBTzs7QU14STFCO0VBQ2lELFlOaUluQixFQUFPOztBTWhJckM7RUFBa0MsWU4rWW5CLEVBQU87O0FNOVl0QjtFQUFxQyxZTkFuQixFQUFPOztBTUN6QjtFQUFtQyxZTm9hbkIsRUFBTzs7QU1uYXZCO0VBQW9DLFlOZ0VuQixFQUFPOztBTS9EeEI7RUFBbUMsWU42VG5CLEVBQU87O0FNNVR2QjtFQUF1QyxZTnVDbkIsRUFBTzs7QU10QzNCO0VBQXlDLFlObUNuQixFQUFPOztBTWxDN0I7RUFBb0MsWU4rYW5CLEVBQU87O0FNOWF4QjtFQUEwQyxZTmtkbkIsRUFBTzs7QU1qZDlCO0VBQW1DLFlOMEtuQixFQUFPOztBTXpLdkI7RUFBd0MsWU4yS25CLEVBQU87O0FNMUs1QjtFQUFxQyxZTjNFbkIsRUFBTzs7QU00RXpCO0VBQXFDLFlON0VuQixFQUFPOztBTThFekI7RUFDc0MsWU5sRW5CLEVBQU87O0FNbUUxQjtFQUEyQyxZTitrQm5CLEVBQU87O0FNOWtCL0I7RUFBNEMsWU40SG5CLEVBQU87O0FNM0hoQztFQUF5QyxZTlRuQixFQUFPOztBTVU3QjtFQUFnQyxZTjJRbkIsRUFBTzs7QU0xUXBCO0VBQ2lDLFlONkNuQixFQUFPOztBTTVDckI7RUFBcUMsWU5rRG5CLEVBQU87O0FNakR6QjtFQUF3QyxZTnNpQm5CLEVBQU87O0FNcmlCNUI7RUFBMEMsWU5vaUJuQixFQUFPOztBTW5pQjlCO0VBQXNDLFlOMmVuQixFQUFPOztBTTFlMUI7RUFBb0MsWU44Tm5CLEVBQU87O0FNN054QjtFQUFxQyxZTm9jbkIsRUFBTzs7QU1uY3pCO0VBQTRDLFlOdVJuQixFQUFPOztBTXRSaEM7RUFBdUMsWU42aEJuQixFQUFPOztBTTVoQjNCO0VBQTBDLFlOc0duQixFQUFPOztBTXJHOUI7RUFBb0MsWU44Ym5CLEVBQU87O0FNN2J4QjtFQUFtQyxZTnFqQm5CLEVBQU87O0FNcGpCdkI7RUFBMEMsWU5nTG5CLEVBQU87O0FNL0s5QjtFQUFtQyxZTnVrQm5CLEVBQU87O0FNdGtCdkI7RUFBb0MsWU5xUW5CLEVBQU87O0FNcFF4QjtFQUFrQyxZTmlXbkIsRUFBTzs7QU1oV3RCO0VBQXFDLFlOMmRuQixFQUFPOztBTTFkekI7RUFBdUMsWU5qRG5CLEVBQU87O0FNa0QzQjtFQUF5QyxZTitWbkIsRUFBTzs7QU05VjdCO0VBQW9DLFlOc2pCbkIsRUFBTzs7QU1yakJ4QjtFQUNxQyxZTmdHbkIsRUFBTzs7QU0vRnpCO0VBQW1DLFlOb0tuQixFQUFPOztBTW5LdkI7RUFBbUMsWU4wakJuQixFQUFPOztBTXpqQnZCO0VBQXdDLFlOb0NuQixFQUFPOztBTW5DNUI7RUFDZ0MsWU4rWW5CLEVBQU87O0FNOVlwQjtFQUFrQyxZTm9NbkIsRUFBTzs7QU1uTXRCO0VBQXFDLFlOckRuQixFQUFPOztBTXNEekI7RUFBaUMsWU5oRm5CLEVBQU87O0FNaUZyQjtFQUF3QyxZTnJCbkIsRUFBTzs7QU1zQjVCO0VBQXlDLFlOb0xuQixFQUFPOztBTW5MN0I7RUFBd0MsWU5rTG5CLEVBQU87O0FNakw1QjtFQUFzQyxZTm1MbkIsRUFBTzs7QU1sTDFCO0VBQXdDLFlOK0tuQixFQUFPOztBTTlLNUI7RUFBOEMsWU5ySW5CLEVBQU87O0FNc0lsQztFQUErQyxZTmpJbkIsRUFBTzs7QU1rSW5DO0VBQTRDLFlOakluQixFQUFPOztBTWtJaEM7RUFBOEMsWU56SW5CLEVBQU87O0FNMElsQztFQUFrQyxZTjJKbkIsRUFBTzs7QU0xSnRCO0VBQW1DLFlONmxCbkIsRUFBTzs7QU01bEJ2QjtFQUFrQyxZTnFlbkIsRUFBTzs7QU1wZXRCO0VBQW1DLFlOeUduQixFQUFPOztBTXhHdkI7RUFBc0MsWU56RW5CLEVBQU87O0FNMEUxQjtFQUF1QyxZTmxJbkIsRUFBTzs7QU1tSTNCO0VBQ2tDLFlOaWpCbkIsRUFBTzs7QU1oakJ0QjtFQUNpQyxZTjRPbkIsRUFBTzs7QU0zT3JCO0VBQWtDLFlOZG5CLEVBQU87O0FNZXRCO0VBQWtDLFlOMEduQixFQUFPOztBTXpHdEI7RUFDcUMsWU42WG5CLEVBQU87O0FNNVh6QjtFQUNvQyxZTjJGbkIsRUFBTzs7QU0xRnhCO0VBQXNDLFlONlNuQixFQUFPOztBTTVTMUI7RUFDcUMsWU5xR25CLEVBQU87O0FNcEd6QjtFQUFtQyxZTmdibkIsRUFBTzs7QU0vYXZCO0VBRWlDLFlObEluQixFQUFPOztBTW1JckI7RUFBb0MsWU5zT25CLEVBQU87O0FNck94QjtFQUFvQyxZTm9PbkIsRUFBTzs7QU1uT3hCO0VBQTBDLFlOK2JuQixFQUFPOztBTTliOUI7RUFBc0MsWU4yZ0JuQixFQUFPOztBTTFnQjFCO0VBQWtDLFlOdWNuQixFQUFPOztBTXRjdEI7RUFBa0MsWU55T25CLEVBQU87O0FNeE90QjtFQUFrQyxZTjZmbkIsRUFBTzs7QU01ZnRCO0VBQXNDLFlObVRuQixFQUFPOztBTWxUMUI7RUFBNkMsWU5vVG5CLEVBQU87O0FNblRqQztFQUErQyxZTmdJbkIsRUFBTzs7QU0vSG5DO0VBQXdDLFlONEhuQixFQUFPOztBTTNINUI7RUFBa0MsWU5xUW5CLEVBQU87O0FNcFF0QjtFQUF1QyxZTnBGbkIsRUFBTzs7QU1xRjNCO0VBQXFDLFlOOUVuQixFQUFPOztBTStFekI7RUFBdUMsWU5yRm5CLEVBQU87O0FNc0YzQjtFQUF3QyxZTnJGbkIsRUFBTzs7QU1zRjVCO0VBQW9DLFlOaENuQixFQUFPOztBTWlDeEI7RUFDaUMsWU4wWW5CLEVBQU87O0FNellyQjtFQUNzQyxZTjhZbkIsRUFBTzs7QU03WTFCO0VBQ3FDLFlOMlluQixFQUFPOztBTTFZekI7RUFBcUMsWU5VbkIsRUFBTzs7QU1UekI7RUFBcUMsWU51TW5CLEVBQU87O0FNdE16QjtFQUNpQyxZTnFmbkIsRUFBTzs7QU1wZnJCO0VBQ2tDLFlOb0ZuQixFQUFPOztBTW5GdEI7RUFDdUMsWU4rYW5CLEVBQU87O0FNOWEzQjtFQUFzQyxZTjdDbkIsRUFBTzs7QU04QzFCO0VBQXVDLFlOMUNuQixFQUFPOztBTTJDM0I7RUFDaUMsWU5wSW5CLEVBQU87O0FNcUlyQjtFQUFvQyxZTjZXbkIsRUFBTzs7QU01V3hCO0VBQXFDLFlOeWVuQixFQUFPOztBTXhlekI7RUFDc0MsWU5yRW5CLEVBQU87O0FNc0UxQjtFQUF3QyxZTnFMbkIsRUFBTzs7QU1wTDVCO0VBQXFDLFlOR25CLEVBQU87O0FNRnpCO0VBQTJDLFlObkVuQixFQUFPOztBTW9FL0I7RUFBeUMsWU5uRW5CLEVBQU87O0FNb0U3QjtFQUFvQyxZTmlmbkIsRUFBTzs7QU1oZnhCO0VBQXdDLFlOOFluQixFQUFPOztBTTdZNUI7RUFBcUMsWU55Wm5CLEVBQU87O0FNeFp6QjtFQUFtQyxZTjlKbkIsRUFBTzs7QU0rSnZCO0VBQW1DLFlObEVuQixFQUFPOztBTW1FdkI7RUFBb0MsWU4xQ25CLEVBQU87O0FNMkN4QjtFQUF3QyxZTjhCbkIsRUFBTzs7QU03QjVCO0VBQXVDLFlOMUluQixFQUFPOztBTTJJM0I7RUFBdUMsWU5zSG5CLEVBQU87O0FNckgzQjtFQUFzQyxZTnJPbkIsRUFBTzs7QU1zTzFCO0VBQW1DLFlONE1uQixFQUFPOztBTTNNdkI7RUFBd0MsWU5VbkIsRUFBTzs7QU1UNUI7RUFBaUMsWU4zS25CLEVBQU87O0FNNEtyQjtFQUFxQyxZTnVGbkIsRUFBTzs7QU10RnpCO0VBQXdDLFlOMlFuQixFQUFPOztBTTFRNUI7RUFBOEMsWU5yT25CLEVBQU87O0FNc09sQztFQUErQyxZTnJPbkIsRUFBTzs7QU1zT25DO0VBQTRDLFlOck9uQixFQUFPOztBTXNPaEM7RUFBOEMsWU56T25CLEVBQU87O0FNME9sQztFQUF1QyxZTnJPbkIsRUFBTzs7QU1zTzNCO0VBQXdDLFlOck9uQixFQUFPOztBTXNPNUI7RUFBcUMsWU5yT25CLEVBQU87O0FNc096QjtFQUF1QyxZTnpPbkIsRUFBTzs7QU0wTzNCO0VBQW9DLFlOcERuQixFQUFPOztBTXFEeEI7RUFBbUMsWU40SW5CLEVBQU87O0FNM0l2QjtFQUFtQyxZTndZbkIsRUFBTzs7QU12WXZCO0VBQ21DLFlOdU1uQixFQUFPOztBTXRNdkI7RUFBcUMsWU56R25CLEVBQU87O0FNMEd6QjtFQUF1QyxZTnlRbkIsRUFBTzs7QU14UTNCO0VBQXdDLFlOeVFuQixFQUFPOztBTXhRNUI7RUFBb0MsWU4rVm5CLEVBQU87O0FNOVZ4QjtFQUFtQyxZTjlHbkIsRUFBTzs7QU0rR3ZCO0VBQ2tDLFlOb1JuQixFQUFPOztBTW5SdEI7RUFBdUMsWU4rQ25CLEVBQU87O0FNOUMzQjtFQUFxQyxZTm1CbkIsRUFBTzs7QU1sQnpCO0VBQTBDLFlOb0JuQixFQUFPOztBTW5COUI7RUFBb0MsWU5xVW5CLEVBQU87O0FNcFV4QjtFQUFvQyxZTjJCbkIsRUFBTzs7QU0xQnhCO0VBQWtDLFlOZ0xuQixFQUFPOztBTS9LdEI7RUFBb0MsWU4yQm5CLEVBQU87O0FNMUJ4QjtFQUF1QyxZTnVIbkIsRUFBTzs7QU10SDNCO0VBQW1DLFlOTW5CLEVBQU87O0FNTHZCO0VBQTJDLFlOSW5CLEVBQU87O0FNSC9CO0VBQXFDLFlONlhuQixFQUFPOztBTTVYekI7RUFBaUMsWU5oSG5CLEVBQU87O0FNaUhyQjtFQUNzQyxZTnVRbkIsRUFBTzs7QU10UTFCO0VBRXdDLFlOc1ZuQixFQUFPOztBTXJWNUI7RUFBMkMsWU53SW5CLEVBQU87O0FNdkkvQjtFQUFpQyxZTmhHbkIsRUFBTzs7QU1pR3JCO0VBQXNDLFlOdkhuQixFQUFPOztBTXdIMUI7RUFDeUMsWU50Sm5CLEVBQU87O0FNdUo3QjtFQUFxQyxZTnlPbkIsRUFBTzs7QU14T3pCO0VBQWlDLFlOMEZuQixFQUFPOztBTXpGckI7RUFBd0MsWU4xRG5CLEVBQU87O0FNMkQ1QjtFQUF3QyxZTmtXbkIsRUFBTzs7QU1qVzVCO0VBQXNDLFlONFZuQixFQUFPOztBTTNWMUI7RUFBbUMsWU5sRW5CLEVBQU87O0FNbUV2QjtFQUF5QyxZTmdPbkIsRUFBTzs7QU0vTjdCO0VBQXVDLFlOMkpuQixFQUFPOztBTTFKM0I7RUFBNkMsWU4ySm5CLEVBQU87O0FNMUpqQztFQUFtQyxZTnNSbkIsRUFBTzs7QU1yUnZCO0VBQXVDLFlONUxuQixFQUFPOztBTTZMM0I7RUFBOEMsWU54Qm5CLEVBQU87O0FNeUJsQztFQUFtQyxZTnVQbkIsRUFBTzs7QU10UHZCO0VBQW1DLFlONkluQixFQUFPOztBTTVJdkI7RUFBZ0QsWU45Sm5CLEVBQU87O0FNK0pwQztFQUFpRCxZTjlKbkIsRUFBTzs7QU0rSnJDO0VBQThDLFlOOUpuQixFQUFPOztBTStKbEM7RUFBZ0QsWU5sS25CLEVBQU87O0FNbUtwQztFQUFrQyxZTjhEbkIsRUFBTzs7QU03RHRCO0VBQWlDLFlOckhuQixFQUFPOztBTXNIckI7RUFBbUMsWU52U25CLEVBQU87O0FNd1N2QjtFQUF1QyxZTjJabkIsRUFBTzs7QU0xWjNCO0VBQXFDLFlOaE5uQixFQUFPOztBTWlOekI7RUFBdUMsWU43Rm5CLEVBQU87O0FNOEYzQjtFQUF1QyxZTjdGbkIsRUFBTzs7QU04RjNCO0VBQXVDLFlOK09uQixFQUFPOztBTTlPM0I7RUFBd0MsWU5pTW5CLEVBQU87O0FNaE01QjtFQUFtQyxZTjZXbkIsRUFBTzs7QU01V3ZCO0VBQXlDLFlOMEluQixFQUFPOztBTXpJN0I7RUFBMkMsWU4wSW5CLEVBQU87O0FNekkvQjtFQUFxQyxZTnFGbkIsRUFBTzs7QU1wRnpCO0VBQXVDLFlObUZuQixFQUFPOztBTWxGM0I7RUFBeUMsWU5uTG5CLEVBQU87O0FNb0w3QjtFQUEwQyxZTjBLbkIsRUFBTzs7QU16SzlCO0VBQWlELFlOcEZuQixFQUFPOztBTXFGckM7RUFBeUMsWU53UG5CLEVBQU87O0FNdlA3QjtFQUFvQyxZTmpKbkIsRUFBTzs7QU1rSnhCO0VBQ2dELFlOL01uQixFQUFPOztBTWdOcEM7RUFDOEMsWU45TW5CLEVBQU87O0FNK01sQztFQUNpRCxZTmpObkIsRUFBTzs7QU1rTnJDO0VBQ2dDLFlOdkduQixFQUFPOztBTXdHcEI7RUFBZ0MsWU5oQ25CLEVBQU87O0FNaUNwQjtFQUNnQyxZTnFZbkIsRUFBTzs7QU1wWXBCO0VBQ2dDLFlONENuQixFQUFPOztBTTNDcEI7RUFHZ0MsWU5nRG5CLEVBQU87O0FNL0NwQjtFQUVnQyxZTmlObkIsRUFBTzs7QU1oTnBCO0VBQ2dDLFlOK0NuQixFQUFPOztBTTlDcEI7RUFDZ0MsWU4zUG5CLEVBQU87O0FNNFBwQjtFQUFpQyxZTmhHbkIsRUFBTzs7QU1pR3JCO0VBQXNDLFlOcEZuQixFQUFPOztBTXFGMUI7RUFBMkMsWU4wUG5CLEVBQU87O0FNelAvQjtFQUE0QyxZTjBQbkIsRUFBTzs7QU16UGhDO0VBQTRDLFlOMFBuQixFQUFPOztBTXpQaEM7RUFBNkMsWU4wUG5CLEVBQU87O0FNelBqQztFQUE2QyxZTjZQbkIsRUFBTzs7QU01UGpDO0VBQThDLFlONlBuQixFQUFPOztBTTVQbEM7RUFBc0MsWU5rVW5CLEVBQU87O0FNalUxQjtFQUF3QyxZTjhUbkIsRUFBTzs7QU03VDVCO0VBQTJDLFlOeWFuQixFQUFPOztBTXhhL0I7RUFBb0MsWU5zYW5CLEVBQU87O0FNcmF4QjtFQUFpQyxZTjJabkIsRUFBTzs7QU0xWnJCO0VBQXdDLFlOMlpuQixFQUFPOztBTTFaNUI7RUFBeUMsWU5vYW5CLEVBQU87O0FNbmE3QjtFQUFvQyxZTnhKbkIsRUFBTzs7QU15SnhCO0VBQTJDLFlOOFBuQixFQUFPOztBTTdQL0I7RUFBc0MsWU5nQm5CLEVBQU87O0FNZjFCO0VBQW1DLFlOcEZuQixFQUFPOztBTXFGdkI7RUFBZ0MsWU4zV25CLEVBQU87O0FNNFdwQjtFQUFzQyxZTi9SbkIsRUFBTzs7QU1nUzFCO0VBQTZDLFlOL1JuQixFQUFPOztBTWdTakM7RUFBbUMsWU4rVW5CLEVBQU87O0FNOVV2QjtFQUEwQyxZTitVbkIsRUFBTzs7QU05VTlCO0VBQTRDLFlOZ0RuQixFQUFPOztBTS9DaEM7RUFBMEMsWU5rRG5CLEVBQU87O0FNakQ5QjtFQUE0QyxZTitDbkIsRUFBTzs7QU05Q2hDO0VBQTZDLFlOK0NuQixFQUFPOztBTTlDakM7RUFBa0MsWU5qV25CLEVBQU87O0FNa1d0QjtFQUFvQyxZTm1ZbkIsRUFBTzs7QU1sWXhCO0VBQW9DLFlON1duQixFQUFPOztBTThXeEI7RUFBa0MsWU5rQ25CLEVBQU87O0FNakN0QjtFQUFxQyxZTjVLbkIsRUFBTzs7QU02S3pCO0VBQWtDLFlOZ05uQixFQUFPOztBTS9NdEI7RUFBdUMsWU54Rm5CLEVBQU87O0FNeUYzQjtFQUFtQyxZTjRUbkIsRUFBTzs7QU0zVHZCO0VBQW1DLFlOdEluQixFQUFPOztBTXVJdkI7RUFBaUMsWU42Q25CLEVBQU87O0FNNUNyQjtFQUNxQyxZTjVEbkIsRUFBTzs7QU02RHpCO0VBQWtDLFlOOFBuQixFQUFPOztBTTdQdEI7RUFBbUMsWU51RW5CLEVBQU87O0FNdEV2QjtFQUFvQyxZTjlXbkIsRUFBTzs7QU0rV3hCO0VBQWdDLFlOdFNuQixFQUFPOztBTXVTcEI7RUFBK0IsWU5pV25CLEVBQU87O0FNaFduQjtFQUFrQyxZTnVXbkIsRUFBTzs7QU10V3RCO0VBQW1DLFlOK0luQixFQUFPOztBTTlJdkI7RUFBc0MsWU5rRm5CLEVBQU87O0FNakYxQjtFQUEyQyxZTjZObkIsRUFBTzs7QU01Ti9CO0VBQWlELFlOL1duQixFQUFPOztBTWdYckM7RUFBZ0QsWU5qWG5CLEVBQU87O0FNa1hwQztFQUNnRCxZTnpSbkIsRUFBTzs7QU0wUnBDO0VBQXlDLFlObk1uQixFQUFPOztBTW9NN0I7RUFBdUMsWU5pV25CLEVBQU87O0FNaFczQjtFQUF5QyxZTm9WbkIsRUFBTzs7QU1uVjdCO0VBQ2dDLFlOMFNuQixFQUFPOztBTXpTcEI7RUFBMEMsWU4wR25CLEVBQU87O0FNekc5QjtFQUEwQyxZTjRNbkIsRUFBTzs7QU0zTTlCO0VBQWtDLFlOc0xuQixFQUFPOztBTXJMdEI7RUFBNEMsWU56TG5CLEVBQU87O0FNMExoQztFQUFzQyxZTm9XbkIsRUFBTzs7QU1uVzFCO0VBQW1DLFlOOERuQixFQUFPOztBTTdEdkI7RUFFdUMsWU44U25CLEVBQU87O0FNN1MzQjtFQUMyQyxZTjFGbkIsRUFBTzs7QU0yRi9CO0VBQWtDLFlOc1duQixFQUFPOztBTXJXdEI7RUFBbUMsWU5sR25CLEVBQU87O0FNbUd2QjtFQUFtQyxZTmdIbkIsRUFBTzs7QU0vR3ZCO0VBQTBDLFlOaUhuQixFQUFPOztBTWhIOUI7RUFBK0MsWU55Tm5CLEVBQU87O0FNeE5uQztFQUF3QyxZTnVObkIsRUFBTzs7QU10TjVCO0VBQXNDLFlOL05uQixFQUFPOztBTWdPMUI7RUFBaUMsWU41Tm5CLEVBQU87O0FNNk5yQjtFQUEwQyxZTjJFbkIsRUFBTzs7QU0xRTlCO0VBQTJDLFlOeUVuQixFQUFPOztBTXhFL0I7RUFBbUMsWU52Tm5CLEVBQU87O0FNd052QjtFQUFtQyxZTnpDbkIsRUFBTzs7QU0wQ3ZCO0VBQXFDLFlOcENuQixFQUFPOztBTXFDekI7RUFBZ0MsWU50TG5CLEVBQU87O0FNdUxwQjtFQUFxQyxZTjdVbkIsRUFBTzs7QU04VXpCO0VBQWtDLFlOMVJuQixFQUFPOztBTTJSdEI7RUFBZ0MsWU5zRG5CLEVBQU87O0FNckRwQjtFQUFrQyxZTm1MbkIsRUFBTzs7QU1sTHRCO0VBQWlDLFlOclBuQixFQUFPOztBTXNQckI7RUFBa0MsWU5yUG5CLEVBQU87O0FNc1B0QjtFQUFvQyxZTjdXbkIsRUFBTzs7QU04V3hCO0VBQTJDLFlON1duQixFQUFPOztBTThXL0I7RUFBa0MsWU4wTG5CLEVBQU87O0FNekx0QjtFQUF5QyxZTjBMbkIsRUFBTzs7QU16TDdCO0VBQW9DLFlOeUZuQixFQUFPOztBTXhGeEI7RUFDZ0MsWU56VW5CLEVBQU87O0FNMFVwQjtFQUNpQyxZTitNbkIsRUFBTzs7QU05TXJCO0VBQWlDLFlONFBuQixFQUFPOztBTTNQckI7RUFBb0MsWU51S25CLEVBQU87O0FNdEt4QjtFQUF1QyxZTnRQbkIsRUFBTzs7QU11UDNCO0VBQXVDLFlOaUtuQixFQUFPOztBTWhLM0I7RUFBcUMsWU45UG5CLEVBQU87O0FNK1B6QjtFQUF1QyxZTi9MbkIsRUFBTzs7QU1nTTNCO0VBQXdDLFlOeExuQixFQUFPOztBTXlMNUI7RUFBeUMsWU5yTW5CLEVBQU87O0FNc003QjtFQUE4QyxZTi9MbkIsRUFBTzs7QU1nTWxDO0VBRXlDLFlOeE1uQixFQUFPOztBTXlNN0I7RUFDMkMsWU45TW5CLEVBQU87O0FNK00vQjtFQUN5QyxZTi9NbkIsRUFBTzs7QU1nTjdCO0VBQ3lDLFlOcE1uQixFQUFPOztBTXFNN0I7RUFBd0MsWU5qTm5CLEVBQU87O0FNa041QjtFQUFpQyxZTnVSbkIsRUFBTzs7QU10UnJCO0VBQW9DLFlONVNuQixFQUFPOztBTTZTeEI7RUFBcUMsWU45RW5CLEVBQU87O0FNK0V6QjtFQUlzQyxZTm5FbkIsRUFBTzs7QU1vRTFCO0VBQTJDLFlOL1RuQixFQUFPOztBTWdVL0I7RUFFa0MsWU5xRG5CLEVBQU87O0FNcER0QjtFQUNtQyxZTm5RbkIsRUFBTzs7QU1vUXZCO0VBQXVDLFlOektuQixFQUFPOztBTTBLM0I7RUFBZ0MsWU4zS25CLEVBQU87O0FNNEtwQjtFQUV3QyxZTnhKbkIsRUFBTzs7QU15SjVCO0VBQTBDLFlOMktuQixFQUFPOztBTTFLOUI7RUFBK0IsWU5pQ25CLEVBQU87O0FNaENuQjtFQUNtQyxZTjBRbkIsRUFBTzs7QU16UXZCO0VBQ3dDLFlOVm5CLEVBQU87O0FNVzVCO0VBQzBDLFlOWG5CLEVBQU87O0FNWTlCO0VBQW9DLFlOMUluQixFQUFPOztBTTJJeEI7RUFBd0MsWU5sVm5CLEVBQU87O0FNbVY1QjtFQUFtQyxZTmpKbkIsRUFBTzs7QU1rSnZCO0VBQXNDLFlOYm5CLEVBQU87O0FNYzFCO0VBQW9DLFlOK0ZuQixFQUFPOztBTTlGeEI7RUFBc0MsWU51RW5CLEVBQU87O0FNdEUxQjtFQUE2QyxZTnVFbkIsRUFBTzs7QU10RWpDO0VBQWlDLFlOelpuQixFQUFPOztBTTBackI7RUFDcUMsWU41TW5CLEVBQU87O0FNNk16QjtFQUFnQyxZTjBNbkIsRUFBTzs7QU16TXBCO0VBQXVDLFlOeGFuQixFQUFPOztBTXlhM0I7RUFBaUMsWU5JbkIsRUFBTzs7QU1IckI7RUFBdUMsWU51Rm5CLEVBQU87O0FNdEYzQjtFQUFtQyxZTjJNbkIsRUFBTzs7QU0xTXZCO0VBQWlDLFlOK1FuQixFQUFPOztBTTlRckI7RUFBd0MsWU56Q25CLEVBQU87O0FNMEM1QjtFQUFpQyxZTndQbkIsRUFBTzs7QU12UHJCO0VBQXVDLFlOclpuQixFQUFPOztBTXNaM0I7RUFBbUMsWU52Qm5CLEVBQU87O0FNd0J2QjtFQUEwQyxZTjNMbkIsRUFBTzs7QU00TDlCO0VBQW9DLFlONVhuQixFQUFPOztBTTZYeEI7RUFBMEMsWU5oWW5CLEVBQU87O0FNaVk5QjtFQUF3QyxZTm5ZbkIsRUFBTzs7QU1vWTVCO0VBQW9DLFlOdFluQixFQUFPOztBTXVZeEI7RUFBc0MsWU5sWW5CLEVBQU87O0FNbVkxQjtFQUFzQyxZTmxZbkIsRUFBTzs7QU1tWTFCO0VBQXVDLFlOM2JuQixFQUFPOztBTTRiM0I7RUFBeUMsWU4zYm5CLEVBQU87O0FNNGI3QjtFQUFrQyxZTitLbkIsRUFBTzs7QU05S3RCO0VBQXNDLFlOblZuQixFQUFPOztBTW9WMUI7RUFBK0IsWU45ZG5CLEVBQU87O0FNK2RuQjtFQUF1QyxZTjVSbkIsRUFBTzs7QU02UjNCO0VBQXdDLFlOL0NuQixFQUFPOztBTWdENUI7RUFBMEMsWU45Ym5CLEVBQU87O0FNK2I5QjtFQUF1QyxZTnRmbkIsRUFBTzs7QU11ZjNCO0VBQXNDLFlOL0JuQixFQUFPOztBTWdDMUI7RUFBdUMsWU56SG5CLEVBQU87O0FNMEgzQjtFQUFtQyxZTnZJbkIsRUFBTzs7QU13SXZCO0VBQTBDLFlOdkluQixFQUFPOztBTXdJOUI7RUFBdUMsWU40Sm5CLEVBQU87O0FNM0ozQjtFQUFzQyxZTjRKbkIsRUFBTzs7QU0zSjFCO0VBQW9DLFlOeGNuQixFQUFPOztBTXljeEI7RUFBZ0MsWU5qYm5CLEVBQU87O0FNa2JwQjtFQUFvQyxZTnZKbkIsRUFBTzs7QU13SnhCO0VBQXNDLFlOM2dCbkIsRUFBTzs7QU00Z0IxQjtFQUErQixZTjdabkIsRUFBTzs7QU04Wm5CO0VBRWdDLFlOektuQixFQUFPOztBTTBLcEI7RUFBcUMsWU5wR25CLEVBQU87O0FNcUd6QjtFQUF1QyxZTnhibkIsRUFBTzs7QU15YjNCO0VBQTJDLFlONVduQixFQUFPOztBTTZXL0I7RUFBcUMsWU45Vm5CLEVBQU87O0FNK1Z6QjtFQUFxQyxZTjlQbkIsRUFBTzs7QU0rUHpCO0VBQW9DLFlOckpuQixFQUFPOztBTXNKeEI7RUFBbUMsWU5lbkIsRUFBTzs7QU1kdkI7RUFBeUMsWU4yQm5CLEVBQU87O0FNMUI3QjtFQUF3QyxZTm9DbkIsRUFBTzs7QU1uQzVCO0VBQXFDLFlOcUNuQixFQUFPOztBTXBDekI7RUFBc0MsWU41YW5CLEVBQU87O0FNNmExQjtFQUE0QyxZTjlhbkIsRUFBTzs7QU0rYWhDO0VBQW9DLFlOL1ZuQixFQUFPOztBTWdXeEI7RUFBaUMsWU5vQm5CLEVBQU87O0FNbkJyQjtFQUF3QyxZTjhLbkIsRUFBTzs7QU03SzVCO0VBQXVDLFlOL0ZuQixFQUFPOztBTWdHM0I7RUFBd0MsWU42RW5CLEVBQU87O0FNNUU1QjtFQUFzQyxZTjlNbkIsRUFBTzs7QU0rTTFCO0VBQWtDLFlOK0tuQixFQUFPOztBTTlLdEI7RUFBaUMsWU43SG5CLEVBQU87O0FNOEhyQjtFQUFvQyxZTm5IbkIsRUFBTzs7QU1vSHhCO0VBQ3dDLFlOa0luQixFQUFPOztBTWpJNUI7RUFBNEMsWU5rSW5CLEVBQU87O0FNakloQztFQUF5QyxZTjBLbkIsRUFBTzs7QU16SzdCO0VBQXdDLFlObEluQixFQUFPOztBTW1JNUI7RUFBdUMsWU55S25CLEVBQU87O0FNeEszQjtFQUF3QyxZTm5JbkIsRUFBTzs7QU1vSTVCO0VBQTBDLFlObEluQixFQUFPOztBTW1JOUI7RUFBMEMsWU5wSW5CLEVBQU87O0FNcUk5QjtFQUFtQyxZTjFHbkIsRUFBTzs7QU0yR3ZCO0VBQXVDLFlON1FuQixFQUFPOztBTThRM0I7RUFBOEMsWU4xVW5CLEVBQU87O0FNMlVsQztFQUF3QyxZTnpFbkIsRUFBTzs7QU0wRTVCO0VBQXFDLFlOa0xuQixFQUFPOztBTWpMekI7RUFBbUMsWU5YbkIsRUFBTzs7QU1ZdkI7RUFBc0MsWU51Sm5CLEVBQU87O0FNdEoxQjtFQUF1QyxZTndKbkIsRUFBTzs7QU12SjNCO0VBQ2dDLFlOL2ZuQixFQUFPOztBTWdnQnBCO0VBQW9DLFlONEpuQixFQUFPOztBTTNKeEI7RUFBa0MsWU44R25CLEVBQU87O0FNN0d0QjtFQUFtQyxZTndEbkIsRUFBTzs7QU12RHZCO0VBQW1DLFlOOUluQixFQUFPOztBTStJdkI7RUFDeUMsWU4wTG5CLEVBQU87O0FNekw3QjtFQUEwQyxZTmpIbkIsRUFBTzs7QU1rSDlCO0VBQXFDLFlOckhuQixFQUFPOztBTXNIekI7RUFBeUMsWU5uV25CLEVBQU87O0FNb1c3QjtFQUV5QyxZTi9nQm5CLEVBQU87O0FNZ2hCN0I7RUFDbUQsWU45Z0JuQixFQUFPOztBTStnQnZDO0VBQ3lDLFlObGhCbkIsRUFBTzs7QU1taEI3QjtFQUM0QyxZTm5oQm5CLEVBQU87O0FNb2hCaEM7RUFDMEMsWU54aEJuQixFQUFPOztBTXloQjlCO0VBQTBDLFlOM0luQixFQUFPOztBTTRJOUI7RUFBcUMsWU4zT25CLEVBQU87O0FNNE96QjtFQUF5QyxZTnhJbkIsRUFBTzs7QU15STdCO0VBQTJDLFlOeEluQixFQUFPOztBTXlJL0I7RUFBd0MsWU53Qm5CLEVBQU87O0FNdkI1QjtFQUEwQyxZTndCbkIsRUFBTzs7QU12QjlCO0VBQW1DLFlOL2RuQixFQUFPOztBTWdldkI7RUFBMkMsWU5sZW5CLEVBQU87O0FNbWUvQjtFQUFrQyxZTnBjbkIsRUFBTzs7QU1xY3RCO0VBQTBDLFlObGpCbkIsRUFBTzs7QU1takI5QjtFQUF3QyxZTnhQbkIsRUFBTzs7QU15UDVCO0VBQzRDLFlOelBuQixFQUFPOztBTTBQaEM7RUFDMkMsWU43UG5CLEVBQU87O0FNOFAvQjtFQUMwQyxZTmhRbkIsRUFBTzs7QU1pUTlCO0VBQXNDLFlOclFuQixFQUFPOztBTXNRMUI7RUFDd0MsWU54Um5CLEVBQU87O0FNeVI1QjtFQUN5QyxZTjdSbkIsRUFBTzs7QU04UjdCO0VBQTRDLFlOMVJuQixFQUFPOztBTTJSaEM7RUFBMEMsWU5wU25CLEVBQU87O0FNcVM5QjtFQUF5QyxZTjNSbkIsRUFBTzs7QU00UjdCO0VBQTJDLFlOL1JuQixFQUFPOztBTWdTL0I7RUFBeUMsWU5qU25CLEVBQU87O0FNa1M3QjtFQUFzQyxZTitEbkIsRUFBTzs7QU05RDFCO0VBQXVDLFlOL0ZuQixFQUFPOztBTWdHM0I7RUFBNkMsWU4vYm5CLEVBQU87O0FNZ2NqQztFQUErQixZTnRVbkIsRUFBTzs7QU11VW5CO0VBQXNDLFlOdFVuQixFQUFPOztBTXVVMUI7RUFBd0MsWU5rRW5CLEVBQU87O0FNakU1QjtFQUEwQyxZTnJLbkIsRUFBTzs7QU1zSzlCO0VBQWlELFlOcktuQixFQUFPOztBTXNLckM7RUFBdUMsWU41VW5CLEVBQU87O0FNNlUzQjtFQUF3QyxZTndIbkIsRUFBTzs7QU12SDVCO0VBQW1DLFlObkZuQixFQUFPOztBTW9GdkI7RUFBbUMsWU56ZW5CLEVBQU87O0FNMGV2QjtFQUFvQyxZTjlXbkIsRUFBTzs7QU0rV3hCO0VBQWtDLFlOeEtuQixFQUFPOztBTXlLdEI7RUFBOEMsWU5wUW5CLEVBQU87O0FNcVFsQztFQUN1QyxZTlNuQixFQUFPOztBTVIzQjtFQUFtQyxZTmpkbkIsRUFBTzs7QU1rZHZCO0VBQWtDLFlOem9CbkIsRUFBTzs7QU0wb0J0QjtFQUFtQyxZTi9uQm5CLEVBQU87O0FNZ29CdkI7RUFBNEMsWU4zaEJuQixFQUFPOztBTTRoQmhDO0VBQTZDLFlOOWhCbkIsRUFBTzs7QU0raEJqQztFQUE2QyxZTjVoQm5CLEVBQU87O0FNNmhCakM7RUFBNkMsWU5qaUJuQixFQUFPOztBTWtpQmpDO0VBQXFDLFlOcFJuQixFQUFPOztBTXFSekI7RUFBb0MsWU41Tm5CLEVBQU87O0FNNk54QjtFQUFzQyxZTjVObkIsRUFBTzs7QU02TjFCO0VBQWtDLFlOL05uQixFQUFPOztBTWdPdEI7RUFBZ0MsWU5sT25CLEVBQU87O0FNbU9wQjtFQUF1QyxZTnBlbkIsRUFBTzs7QU1xZTNCO0VBQXlDLFlOcGVuQixFQUFPOztBTXFlN0I7RUFBa0MsWU50U25CLEVBQU87O0FNdVN0QjtFQUFrQyxZTmlGbkIsRUFBTzs7QU1oRnRCO0VBQXNDLFlObGtCbkIsRUFBTzs7QU1ta0IxQjtFQUFzQyxZTnJYbkIsRUFBTzs7QU1zWDFCO0VBQXlDLFlOcEluQixFQUFPOztBTXFJN0I7RUFBaUMsWU5wY25CLEVBQU87O0FNcWNyQjtFQUE0QyxZTmhlbkIsRUFBTzs7QU1pZWhDO0VBQXFDLFlOcGZuQixFQUFPOztBTXFmekI7RUFBaUMsWU5sTm5CLEVBQU87O0FNbU5yQjtFQUF5QyxZTjFYbkIsRUFBTzs7QU0yWDdCO0VBQWdDLFlOb0RuQixFQUFPOztBTW5EcEI7RUFBeUMsWU4zSm5CLEVBQU87O0FNNEo3QjtFQUFxQyxZTnpObkIsRUFBTzs7QU0wTnpCO0VBQW1DLFlObEhuQixFQUFPOztBTW1IdkI7RUFBeUMsWU43TG5CLEVBQU87O0FNOEw3QjtFQUEyQyxZTjdMbkIsRUFBTzs7QU04TC9CO0VBQXdDLFlOM0NuQixFQUFPOztBTTRDNUI7RUFBMEMsWU4zQ25CLEVBQU87O0FNNEM5QjtFQUF5QyxZTnJHbkIsRUFBTzs7QU1zRzdCO0VBQTRDLFlOckduQixFQUFPOztBTXNHaEM7RUFBb0MsWU43VW5CLEVBQU87O0FNOFV4QjtFQUFzQyxZTm5sQm5CLEVBQU87O0FNb2xCMUI7RUFBd0MsWU5ubEJuQixFQUFPOztBTW9sQjVCO0VBQW9DLFlOL0xuQixFQUFPOztBTWdNeEI7RUFBbUMsWU5sWG5CLEVBQU87O0FNbVh2QjtFQUF1QyxZTmtGbkIsRUFBTzs7QU1qRjNCO0VBQW9DLFlObUZuQixFQUFPOztBTWxGeEI7RUFBbUMsWU45Y25CLEVBQU87O0FNK2N2QjtFQUE2QyxZTjJCbkIsRUFBTzs7QU0xQmpDO0VBQTJDLFlObUVuQixFQUFPOztBTWxFL0I7RUFBOEMsWU54S25CLEVBQU87O0FNeUtsQztFQUFrQyxZTjlsQm5CLEVBQU87O0FNK2xCdEI7RUFBOEMsWU50b0JuQixFQUFPOztBTXVvQmxDO0VBQWlELFlOcURuQixFQUFPOztBTXBEckM7RUFBb0MsWU54bEJuQixFQUFPOztBTXlsQnhCO0VBQXdELFlONW9CbkIsRUFBTzs7QU02b0I1QztFQUNnRSxZTjlxQm5CLEVBQU87O0FNK3FCcEQ7RUFFaUMsWU52Zm5CLEVBQU87O0FNd2ZyQjtFQUFrQyxZTmhZbkIsRUFBTzs7QU1pWXRCO0VBQW9DLFlOaFluQixFQUFPOztBTWlZeEI7RUFDMEMsWU4xSG5CLEVBQU87O0FNMkg5QjtFQUF1QyxZTnpSbkIsRUFBTzs7QU0wUjNCO0VBQW1DLFlOaUNuQixFQUFPOztBTWhDdkI7RUFBMEMsWU5pQ25CLEVBQU87O0FNaEM5QjtFQUFxQyxZTmxIbkIsRUFBTzs7QU1tSHpCO0VBQTJDLFlObEhuQixFQUFPOztBTW1IL0I7RUFBNEMsWU5sSG5CLEVBQU87O0FNbUhoQztFQUF1QyxZTnJObkIsRUFBTzs7QU1zTjNCO0VBQXdDLFlOcGJuQixFQUFPOztBTXFiNUI7RUFBa0MsWU5tRW5CLEVBQU87O0FNbEV0QjtFQUFzQyxZTnBEbkIsRUFBTzs7QU1xRDFCO0VBQ2lELFlOelluQixFQUFPOztBTTBZckM7RUFDeUMsWU43YW5CLEVBQU87O0FNOGE3QjtFQUF3QyxZTnRYbkIsRUFBTzs7QU11WDVCO0VBQTBDLFlObGZuQixFQUFPOztBTW1mOUI7RUFBNEMsWU5sZm5CLEVBQU87O0FNbWZoQztFQUFtQyxZTnRUbkIsRUFBTzs7QU11VHZCO0VBQXlDLFlOcHRCbkIsRUFBTzs7QU1xdEI3QjtFQUEyQyxZTnB0Qm5CLEVBQU87O0FNcXRCL0I7RUFDeUMsWU5ydEJuQixFQUFPOztBTXN0QjdCO0VBQzJDLFlOdHRCbkIsRUFBTzs7QU11dEIvQjtFQUF3QyxZTkpuQixFQUFPOztBTUs1QjtFQUEwQyxZTkpuQixFQUFPOztBTUs5QjtFQUFtQyxZTkhuQixFQUFPOztBTUl2QjtFQUFxQyxZTjNXbkIsRUFBTzs7QU00V3pCO0VBQ29DLFlONVduQixFQUFPOztBTTZXeEI7RUFDc0MsWU43V25CLEVBQU87O0FNOFcxQjtFQUFrQyxZTnRObkIsRUFBTzs7QU11TnRCO0VBQTJDLFlOM2JuQixFQUFPOztBTTRiL0I7RUFBcUMsWU50Rm5CLEVBQU87O0FNdUZ6QjtFQUU2QyxZTnhFbkIsRUFBTzs7QU15RWpDO0VBQ3VELFlOdkVuQixFQUFPOztBTXdFM0M7RUFDNkMsWU4zRW5CLEVBQU87O0FNNEVqQztFQUNnRCxZTjVFbkIsRUFBTzs7QU02RXBDO0VBQzhDLFlOakZuQixFQUFPOztBTWtGbEM7RUFBbUMsWU4zS25CLEVBQU87O0FNNEt2QjtFQUVpQyxZTnpyQm5CLEVBQU87O0FNMHJCckI7RUFBb0MsWU5sUG5CLEVBQU87O0FNbVB4QjtFQUE0QyxZTktuQixFQUFPOztBTUpoQztFQUE0QyxZTktuQixFQUFPOztBTUpoQztFQUEyQyxZTktuQixFQUFPOztBTUovQjtFQUN5QyxZTkRuQixFQUFPOztBTUU3QjtFQUMyQyxZTkZuQixFQUFPOztBTUcvQjtFQUFxQyxZTnhzQm5CLEVBQU87O0FNeXNCekI7RUFBaUMsWU5wYm5CLEVBQU87O0FNcWJyQjtFQUFpQyxZTjFoQm5CLEVBQU87O0FNMmhCckI7RUFBaUMsWU54WW5CLEVBQU87O0FNeVlyQjtFQUFvQyxZTi9PbkIsRUFBTzs7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LGtCQUFrQjtFQUNsQixlQUhtRCxFQUFBOztBUmlGN0M7RVEvRU4sa0JBQWtCO0VBQ2xCLGdCQUhtRCxFQUFBOztBUjJGL0M7RVEzRE4scUJGK0UyRCxFQUFBOztBTjNDdkQ7RUt4RkosVUNtSTJELEVBQUE7O0FOcENuRDtFUXpFTixrQkFBa0I7RUFDbEIsU0FIbUQsRUFBQTs7QVJpRjdDO0VRL0VOLGtCQUFrQjtFQUNsQixVQUhtRCxFQUFBOztBUjJGL0M7RVEzRE4sc0JGK0UyRCxFQUFBOztBTjNDdkQ7RUt4RkosZ0JDbUkyRCxFQUFBOztBTnBDbkQ7RVF6RU4sa0JBQWtCO0VBQ2xCLGVBSG1ELEVBQUE7O0FSaUY3QztFUS9FTixrQkFBa0I7RUFDbEIsZ0JBSG1ELEVBQUE7O0FSMkYvQztFUTNETixnQkYrRTJELEVBQUE7O0FOM0N2RDtFS3hGSixnQkNtSTJELEVBQUE7O0FOcENuRDtFUXpFTixrQkFBa0I7RUFDbEIsZUFIbUQsRUFBQTs7QVJpRjdDO0VRL0VOLGtCQUFrQjtFQUNsQixnQkFIbUQsRUFBQTs7QVIyRi9DO0VRM0ROLHNCRitFMkQsRUFBQTs7QU4zQ3ZEO0VLeEZKLFVDbUkyRCxFQUFBOztBTnBDbkQ7RVF6RU4sa0JBQWtCO0VBQ2xCLFNBSG1ELEVBQUE7O0FSaUY3QztFUS9FTixrQkFBa0I7RUFDbEIsVUFIbUQsRUFBQTs7QVIyRi9DO0VRM0ROLHNCRitFMkQsRUFBQTs7QU4zQ3ZEO0VLeEZKLGdCQ21JMkQsRUFBQTs7QU5wQ25EO0VRekVOLGtCQUFrQjtFQUNsQixlQUhtRCxFQUFBOztBUmlGN0M7RVEvRU4sa0JBQWtCO0VBQ2xCLGdCQUhtRCxFQUFBOztBUjJGL0M7RVEzRE4sZ0JGK0UyRCxFQUFBOztBTjNDdkQ7RUt4RkosZ0JDbUkyRCxFQUFBOztBTnBDbkQ7RVF6RU4sa0JBQWtCO0VBQ2xCLGVBSG1ELEVBQUE7O0FSaUY3QztFUS9FTixrQkFBa0I7RUFDbEIsZ0JBSG1ELEVBQUE7O0FSMkYvQztFUTNETixzQkYrRTJELEVBQUE7O0FOM0N2RDtFS3hGSixVQ21JMkQsRUFBQTs7QU5wQ25EO0VRekVOLGtCQUFrQjtFQUNsQixTQUhtRCxFQUFBOztBUmlGN0M7RVEvRU4sa0JBQWtCO0VBQ2xCLFVBSG1ELEVBQUE7O0FSMkYvQztFUTNETixzQkYrRTJELEVBQUE7O0FOM0N2RDtFS3hGSixnQkNtSTJELEVBQUE7O0FOcENuRDtFUXpFTixrQkFBa0I7RUFDbEIsZUFIbUQsRUFBQTs7QVJpRjdDO0VRL0VOLGtCQUFrQjtFQUNsQixnQkFIbUQsRUFBQTs7QVIyRi9DO0VRM0ROLGdCRitFMkQsRUFBQTs7QU4zQ3ZEO0VLeEZKLGdCQ21JMkQsRUFBQTs7QU5wQ25EO0VRekVOLGtCQUFrQjtFQUNsQixlQUhtRCxFQUFBOztBUmlGN0M7RVEvRU4sa0JBQWtCO0VBQ2xCLGdCQUhtRCxFQUFBOztBUjJGL0M7RVEzRE4sc0JGK0UyRCxFQUFBOztBTjNDdkQ7RUt4RkosV0NtSTJELEVBQUE7O0FOcEJyRDtFUTNETixzQkYrRTJELEVBQUE7O0FOWnZEO0VTL0dGLFdYb0d1RDtFV25HdkQsV0FBdUIsRUFBQTs7QVQ4R3JCO0VTdkZBLFdBQVcsRUFBQTs7QVR1Rlg7RVNuRkEsV0FBVyxFQUFBOztBVG1GWDtFUy9FQSxXWG9FcUQsRUFBQTs7QUVXckQ7RVMvR0YsV1hvR3VEO0VXbkd2RCxVQUF1QixFQUFBOztBVDhHckI7RVN2RkEsV0FBVyxFQUFBOztBVHVGWDtFU25GQSxXQUFXLEVBQUE7O0FUbUZYO0VTL0VBLFdYb0VxRCxFQUFBOztBRVdyRDtFUy9HRixXWG9HdUQ7RVduR3ZELGdCQUF1QixFQUFBOztBVDhHckI7RVN2RkEsV0FBVyxFQUFBOztBVHVGWDtFU25GQSxXQUFXLEVBQUE7O0FUbUZYO0VTL0VBLFdYb0VxRCxFQUFBOztBRVdyRDtFUy9HRixXWG9HdUQ7RVduR3ZELFVBQXVCLEVBQUE7O0FUOEdyQjtFU3ZGQSxXQUFXLEVBQUE7O0FUdUZYO0VTbkZBLFdBQVcsRUFBQTs7QVRtRlg7RVMvRUEsV1hvRXFELEVBQUE7O0FFV3JEO0VTL0dGLFdYb0d1RDtFV25HdkQsVUFBdUIsRUFBQTs7QVQ4R3JCO0VTdkZBLFdBQVcsRUFBQTs7QVR1Rlg7RVNuRkEsV0FBVyxFQUFBOztBVG1GWDtFUy9FQSxXWG9FcUQsRUFBQTs7QUVXckQ7RVMvR0YsV1hvR3VEO0VXbkd2RCxnQkFBdUIsRUFBQTs7QVQ4R3JCO0VTdkZBLFdBQVcsRUFBQTs7QVR1Rlg7RVNuRkEsV0FBVyxFQUFBOztBVG1GWDtFUy9FQSxXWG9FcUQsRUFBQTs7QUVXckQ7RVMvR0YsV1hvR3VEO0VXbkd2RCxnQkFBdUIsRUFBQTs7QVQ4R3JCO0VTdkZBLFdBQVcsRUFBQTs7QVR1Rlg7RVNuRkEsV0FBVyxFQUFBOztBVG1GWDtFUy9FQSxXWG9FcUQsRUFBQTs7QUVXckQ7RVMvR0YsV1hvR3VEO0VXbkd2RCxZQUF1QixFQUFBOztBVDhHckI7RVN2RkEsV0FBVyxFQUFBOztBVHVGWDtFU25GQSxXQUFXLEVBQUE7O0FUbUZYO0VTL0VBLFdYb0VxRCxFQUFBOztBRWlCdkQ7RUdySEEsZ0JEdUVTO0VDdEVULGVEc0VTLEVBQUE7O0FGOENUO0VBSUksZUFBZTtFQUNmLGNBQWMsRUFBQTs7QUFJbEI7RUFDRSxlQUFlO0VBQ2YsY0FBYyxFQUFBOztBQUdoQjtFR25JQSx1QkFGcUM7RUFHckMsc0JBSHFDLEVBQUE7O0FIMkluQztFUWpIRixrQkFBa0I7RUFDbEIsaUJBQWlCLEVBQUE7O0FBTGpCO0VBQ0UsV0FBVztFQUNYLFdBQVcsRUFBQTs7QVIrSFg7RVFqSEosZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixjQUFjLEVBQUE7O0FBekNaO0VBQ0UsV1ZzR3FEO0VVckdyRCxXQUFXLEVBQUE7O0FBS1g7RUFDRSxZVmdHb0QsRUFBQTs7QU1xRHBEO0VKMUVGO0lLeEZKLGVDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsY0FIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLGVGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixnQkNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLHFCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosVUNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sc0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixnQkNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLGdCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosZ0JDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSMkYvQztJUTNETixzQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLFVDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLHNCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosZ0JDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSMkYvQztJUTNETixnQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLGdCQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sc0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixVQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VSMkYvQztJUTNETixzQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLGdCQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sZ0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixnQkNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLHNCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosV0NtSTJELEVBQUE7RU5wQnJEO0lRM0ROLHNCRitFMkQsRUFBQTtFTlp2RDtJUy9HRixXWG9HdUQ7SVduR3ZELFdBQXVCLEVBQUE7RVQ4R3JCO0lTdkZBLFdBQVcsRUFBQTtFVHVGWDtJU25GQSxXQUFXLEVBQUE7RVRtRlg7SVMvRUEsV1hvRXFELEVBQUE7RUVXckQ7SVMvR0YsV1hvR3VEO0lXbkd2RCxVQUF1QixFQUFBO0VUOEdyQjtJU3ZGQSxXQUFXLEVBQUE7RVR1Rlg7SVNuRkEsV0FBVyxFQUFBO0VUbUZYO0lTL0VBLFdYb0VxRCxFQUFBO0VFV3JEO0lTL0dGLFdYb0d1RDtJV25HdkQsZ0JBQXVCLEVBQUE7RVQ4R3JCO0lTdkZBLFdBQVcsRUFBQTtFVHVGWDtJU25GQSxXQUFXLEVBQUE7RVRtRlg7SVMvRUEsV1hvRXFELEVBQUE7RUVXckQ7SVMvR0YsV1hvR3VEO0lXbkd2RCxVQUF1QixFQUFBO0VUOEdyQjtJU3ZGQSxXQUFXLEVBQUE7RVR1Rlg7SVNuRkEsV0FBVyxFQUFBO0VUbUZYO0lTL0VBLFdYb0VxRCxFQUFBO0VFV3JEO0lTL0dGLFdYb0d1RDtJV25HdkQsVUFBdUIsRUFBQTtFVDhHckI7SVN2RkEsV0FBVyxFQUFBO0VUdUZYO0lTbkZBLFdBQVcsRUFBQTtFVG1GWDtJUy9FQSxXWG9FcUQsRUFBQTtFRVdyRDtJUy9HRixXWG9HdUQ7SVduR3ZELGdCQUF1QixFQUFBO0VUOEdyQjtJU3ZGQSxXQUFXLEVBQUE7RVR1Rlg7SVNuRkEsV0FBVyxFQUFBO0VUbUZYO0lTL0VBLFdYb0VxRCxFQUFBO0VFV3JEO0lTL0dGLFdYb0d1RDtJV25HdkQsZ0JBQXVCLEVBQUE7RVQ4R3JCO0lTdkZBLFdBQVcsRUFBQTtFVHVGWDtJU25GQSxXQUFXLEVBQUE7RVRtRlg7SVMvRUEsV1hvRXFELEVBQUE7RUVXckQ7SVMvR0YsV1hvR3VEO0lXbkd2RCxZQUF1QixFQUFBO0VUOEdyQjtJU3ZGQSxXQUFXLEVBQUE7RVR1Rlg7SVNuRkEsV0FBVyxFQUFBO0VUbUZYO0lTL0VBLFdYb0VxRCxFQUFBO0VFaUJ2RDtJR3JIQSxnQkR1RVM7SUN0RVQsZURzRVMsRUFBQTtFRjhDVDtJQUlJLGVBQWU7SUFDZixjQUFjLEVBQUE7RUFJbEI7SUFDRSxlQUFlO0lBQ2YsY0FBYyxFQUFBO0VBR2hCO0lHbklBLHdCQUZxQztJQUdyQyx1QkFIcUMsRUFBQTtFSDJJbkM7SVFqSEYsa0JBQWtCO0lBQ2xCLGlCQUFpQixFQUFBO0VBTGpCO0lBQ0UsV0FBVztJQUNYLFdBQVcsRUFBQTtFUitIWDtJUWpISixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGNBQWMsRUFBQTtFQXpDWjtJQUNFLFdWc0dxRDtJVXJHckQsV0FBVyxFQUFBO0VBS1g7SUFDRSxZVmdHb0QsRUFBQSxFVS9GckQ7O0FKb0pDO0VKMUVGO0lLeEZKLGVDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsY0FIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLGVGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixnQkNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLHFCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosVUNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sc0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixnQkNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLGdCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosZ0JDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSMkYvQztJUTNETixzQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLFVDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLHNCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosZ0JDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSMkYvQztJUTNETixnQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLGdCQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sc0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixVQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VSMkYvQztJUTNETixzQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLGdCQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sZ0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixnQkNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLHNCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosV0NtSTJELEVBQUE7RU5wQnJEO0lRM0ROLHNCRitFMkQsRUFBQTtFTlp2RDtJUy9HRixXWG9HdUQ7SVduR3ZELFdBQXVCLEVBQUE7RVQ4R3JCO0lTdkZBLFdBQVcsRUFBQTtFVHVGWDtJU25GQSxXQUFXLEVBQUE7RVRtRlg7SVMvRUEsV1hvRXFELEVBQUE7RUVXckQ7SVMvR0YsV1hvR3VEO0lXbkd2RCxVQUF1QixFQUFBO0VUOEdyQjtJU3ZGQSxXQUFXLEVBQUE7RVR1Rlg7SVNuRkEsV0FBVyxFQUFBO0VUbUZYO0lTL0VBLFdYb0VxRCxFQUFBO0VFV3JEO0lTL0dGLFdYb0d1RDtJV25HdkQsZ0JBQXVCLEVBQUE7RVQ4R3JCO0lTdkZBLFdBQVcsRUFBQTtFVHVGWDtJU25GQSxXQUFXLEVBQUE7RVRtRlg7SVMvRUEsV1hvRXFELEVBQUE7RUVXckQ7SVMvR0YsV1hvR3VEO0lXbkd2RCxVQUF1QixFQUFBO0VUOEdyQjtJU3ZGQSxXQUFXLEVBQUE7RVR1Rlg7SVNuRkEsV0FBVyxFQUFBO0VUbUZYO0lTL0VBLFdYb0VxRCxFQUFBO0VFV3JEO0lTL0dGLFdYb0d1RDtJV25HdkQsVUFBdUIsRUFBQTtFVDhHckI7SVN2RkEsV0FBVyxFQUFBO0VUdUZYO0lTbkZBLFdBQVcsRUFBQTtFVG1GWDtJUy9FQSxXWG9FcUQsRUFBQTtFRVdyRDtJUy9HRixXWG9HdUQ7SVduR3ZELGdCQUF1QixFQUFBO0VUOEdyQjtJU3ZGQSxXQUFXLEVBQUE7RVR1Rlg7SVNuRkEsV0FBVyxFQUFBO0VUbUZYO0lTL0VBLFdY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RjtJR2tESixtQkFBTTtRQUFOLGlCQUFNO1lBQU4sYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZVBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLGdCUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsVVBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLGdCUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsZ0JQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixVUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsZ0JQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixnQlBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLFVQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixnQlBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLGdCUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsV1BuQnlELEVBQUEsRUluRHREOztBTmtGQztFTXpHRjtJR2tESixtQkFBTTtRQUFOLGlCQUFNO1lBQU4sYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZVBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLGdCUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsVVBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLGdCUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsZ0JQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixVUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsZ0JQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixnQlBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLFVQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixnQlBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLGdCUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsV1BuQnlELEVBQUEsRUluRHREOztBQUtMO0VBQ0UsV0FBVyxFQUFBOztBQUliO0VB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SUFBN0Qsc0JBQTZELEVBQUEsRURzSmhFOztBQVhIO0VDM0lNLHNCQUE2RDtFQUE3RCxxQkFBNkQsRUFBQTs7QVBnSjdEO0VNTE47SUMzSU0sdUJBQTZEO0lBQTdELHNCQUE2RCxFQUFBLEVEMkpoRTs7QUkzSkg7RURvSUUsV1BuQnlELEVBQUE7O0FRakgzRDtFRG9JRSxVUG5CeUQsRUFBQTs7QVFqSDNEO0VEb0lFLGdCUG5CeUQsRUFBQTs7QVFqSDNEO0VEb0lFLFVQbkJ5RCxFQUFBOztBUWpIM0Q7RURvSUUsVVBuQnlELEVBQUE7O0FRakgzRDtFRG9JRSxnQlBuQnlELEVBQUE7O0FRakgzRDtFRG9JRSxnQlBuQnlELEVBQUE7O0FRakgzRDtFRG9JRSxZUG5CeUQsRUFBQTs7QUYrQnJEO0VVaEpOO0lEb0lFLFdQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxVUG5CeUQsRUFBQTtFUWpIM0Q7SURvSUUsZ0JQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxVUG5CeUQsRUFBQTtFUWpIM0Q7SURvSUUsVVBuQnlELEVBQUE7RVFqSDNEO0lEb0lFLGdCUG5CeUQsRUFBQTtFUWpIM0Q7SURvSUUsZ0JQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxZUG5CeUQsRUFBQSxFUS9HMUQ7O0FWOElLO0VVaEpOO0lEb0lFLFdQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxVUG5CeUQsRUFBQTtFUWpIM0Q7SURvSUUsZ0JQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxVUG5CeUQsRUFBQTtFUWpIM0Q7SURvSUUsVVBuQnlELEVBQUE7RVFqSDNEO0lEb0lFLGdCUG5CeUQsRUFBQTtFUWpIM0Q7SURvSUUsZ0JQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxZUG5CeUQsRUFBQSxFUS9HMUQ7O0FBRkQ7RURvSUUsMEJBdEQ4RixFQUFBOztBQzlFaEc7RURvSUUseUJBdEQ4RixFQUFBOztBQzlFaEc7RURvSUUsK0JBdEQ4RixFQUFBOztBQzlFaEc7RURvSUUseUJBdEQ4RixFQUFBOztBQzlFaEc7RURvSUUseUJBdEQ4RixFQUFBOztBQzlFaEc7RURvSUUsK0JBdEQ4RixFQUFBOztBQzlFaEc7RURvSUUsK0JBdEQ4RixFQUFBOztBQzlFaEc7RURvSUUsMkJBdEQ4RixFQUFBOztBVGtFMUY7RVVoSk47SURvSUUsMkJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSwwQkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLGdDQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsMEJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSwwQkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLGdDQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsZ0NBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSw0QkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDJCQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsMEJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSxnQ0F0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDBCQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsMEJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSxnQ0F0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLGdDQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsNEJBdEQ4RixFQUFBLEVDNUUvRjs7QVY4SUs7RVVoSk47SURvSUUsMkJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSwwQkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLGdDQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsMEJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSwwQkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLGdDQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsZ0NBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSw0QkF0RDhGLEVBQUEsRUM1RS9GOztBSnFNRztFSzlNRSxlQUEwQjtFQUExQixjQUEwQixFQUFBOztBQUc1QjtFQUVJLGVBQTBCO0VBQTFCLGNBQTBCLEVBQUE7O0FBc0J4QjtFRmdIUixlUG5CeUQsRUFBQTs7QVM3RmpEO0VGZ0hSLGdCUG5CeUQsRUFBQTs7QVM3RmpEO0VGZ0hSLFVQbkJ5RCxFQUFBOztBUzdGakQ7RUZnSFIsZ0JQbkJ5RCxFQUFBOztBUzdGakQ7RUZnSFIsZ0JQbkJ5RCxFQUFBOztBUzdGakQ7RUZnSFIsVVBuQnlELEVBQUE7O0FTN0ZqRDtFRmdIUixnQlBuQnlELEVBQUE7O0FTN0ZqRDtFRmdIUixnQlBuQnlELEVBQUE7O0FTN0ZqRDtFRmdIUixVUG5CeUQsRUFBQTs7QVM3RmpEO0VGZ0hSLGdCUG5CeUQsRUFBQTs7QVM3RmpEO0VGZ0hSLGdCUG5CeUQsRUFBQTs7QVM3RmpEO0VGZ0hSLFdQbkJ5RCxFQUFBOztBRitCckQ7RVc1SEk7SUZnSFIsZVBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsVVBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixVUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLFVQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsV1BuQnlELEVBQUEsRVMzRmhEOztBWDBITDtFVzVISTtJRmdIUixlUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixVUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLFVQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsVVBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixXUG5CeUQsRUFBQSxFUzNGaEQ7O0FMdUxQO0VLN0tFLGVBQTBCO0VBQTFCLGNBQTBCLEVBQUE7O0FBRzVCO0VBRUksZ0JBQTRCO0VBQTVCLGVBQTRCLEVBQUE7O0FYMkc5QjtFTXVERjtJSzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QVhnSkM7RVdySUk7SUZ5SFIsZVBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsVVBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixVUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLFVQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsV1BuQnlELEVBQUEsRVNwR2hEOztBWG1JTDtFVzVISTtJRmdIUixlUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixVUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLFVQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsVVBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixXUG5CeUQsRUFBQSxFUzNGaEQ7O0FYMEhMO0VXNUhJO0lGZ0hSLGVQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLFVQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsVVBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixVUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLFdQbkJ5RCxFQUFBLEVTM0ZoRDs7QVgwSEw7RU02REY7SUs3S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQUc1QjtJQUVJLGdCQUE0QjtJQUE1QixlQUE0QixFQUFBLEVBRS9COztBWHlHQztFTXVERjtJSzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QVhnSkM7RVdySUk7SUZ5SFIsZVBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsVVBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixVUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLFVQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsV1BuQnlELEVBQUEsRVNwR2hEOztBWG1JTDtFV3JJSTtJRnlIUixlUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixVUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLFVQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsVVBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixXUG5CeUQsRUFBQSxFU3BHaEQ7O0FYbUlMO0VXNUhJO0lGZ0hSLGVQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLFVQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsVVBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixVUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLFdQbkJ5RCxFQUFBLEVTM0ZoRDs7QVgwSEw7RU02REY7SUs3S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQUc1QjtJQUVJLGdCQUE0QjtJQUE1QixlQUE0QixFQUFBLEVBRS9COztBZnNEQztFZ0J6RUosZUFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLCtCQUE2QixFQUFBOztBaEJ5RXpCO0VnQnpFSixxQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLHFDQUE2QixFQUFBOztBaEJ5RXpCO0VnQnpFSixzQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLHNDQUE2QixFQUFBOztBaEJ5RXpCO0VnQnpFSixnQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLGdDQUE2QixFQUFBOztBaEJ5RXpCO0VnQnpFSixzQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLHNDQUE2QixFQUFBOztBaEJ5RXpCO0VnQnpFSixzQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLHNDQUE2QixFQUFBOztBaEJ5RXpCO0VnQnpFSixnQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLGdDQUE2QixFQUFBOztBaEJ5RXpCO0VnQnpFSixzQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLHNDQUE2QixFQUFBOztBaEJ5RXpCO0VnQnpFSixzQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLHNDQUE2QixFQUFBOztBaEJ5RXpCO0VnQnpFSixnQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLGdDQUE2QixFQUFBOztBaEJ5RXpCO0VnQnpFSixzQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLHNDQUE2QixFQUFBOztBaEJ5RXpCO0VnQnpFSixzQkFBNkIsRUFBQTs7QU4yTTNCO0VNM01GLHNDQUE2QixFQUFBOztBWjRIekI7RUpuREE7SWdCekVKLGVBQTZCLEVBQUE7RU4yTTNCO0lNM01GLGdDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHFCQUE2QixFQUFBO0VOMk0zQjtJTTNNRixzQ0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsdUNBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosZ0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLGlDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRix1Q0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsdUNBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosZ0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLGlDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRix1Q0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsdUNBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosZ0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLGlDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRix1Q0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsdUNBQTZCLEVBQUEsRU42TTFCOztBTmpGQztFSm5EQTtJZ0J6RUosZUFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsZ0NBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUoscUJBQTZCLEVBQUE7RU4yTTNCO0lNM01GLHNDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRix1Q0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixnQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsaUNBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosc0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLHVDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRix1Q0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixnQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsaUNBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosc0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLHVDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRix1Q0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixnQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsaUNBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosc0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLHVDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRix1Q0FBNkIsRUFBQSxFTjZNMUI7O0FBekpTO0VFdEVkLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBSDZCO0VBRzdCLDZCQUg2QjtNQUc3Qiw0QkFINkI7VUFHN0Isd0JBSDZCLEVBQUE7O0FGaVA3QjtFRzFJQSxZQUFtQjtFQUNuQixnQkFBMkIsRUFBQTs7QUh5STNCO0VHN0dFLFlBbEZZLEVBQUE7O0FIK0xkO0VHN0dFLFlBbEZZLEVBQUE7O0FIK0xkO0VBMkJNLDZCQUFnQjtNQUFoQixnQkFBZ0IsRUFBQTs7QU41SGhCO0VNaUdOO0lBMkJNLDZCQUFnQjtRQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjs7QU43SEM7RU1pR047SUEyQk0sNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBQTVCTDtFR3hKQSxtQkFBTTtNQUFOLGtCQUFNO1VBQU4sY0FBTSxFQUFBOztBSHdKTjtFRzdHRSxnQlBuQnlELEVBQUE7O0FJZ0kzRDtFRzdHRSxpQlBuQnlELEVBQUE7O0FJZ0kzRDtFRzdHRSxXUG5CeUQsRUFBQTs7QUlnSTNEO0VHN0dFLGlCUG5CeUQsRUFBQTs7QUlnSTNEO0VHN0dFLGlCUG5CeUQsRUFBQTs7QUlnSTNEO0VHN0dFLFdQbkJ5RCxFQUFBOztBSWdJM0Q7RUc3R0UsaUJQbkJ5RCxFQUFBOztBSWdJM0Q7RUc3R0UsaUJQbkJ5RCxFQUFBOztBSWdJM0Q7RUc3R0UsV1BuQnlELEVBQUE7O0FJZ0kzRDtFRzdHRSxpQlBuQnlELEVBQUE7O0FJZ0kzRDtFRzdHRSxpQlBuQnlELEVBQUE7O0FJZ0kzRDtFRzdHRSxZUG5CeUQsRUFBQTs7QUYrQnJEO0VNaUdOO0lHeEpBLG1CQUFNO1FBQU4saUJBQU07WUFBTixhQUFNO0lBMkNKLFlBbEZZLEVBQUE7RUgrTGQ7SUd4SkEsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHdKTjtJRzdHRSxZQWxGWSxFQUFBO0VIK0xkO0lHN0dFLGdCUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsaUJQbkJ5RCxFQUFBO0VJZ0kzRDtJRzdHRSxXUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsaUJQbkJ5RCxFQUFBO0VJZ0kzRDtJRzdHRSxpQlBuQnlELEVBQUE7RUlnSTNEO0lHN0dFLFdQbkJ5RCxFQUFBO0VJZ0kzRDtJRzdHRSxpQlBuQnlELEVBQUE7RUlnSTNEO0lHN0dFLGlCUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsV1BuQnlELEVBQUE7RUlnSTNEO0lHN0dFLGlCUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsaUJQbkJ5RCxFQUFBO0VJZ0kzRDtJRzdHRSxZUG5CeUQsRUFBQSxFSXlMcEQ7O0FOMUpEO0VNaUdOO0lHeEpBLG1CQUFNO1FBQU4saUJBQU07WUFBTixhQUFNO0lBMkNKLFlBbEZZLEVBQUE7RUgrTGQ7SUd4SkEsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHdKTjtJRzdHRSxZQWxGWSxFQUFBO0VIK0xkO0lHN0dFLGdCUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsaUJQbkJ5RCxFQUFBO0VJZ0kzRDtJRzdHRSxXUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsaUJQbkJ5RCxFQUFBO0VJZ0kzRDtJRzdHRSxpQlBuQnlELEVBQUE7RUlnSTNEO0lHN0dFLFdQbkJ5RCxFQUFBO0VJZ0kzRDtJRzdHRSxpQlBuQnlELEVBQUE7RUlnSTNEO0lHN0dFLGlCUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsV1BuQnlELEVBQUE7RUlnSTNEO0lHN0dFLGlCUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsaUJQbkJ5RCxFQUFBO0VJZ0kzRDtJRzdHRSxZUG5CeUQsRUFBQSxFSXlMcEQ7O0FBT0w7RUNqVEksb0JBQTZEO0VBQTdELHVCQUE2RCxFQUFBOztBUGdKN0Q7RU1pS0o7SUNqVEkscUJBQTZEO0lBQTdELHdCQUE2RCxFQUFBLEVEcVQ5RDs7QUFKSDtFQ2pUSSxvQkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7O0FQZ0o3RDtFTWlLSjtJQ2pUSSxxQkFBNkQ7SUFBN0Qsd0JBQTZELEVBQUEsRUQwVDlEOztBQW5OTDtFQ3ZHTSxvQkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7O0FQZ0o3RDtFTXpDTjtJQ3ZHTSxxQkFBNkQ7SUFBN0Qsd0JBQTZELEVBQUEsRURzSWxFOztBQS9CRDtFRzZCRSwyQkF0RDhGO0VGckU1RixtQkFBNkQ7RUFBN0Qsc0JBQTZELEVBQUE7O0FQdUkzRDtFTXpDTjtJRzZCRSw0QkF0RDhGO0lGckU1RixvQkFBNkQ7SUFBN0QsdUJBQTZELEVBQUEsRUQyRzFEOztBQXJDUDtFR3FERSxZQWxGWSxFQUFBOztBSGlDZDtFR2lERSxZQWxGWSxFQUFBOztBSHlDWjtFR3lDQSwrQkF0RDhGLEVBQUE7O0FIYTlGO0VHeUNBLGdDQXREOEYsRUFBQTs7QUhhOUY7RUd5Q0EsMEJBdEQ4RixFQUFBOztBSGE5RjtFR3lDQSxnQ0F0RDhGLEVBQUE7O0FIYTlGO0VHeUNBLGdDQXREOEYsRUFBQTs7QUhhOUY7RUd5Q0EsMEJBdEQ4RixFQUFBOztBSGE5RjtFR3lDQSxnQ0F0RDhGLEVBQUE7O0FIYTlGO0VHeUNBLGdDQXREOEYsRUFBQTs7QUhhOUY7RUd5Q0EsMEJBdEQ4RixFQUFBOztBSGE5RjtFR3lDQSxnQ0F0RDhGLEVBQUE7O0FIYTlGO0VHeUNBLGdDQXREOEYsRUFBQTs7QUhhOUY7RUd5Q0EsMkJBdEQ4RixFQUFBOztBVGtFMUY7RU1qRU47SUdxREUsWUFsRlksRUFBQTtFSGlDZDtJR2lERSxZQWxGWSxFQUFBO0VIeUNaO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNEJBdEQ4RixFQUFBO0VIQ2hHO0lHcURFLFlBbEZZLEVBQUE7RUhpQ2Q7SUdpREUsWUFsRlksRUFBQTtFSHlDWjtJR3lDQSxnQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNB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O0VHeUNBLGdDQXREOEYsRUFBQTs7QUhhOUY7RUd5Q0EsZ0NBdEQ4RixFQUFBOztBSGE5RjtFR3lDQSwyQkF0RDhGLEVBQUE7O0FUa0UxRjtFTWpFTjtJR3FERSxZQWxGWSxFQUFBO0VIaUNkO0lHaURFLFlBbEZZLEVBQUE7RUh5Q1o7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw0QkF0RDhGLEVBQUE7RUhDaEc7SUdxREUsWUFsRlksRUFBQTtFSGlDZDtJR2lERSxZQWxGWSxFQUFBO0VIeUNaO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNEJBdEQ4RixFQUFBLEVIZTdGOztBTm1ERztFTWpFTjtJR3FERSxZQWxGWSxFQUFBO0VIaUNkO0lHaURFLFlBbEZZLEVBQUE7RUh5Q1o7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw0QkF0RDhGLEVBQUEsRUhlN0Y7O0FBa1REO0VPNVlJLDRCQUFtQyxFQUFBOztBYjZJbkM7RU0rUEo7SU81WUksNkJBQW1DLEVBQUEsRVA4WXRDOztBTmpRRztFTStQSjtJTzVZSSw2QkFBbUMsRUFBQSxFUDhZdEM7O0FOalFHO0VNbVFGO0lPaFpFLDZCQUFtQyxFQUFBLEVQa1pwQzs7QU5yUUM7RU1tUUY7SU9oWkUsNkJBQW1DLEVBQUEsRVBrWnBDOztBUTNXSDtFQ25CRix1QkFyRHlEO01BcUR6RCxvQkFyRHlEO1VBcUR6RCwyQkFyRHlELEVBQUE7O0FEd0V2RDtFQ25CRixxQkFwRDBEO01Bb0QxRCxrQkFwRDBEO1VBb0QxRCx5QkFwRDBELEVBQUE7O0FEdUV4RDtFQ25CRix3QkFuRGtCO01BbURsQixxQkFuRGtCO1VBbURsQix1QkFuRGtCLEVBQUE7O0FEc0VoQjtFQ25CRix5QkFsRDBCO01Ba0QxQixzQkFsRDBCO1VBa0QxQiw4QkFsRDBCLEVBQUE7O0FEcUV4QjtFQ25CRix5QkFqRHdCO01BaUR4Qiw2QkFqRHdCLEVBQUE7O0FEMkV0QjtFQzFCRix1QkFyRHlEO01BcUR6RCxvQkFyRHlEO1VBcUR6RCwyQkFyRHlELEVBQUE7O0FEK0V2RDtFQzFCRixxQkFwRDBEO01Bb0QxRCxrQkFwRDBEO1VBb0QxRCx5QkFwRDBELEVBQUE7O0FEOEV4RDtFQzFCRix3QkFuRGtCO01BbURsQixxQkFuRGtCO1VBbURsQix1QkFuRGtCLEVBQUE7O0FEd0ZoQjtFQ3BDRix3QkExQ2lCO01BMENqQixxQkExQ2lCO1VBMENqQix1QkExQ2lCLEVBQUE7O0FEa0ZmO0VDeEJGLDBCQTFEaUI7TUEwRGpCLHNCQTFEaUIsRUFBQTs7QUQ4RWY7RUNwQ0Ysc0JBekNrQjtNQXlDbEIsbUJBekNrQjtVQXlDbEIscUJBekNrQixFQUFBOztBRGlGaEI7RUN4QkYsd0JBekRrQjtNQXlEbEIsb0JBekRrQixFQUFBOztBRDZFaEI7RUNwQ0YseUJBeENnQjtNQXdDaEIsc0JBeENnQjtVQXdDaEIsbUJBeENnQixFQUFBOztBRGdGZDtFQ3hCRiwyQkF4RGdCO01Bd0RoQixrQkF4RGdCLEVBQUE7O0FENEVkO0VDcENGLDBCQXZDa0I7TUF1Q2xCLHVCQXZDa0I7VUF1Q2xCLG9CQXZDa0IsRUFBQTs7QUQrRWhCO0VDeEJGLDRCQXZEa0I7TUF1RGxCLG1CQXZEa0IsRUFBQTs7QURxRmxCO0VDL0NBLHdCQW5Ea0I7TUFtRGxCLHFCQW5Ea0I7VUFtRGxCLHVCQW5Ea0I7RUFvRGxCLHlCQXhDZ0I7TUF3Q2hCLHNCQXhDZ0I7VUF3Q2hCLG1CQXhDZ0I7RUR3RmQsMEJBQXFCO01BQXJCLHFCQUFxQixFQUFBOztBQU1uQjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0IsRUFBQTs7QWRtRVY7RWNsRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0FkZ0VDO0VjbEVGO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBQS9GTDtFQ1lBLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhLEVBQUE7O0FEUmI7RUFDRSxtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYyxFQUFBOztBQUdoQjtFQUNFLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsbUJBQWM7TUFBZCxrQkFBYztVQUFkLGNBQWMsRUFBQTs7QUFJZDtFQ3NERiw4QkFuRVU7RUFtRVYsNkJBbkVVO01BbUVWLHVCQW5FVTtVQW1FVixtQkFuRVUsRUFBQTs7QURhUjtFQ3NERiw4QkFsRTBCO0VBa0UxQiw4QkFsRTBCO01Ba0UxQiwrQkFsRTBCO1VBa0UxQiwyQkFsRTBCLEVBQUE7O0FEWXhCO0VDc0RGLDRCQWpFZ0I7RUFpRWhCLDZCQWpFZ0I7TUFpRWhCLDBCQWpFZ0I7VUFpRWhCLHNCQWpFZ0IsRUFBQTs7QURXZDtFQ3NERiw0QkFoRWdDO0VBZ0VoQyw4QkFoRWdDO01BZ0VoQyxrQ0FoRWdDO1VBZ0VoQyw4QkFoRWdDLEVBQUE7O0Fmd0oxQjtFY3BJRTtJQ2ZSLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhLEVBQUE7RURtQkw7SUFDRSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYyxFQUFBO0VBR2hCO0lBQ0UsbUJBQWM7UUFBZCxrQkFBYztZQUFkLGNBQWMsRUFBQTtFQUdoQjtJQUNFLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjLEVBQUE7RUFJZDtJQzJCViw4QkFuRVU7SUFtRVYsNkJBbkVVO1FBbUVWLHVCQW5FVTtZQW1FVixtQkFuRVUsRUFBQTtFRHdDQTtJQzJCViw4QkFsRTBCO0lBa0UxQiw4QkFsRTBCO1FBa0UxQiwrQkFsRTBCO1lBa0UxQiwyQkFsRTBCLEVBQUE7RUR1Q2hCO0lDMkJWLDRCQWpFZ0I7SUFpRWhCLDZCQWpFZ0I7UUFpRWhCLDBCQWpFZ0I7WUFpRWhCLHNCQWpFZ0IsRUFBQTtFRHNDTjtJQzJCViw0QkFoRWdDO0lBZ0VoQyw4QkFoRWdDO1FBZ0VoQyxrQ0FoRWdDO1lBZ0VoQyw4QkFoRWdDLEVBQUEsRUR1Q3JCOztBZGlITDtFY3BJRTtJQ2ZSLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhLEVBQUE7RURtQkw7SUFDRSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYyxFQUFBO0VBR2hCO0lBQ0UsbUJBQWM7UUFBZCxrQkFBYztZQUFkLGNBQWMsRUFBQTtFQUdoQjtJQUNFLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjLEVBQUE7RUFJZDtJQzJCViw4QkFuRVU7SUFtRVYsNkJBbkVVO1FBbUVWLHVCQW5FVTtZQW1FVixtQkFuRVUsRUFBQTtFRHdDQTtJQzJCViw4QkFsRTBCO0lBa0UxQiw4QkFsRTBCO1FBa0UxQiwrQkFsRTBCO1lBa0UxQiwyQkFsRTBCLEVBQUE7RUR1Q2hCO0lDMkJWLDRCQWpFZ0I7SUFpRWhCLDZCQWpFZ0I7UUFpRWhCLDBCQWpFZ0I7WUFpRWhCLHNCQWpFZ0IsRUFBQTtFRHNDTjtJQzJCViw0QkFoRWdDO0lBZ0VoQyw4QkFoRWdDO1FBZ0VoQyxrQ0FoRWdDO1lBZ0VoQyw4QkFoRWdDLEVBQUEsRUR1Q3JCOztBRW9LWDtFQW1CRSxTQUFTO0VBQ1QsVUFBVSxFQUFBOztBQUlaO0VBQ0UsbUJ6Qm5EMEI7RXlCcUQxQixrQkFBa0I7RUFDbEIsZ0J6QnZEc0I7RXlCd0R0QixrQ3pCdER5QyxFQUFBOztBeUIwRDNDO0VBRUUsa0JBQWtCO0VBQ2xCLG9CQUFvQixFQUFBOztBdkIvTHRCO0V1QnFNRSxpQnpCcEpxQjtFeUJxSnJCLG9CQUFvQixFQUFBOztBdkJ0THRCO0V1QjJMRSxjekI3RWlCO0V5QjhFakIsb0JBQW9CLEVBQUE7O0FBSXRCO0VBTUUsa0Z6QjFIc0Y7RXlCMkh0RixrQnpCekhzQjtFeUIwSHRCLGlCekJ2S3FCO0V5QndLckIsY3pCOU1pQjtFeUIrTWpCLGtDekI3RnNDLEVBQUE7O0F5Qm1GeEM7RUFhSSxjQUFjO0VBQ2QsY3pCbk1lLEVBQUE7O0F5QjRNYjtFQU9JLG1CbEI5TjZDO0VrQnFPN0Msb0J6QmhKaUI7RXlCMEpqQixhQUFhO0VBS2Isd0JsQnBQNkMsRUFBQTs7QWtCdU5qRDtFQU9JLG1CbEI5TjZDO0VrQnFPN0Msb0J6Qi9JaUI7RXlCeUpqQixhQUFhO0VBS2Isd0JsQnBQNkMsRUFBQTs7QWtCdU5qRDtFQU9JLG9CbEI5TjZDO0VrQnFPN0MsaUJ6QjlJaUI7RXlCd0pqQixhQUFhO0VBS2Isd0JsQnBQNkMsRUFBQTs7QWtCdU5qRDtFQU9JLG1CbEI5TjZDO0VrQnFPN0Msb0J6QjdJaUI7RXlCdUpqQixhQUFhO0VBS2IsbUJsQnBQNkMsRUFBQTs7QWtCc0p2RDtFQXdFVSxlbEI5TjZDO0VrQnFPN0MsZ0J6QjVJaUI7RXlCc0pqQixhQUFhO0VBS2IsbUJsQnBQNkMsRUFBQTs7QWtCdUp2RDtFQXVFVSxlbEI5TjZDO0VrQnFPN0MsZ0J6QjNJaUI7RXlCcUpqQixhQUFhO0VBS2IsbUJsQnBQNkMsRUFBQTs7QUV3RmpEO0VnQitIQTtJQU9JLG1CbEI5TjZDO0lrQnFPN0Msb0J6QnhJaUI7SXlCdUpqQix1QmxCcFA2QyxFQUFBO0VrQnVOakQ7SUFPSSxtQmxCOU42QztJa0JxTzdDLG9CekJ2SWlCO0l5QnNKakIscUJsQnBQNkMsRUFBQTtFa0J1TmpEO0lBT0ksbUJsQjlONkM7SWtCcU83QyxvQnpCdElpQjtJeUJxSmpCLHVCbEJwUDZDLEVBQUE7RWtCdU5qRDtJQU9JLG1CbEI5TjZDO0lrQnFPN0Msb0J6QnJJaUI7SXlCb0pqQixzQmxCcFA2QyxFQUFBO0VrQnNKdkQ7SUF3RVUsbUJsQjlONkM7SWtCcU83QyxvQnpCcElpQjtJeUJtSmpCLHNCbEJwUDZDLEVBQUE7RWtCdUp2RDtJQXVFVSxlbEI5TjZDO0lrQnFPN0MsZ0J6Qm5JaUI7SXlCa0pqQixzQmxCcFA2QyxFQUFBLEVrQndQaEQ7O0FoQmhLRDtFZ0IrSEE7SUFPSSxvQmxCOU42QztJa0JxTzdDLG9CekJoSWlCO0l5QitJakIsc0JsQnBQNkMsRUFBQTtFa0J1TmpEO0lBT0ksbUJsQjlONkM7SWtCcU83QyxvQnpCL0hpQjtJeUI4SWpCLHFCbEJwUDZDLEVBQUE7RWtCdU5qRDtJQU9JLG1CbEI5TjZDO0lrQnFPN0Msb0J6QjlIaUI7SXlCNklqQix1QmxCcFA2QyxFQUFBO0VrQnVOakQ7SUFPSSxvQmxCOU42QztJa0JxTzdDLGlCekI3SGlCO0l5QjRJakIsc0JsQnBQNkMsRUFBQTtFa0JzSnZEO0lBd0VVLGtCbEI5TjZDO0lrQnFPN0MsZ0J6QjVIaUI7SXlCMklqQixzQmxCcFA2QyxFQUFBO0VrQnVKdkQ7SUF1RVUsZWxCOU42QztJa0JxTzdDLGdCekIzSGlCO0l5QjBJakIsc0JsQnBQNkMsRUFBQSxFa0J3UGhEOztBdkJ4UlA7RXVCK1JFLG9CQUFvQjtFQUNwQixjekJyUWlCO0V5QnNRakIsMEJ6QnRJOEI7RXlCd0k5QixlQUFlLEVBQUE7O0FBTGpCO0VBU0ksY3pCM1FpQixFQUFBOztBeUJrUXJCO0VBZ0JJLFNBQVMsRUFBQTs7QXZCalViO0V1QnVVRSxXQUFXO0VBRVgsbUJsQnRScUQ7RWtCdVJyRCxTQUFTO0VBQ1Qsb0J6QnpKeUI7RXlCMkp6QixhQUFhO0VBQ2IsZUFBZTtFQUNmLGdDekJqUmlCO0V5QmtSakIsY0FBYyxFQUFBOztBQUloQjtFQUdFLG1CekJuTDBCO0V5Qm9MMUIsNEJ6QmxLeUI7RXlCbUt6QixnQnpCdExzQixFQUFBOztBeUIwTHhCO0VBQ0Usa0JBQWtCLEVBQUE7O0FBSXBCO0VBQ0Usb0J6QjVLc0I7RXlCNkt0QixxQnpCL0trQixFQUFBOztBeUJtTHBCO0VBQ0Usb0J6QmxMc0IsRUFBQTs7QXlCc0x4QjtFQUVJLG9CekJ2TDJCO0V5QndMM0IsZ0JBQWdCLEVBQUE7O0FBS3BCO0VBQ0UsbUJ6QjdMeUIsRUFBQTs7QXlCNEwzQjtFQUlJLHFCekI5TDhCO0V5QitMOUIsaUJ6QnRTbUIsRUFBQTs7QXlCMlN2QjtFQUNFLGdCekI1TjBCO0V5QjZOMUIseUNsQjlVcUQ7RWtCK1VyRCxpQnpCcE1vQixFQUFBOztBeUJpTXRCO0VBTUksZ0J6QmxPb0I7RXlCbU9wQixjekJ4VmUsRUFBQTs7QXlCc1duQjtFQUNFLDhCekIzVlE7RXlCNFZSLFlBQVk7RUFDWixxQkFBcUIsRUFBQTs7QUFJdkI7RUFDRSxTQUFTLEVBQUE7O0FBV1g7RUFDRSxTQUFTO0VBQ1QsMkJsQmpYUztFa0JtWFQseUJ6QjVXZ0I7RXlCOFdoQix5RHpCL1YyRDtFeUJnVzNELFd6QnBYUTtFeUJ1WE4sa0J6QjVWYSxFQUFBOztBMEJXakI7RUFDRSxrQjFCZ0h5QjtFMEIvR3pCLHFCMUJnSDRCO0UwQjlHNUIsbUIxQmpCeUI7RTBCa0J6QixnQjFCeUdzQjtFMEJ4R3RCLGMxQnpDZSxFQUFBOztBMEI2Q2pCO0VBQ0UsZTFCaUdxQztFMEJoR3JDLGdCMUJpR2lCLEVBQUE7O0EwQjdGbkI7RUFDRSxpQjFCa0dtQjtFMEJqR25CLGNBQWMsRUFBQTs7QUFFZDtFQUNFLGlCQUFpQixFQUFBOztBQUlyQjtFQUdJLGNBQWdDO0VBQ2hDLGdCQUFn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S0EsZ0JBRnNKO0VBR3RKLG9CN0JnRXVEO0U2Qi9EdkQscUJwQ3VjbUM7RW9DcmNuQyx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQixZcENrY2lCO0VvQ2pjakIsZ0JwQ3ViZTtFb0N0YmYsc0JwQ3lFVTtFb0N2RVYsb0JwQ3VieUI7RW9DdGJ6QixlN0J1RHVEO0U2QnREdkQsbUJwQ3NGMkI7RW9DckYzQixnQnBDa0NxQjtFb0NqQ3JCLGNwQytDbUI7RUltRW5CLG9PQUF5TjtFZ0M5R3ZOLDhCQUE4QjtFQUM5QiwyQ0FBMEQ7RUFDMUQsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUV4Qix3QkFBdUQ7RUFJdkQsMkVwQ21iOEQ7RW9DbmI5RCxtRXBDbWI4RDtFb0NuYjlELDhEcENtYjhEO0VvQ25iOUQsMkRwQ21iOEQ7RW9DbmI5RCxvRnBDbWI4RCxFQUFBOztBSTVVaEU7RUR3Q0E7SUNyQ0ksdVdBQXVXLEVBQUEsRWdDbkUxVzs7QUFuQ0Q7RUFDRSxhQUFhO0VBQ2IsWXBDdWFlO0VvQ3RhZiw2QnBDb2FnQztFb0NuYWhDLHdCcEN5YXFCO1VvQ3phckIsZ0JwQ3lhcUI7RW9DdGFuQiwyRXBDd2E0RDtFb0N4YTVELG1FcEN3YTREO0VvQ3hhNUQsOERwQ3dhNEQ7RW9DeGE1RCwyRHBDd2E0RDtFb0N4YTVELG9GcEN3YTRELEVBQUE7O0FvQ25haEU7RUFDRSx5QnBDa0NnQjtFb0NqQ2hCLG1CcENnYStCLEVBQUE7O0FvQzVaakM7RUFDRSxhQUFhLEVBQUE7O0FBR2Y7RUFDRSxZQUFZO0VBQ1osc0JBQXNCLEVBQUE7O0FBRXhCO0VBQ0UsY0FBYztFQUNkLGlCQUFpQixFQUFBOztBQ3JDbkI7RUFDRSxxQnJDK0JZO0VxQzlCWix5QkFBK0QsRUFBQTs7QUFFL0Q7RUFDRSxjckMyQlUsRUFBQTs7QXFDNUJaO0VBQ0UsY3JDMkJVLEVBQUE7O0FxQzVCWjtFQUNFLGNyQzJCVSxFQUFBOztBcUM1Qlo7RUFDRSxjckMyQlUsRUFBQTs7QXFDNUJaO0VBQ0UsY3JDMkJVLEVBQUE7O0FxQ0RaO0VBQ0Us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NEI7SUFBQywwQkFBeUI7SUFBQyxzQkFBcUIsRUFBQTtFQUFDO0lBQW9DLG1CQUFrQjtJQUFDLGtCQUFpQjtJQUFDLGNBQWEsRUFBQTtFQUYvUTtJQUV1UyxlQUFjLEVBQUE7RUFBQztJQUF1QixrQkFBaUIsRUFBQTtFQUZuTTtJQUV5Tix3QkFBdUI7SUFBQyxxQkFBb0I7SUFBQyxrQkFBaUIsRUFBQTtFQUFDO0lBQWlDLGVBQWMsRUFBQSxFQUFFOztBQUMxeUI7RUFBOEIsY0FBYTtFQUFDLGtCQUFpQixFQUFBOztBQUFDO0VBQTBELGtCQUFpQjtFQUFDLGVBQWM7RUFBQyxtQkFBa0I7RUFBQyxjQUFhO0VBQUMsVUFBUyxFQUFBOztBQUFDO0VBQTBCLGtCQUFpQixFQUFBOztBQUFDO0VBQXFDLGdCQUFlLEVBQUE7O0FBQUM7RUFBbUQscUJBQW9CLEVBQUE7O0FBQzVXO0VBQTZCLFVBQVMsRUFBQTs7QUFBQztFQUEyQyxXQUFVO0VBQUMsb0JBQW1CLEVBQUE7O0FBQUM7RUFBcUMsU0FBUTtFQUFDLG1CQUFrQjtFQUFDLFlBQVcsRUFBQTs7QUFBQztFQUF5QyxnQkFBZSxFQUFBOztBQUFDO0VBQStDLGNBQWEsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohIEZvbnQgQXdlc29tZSA0LjcuMCBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lIExpY2Vuc2UgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8vbGljZW5zZSAoRm9udDogU0lMIE9GTCAxLjEsIENTUzogTUlUIExpY2Vuc2UpICovXG4vKiBGT05UIFBBVEggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBmb250LWZhY2UgeyBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsgc3JjOiB1cmwoXCIuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD92PTQuNy4wXCIpOyBzcmM6IHVybChcIi4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90PyNpZWZpeCZ2PTQuNy4wXCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9NC43LjBcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuNy4wXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQudHRmP3Y9NC43LjBcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9NC43LjAjZm9udGF3ZXNvbWVyZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5mYSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lOyBmb250LXNpemU6IGluaGVyaXQ7IHRleHQtcmVuZGVyaW5nOiBhdXRvOyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xuLmZhLWxnIHsgZm9udC1zaXplOiAxLjMzMzMzZW07IGxpbmUtaGVpZ2h0OiAwLjc1ZW07IHZlcnRpY2FsLWFsaWduOiAtMTUlOyB9XG5cbi5mYS0yeCB7IGZvbnQtc2l6ZTogMmVtOyB9XG5cbi5mYS0zeCB7IGZvbnQtc2l6ZTogM2VtOyB9XG5cbi5mYS00eCB7IGZvbnQtc2l6ZTogNGVtOyB9XG5cbi5mYS01eCB7IGZvbnQtc2l6ZTogNWVtOyB9XG5cbi5mYS1mdyB7IHdpZHRoOiAxLjI4NTcxZW07IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmEtdWwgeyBwYWRkaW5nLWxlZnQ6IDA7IG1hcmdpbi1sZWZ0OiAyLjE0Mjg2ZW07IGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4uZmEtdWwgPiBsaSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmEtbGkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC0yLjE0Mjg2ZW07IHdpZHRoOiAyLjE0Mjg2ZW07IHRvcDogMC4xNDI4NmVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZhLWxpLmZhLWxnIHsgbGVmdDogLTEuODU3MTRlbTsgfVxuXG4uZmEtYm9yZGVyIHsgcGFkZGluZzogLjJlbSAuMjVlbSAuMTVlbTsgYm9yZGVyOiBzb2xpZCAwLjA4ZW0gI2VlZTsgYm9yZGVyLXJhZGl1czogLjFlbTsgfVxuXG4uZmEtcHVsbC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cblxuLmZhLXB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLmZhLmZhLXB1bGwtbGVmdCB7IG1hcmdpbi1yaWdodDogLjNlbTsgfVxuXG4uZmEuZmEtcHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG5cbi8qIERlcHJlY2F0ZWQgYXMgb2YgNC40LjAgKi9cbi5wdWxsLXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5wdWxsLWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuXG4uZmEucHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG5cbi5mYS5wdWxsLXJpZ2h0IHsgbWFyZ2luLWxlZnQ6IC4zZW07IH1cblxuLmZhLXNwaW4geyAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7IGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7IH1cblxuLmZhLXB1bHNlIHsgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7IGFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbiB7IDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhLXNwaW4geyAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuLmZhLXJvdGF0ZS05MCB7IC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MSlcIjsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuXG4uZmEtcm90YXRlLTE4MCB7IC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MilcIjsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4uZmEtcm90YXRlLTI3MCB7IC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MylcIjsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuXG4uZmEtZmxpcC1ob3Jpem9udGFsIHsgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0wLCBtaXJyb3I9MSlcIjsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsgLW1zLXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpOyB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsgfVxuXG4uZmEtZmxpcC12ZXJ0aWNhbCB7IC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpXCI7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cblxuOnJvb3QgLmZhLXJvdGF0ZS05MCwgOnJvb3QgLmZhLXJvdGF0ZS0xODAsIDpyb290IC5mYS1yb3RhdGUtMjcwLCA6cm9vdCAuZmEtZmxpcC1ob3Jpem9udGFsLCA6cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbCB7IGZpbHRlcjogbm9uZTsgfVxuXG4uZmEtc3RhY2sgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDJlbTsgaGVpZ2h0OiAyZW07IGxpbmUtaGVpZ2h0OiAyZW07IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmZhLXN0YWNrLTF4LCAuZmEtc3RhY2stMnggeyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZhLXN0YWNrLTF4IHsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuLmZhLXN0YWNrLTJ4IHsgZm9udC1zaXplOiAyZW07IH1cblxuLmZhLWludmVyc2UgeyBjb2xvcjogI2ZmZjsgfVxuXG4vKiBGb250IEF3ZXNvbWUgdXNlcyB0aGUgVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhIChQVUEpIHRvIGVuc3VyZSBzY3JlZW4gcmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi9cbi5mYS1nbGFzczpiZWZvcmUgeyBjb250ZW50OiBcIu+AgFwiOyB9XG5cbi5mYS1tdXNpYzpiZWZvcmUgeyBjb250ZW50OiBcIu+AgVwiOyB9XG5cbi5mYS1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogXCLvgIJcIjsgfVxuXG4uZmEtZW52ZWxvcGUtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+Ag1wiOyB9XG5cbi5mYS1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBcIu+AhFwiOyB9XG5cbi5mYS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CFXCI7IH1cblxuLmZhLXN0YXItbzpiZWZvcmUgeyBjb250ZW50OiBcIu+AhlwiOyB9XG5cbi5mYS11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CHXCI7IH1cblxuLmZhLWZpbG06YmVmb3JlIHsgY29udGVudDogXCLvgIhcIjsgfVxuXG4uZmEtdGgtbGFyZ2U6YmVmb3JlIHsgY29udGVudDogXCLvgIlcIjsgfVxuXG4uZmEtdGg6YmVmb3JlIHsgY29udGVudDogXCLvgIpcIjsgfVxuXG4uZmEtdGgtbGlzdDpiZWZvcmUgeyBjb250ZW50OiBcIu+Ai1wiOyB9XG5cbi5mYS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBcIu+AjFwiOyB9XG5cbi5mYS1yZW1vdmU6YmVmb3JlLCAuZmEtY2xvc2U6YmVmb3JlLCAuZmEtdGltZXM6YmVmb3JlIHsgY29udGVudDogXCLvgI1cIjsgfVxuXG4uZmEtc2VhcmNoLXBsdXM6YmVmb3JlIHsgY29udGVudDogXCLvgI5cIjsgfVxuXG4uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CQXCI7IH1cblxuLmZhLXBvd2VyLW9mZjpiZWZvcmUgeyBjb250ZW50OiBcIu+AkVwiOyB9XG5cbi5mYS1zaWduYWw6YmVmb3JlIHsgY29udGVudDogXCLvgJJcIjsgfVxuXG4uZmEtZ2VhcjpiZWZvcmUsIC5mYS1jb2c6YmVmb3JlIHsgY29udGVudDogXCLvgJNcIjsgfVxuXG4uZmEtdHJhc2gtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+AlFwiOyB9XG5cbi5mYS1ob21lOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CVXCI7IH1cblxuLmZhLWZpbGUtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+AllwiOyB9XG5cbi5mYS1jbG9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CXXCI7IH1cblxuLmZhLXJvYWQ6YmVmb3JlIHsgY29udGVudDogXCLvgJhcIjsgfVxuXG4uZmEtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogXCLvgJlcIjsgfVxuXG4uZmEtYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIu+AmlwiOyB9XG5cbi5mYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmUgeyBjb250ZW50OiBcIu+Am1wiOyB9XG5cbi5mYS1pbmJveDpiZWZvcmUgeyBjb250ZW50OiBcIu+AnFwiOyB9XG5cbi5mYS1wbGF5LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CdXCI7IH1cblxuLmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUsIC5mYS1yZXBlYXQ6YmVmb3JlIHsgY29udGVudDogXCLvgJ5cIjsgfVxuXG4uZmEtcmVmcmVzaDpiZWZvcmUgeyBjb250ZW50OiBcIu+AoVwiOyB9XG5cbi5mYS1saXN0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBcIu+AolwiOyB9XG5cbi5mYS1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CjXCI7IH1cblxuLmZhLWZsYWc6YmVmb3JlIHsgY29udGVudDogXCLvgKRcIjsgfVxuXG4uZmEtaGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiBcIu+ApVwiOyB9XG5cbi5mYS12b2x1bWUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CmXCI7IH1cblxuLmZhLXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CnXCI7IH1cblxuLmZhLXZvbHVtZS11cDpiZWZvcmUgeyBjb250ZW50OiBcIu+AqFwiOyB9XG5cbi5mYS1xcmNvZGU6YmVmb3JlIHsgY29udGVudDogXCLvgKlcIjsgfVxuXG4uZmEtYmFyY29kZTpiZWZvcmUgeyBjb250ZW50OiBcIu+AqlwiOyB9XG5cbi5mYS10YWc6YmVmb3JlIHsgY29udGVudDogXCLvgKtcIjsgfVxuXG4uZmEtdGFnczpiZWZvcmUgeyBjb250ZW50OiBcIu+ArFwiOyB9XG5cbi5mYS1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CtXCI7IH1cblxuLmZhLWJvb2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CuXCI7IH1cblxuLmZhLXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CvXCI7IH1cblxuLmZhLWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiBcIu+AsFwiOyB9XG5cbi5mYS1mb250OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CxXCI7IH1cblxuLmZhLWJvbGQ6YmVmb3JlIHsgY29udGVudDogXCLvgLJcIjsgfVxuXG4uZmEtaXRhbGljOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74CzXCI7IH1cblxuLmZhLXRleHQtaGVpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74C0XCI7IH1cblxuLmZhLXRleHQtd2lkdGg6YmVmb3JlIHsgY29udGVudDogXCLvgLVcIjsgfVxuXG4uZmEtYWxpZ24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIu+AtlwiOyB9XG5cbi5mYS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsgY29udGVudDogXCLvgLdcIjsgfVxuXG4uZmEtYWxpZ24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCLvgLhcIjsgfVxuXG4uZmEtYWxpZ24tanVzdGlmeTpiZWZvcmUgeyBjb250ZW50OiBcIu+AuVwiOyB9XG5cbi5mYS1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74C6XCI7IH1cblxuLmZhLWRlZGVudDpiZWZvcmUsIC5mYS1vdXRkZW50OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74C7XCI7IH1cblxuLmZhLWluZGVudDpiZWZvcmUgeyBjb250ZW50OiBcIu+AvFwiOyB9XG5cbi5mYS12aWRlby1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogXCLvgL1cIjsgfVxuXG4uZmEtcGhvdG86YmVmb3JlLCAuZmEtaW1hZ2U6YmVmb3JlLCAuZmEtcGljdHVyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74C+XCI7IH1cblxuLmZhLXBlbmNpbDpiZWZvcmUgeyBjb250ZW50OiBcIu+BgFwiOyB9XG5cbi5mYS1tYXAtbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GBXCI7IH1cblxuLmZhLWFkanVzdDpiZWZvcmUgeyBjb250ZW50OiBcIu+BglwiOyB9XG5cbi5mYS10aW50OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GDXCI7IH1cblxuLmZhLWVkaXQ6YmVmb3JlLCAuZmEtcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GEXCI7IH1cblxuLmZhLXNoYXJlLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GFXCI7IH1cblxuLmZhLWNoZWNrLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GGXCI7IH1cblxuLmZhLWFycm93czpiZWZvcmUgeyBjb250ZW50OiBcIu+Bh1wiOyB9XG5cbi5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GIXCI7IH1cblxuLmZhLWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogXCLvgYlcIjsgfVxuXG4uZmEtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogXCLvgYpcIjsgfVxuXG4uZmEtcGxheTpiZWZvcmUgeyBjb250ZW50OiBcIu+Bi1wiOyB9XG5cbi5mYS1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiBcIu+BjFwiOyB9XG5cbi5mYS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GNXCI7IH1cblxuLmZhLWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogXCLvgY5cIjsgfVxuXG4uZmEtZmFzdC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GQXCI7IH1cblxuLmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIu+BkVwiOyB9XG5cbi5mYS1lamVjdDpiZWZvcmUgeyBjb250ZW50OiBcIu+BklwiOyB9XG5cbi5mYS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogXCLvgZNcIjsgfVxuXG4uZmEtY2hldnJvbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIu+BlFwiOyB9XG5cbi5mYS1wbHVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIu+BlVwiOyB9XG5cbi5mYS1taW51cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCLvgZZcIjsgfVxuXG4uZmEtdGltZXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GXXCI7IH1cblxuLmZhLWNoZWNrLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIu+BmFwiOyB9XG5cbi5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCLvgZlcIjsgfVxuXG4uZmEtaW5mby1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCLvgZpcIjsgfVxuXG4uZmEtY3Jvc3NoYWlyczpiZWZvcmUgeyBjb250ZW50OiBcIu+Bm1wiOyB9XG5cbi5mYS10aW1lcy1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+BnFwiOyB9XG5cbi5mYS1jaGVjay1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+BnVwiOyB9XG5cbi5mYS1iYW46YmVmb3JlIHsgY29udGVudDogXCLvgZ5cIjsgfVxuXG4uZmEtYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIu+BoFwiOyB9XG5cbi5mYS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIu+BoVwiOyB9XG5cbi5mYS1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiBcIu+BolwiOyB9XG5cbi5mYS1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GjXCI7IH1cblxuLmZhLW1haWwtZm9yd2FyZDpiZWZvcmUsIC5mYS1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+BpFwiOyB9XG5cbi5mYS1leHBhbmQ6YmVmb3JlIHsgY29udGVudDogXCLvgaVcIjsgfVxuXG4uZmEtY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogXCLvgaZcIjsgfVxuXG4uZmEtcGx1czpiZWZvcmUgeyBjb250ZW50OiBcIu+Bp1wiOyB9XG5cbi5mYS1taW51czpiZWZvcmUgeyBjb250ZW50OiBcIu+BqFwiOyB9XG5cbi5mYS1hc3RlcmlzazpiZWZvcmUgeyBjb250ZW50OiBcIu+BqVwiOyB9XG5cbi5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCLvgapcIjsgfVxuXG4uZmEtZ2lmdDpiZWZvcmUgeyBjb250ZW50OiBcIu+Bq1wiOyB9XG5cbi5mYS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GsXCI7IH1cblxuLmZhLWZpcmU6YmVmb3JlIHsgY29udGVudDogXCLvga1cIjsgfVxuXG4uZmEtZXllOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GuXCI7IH1cblxuLmZhLWV5ZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBcIu+BsFwiOyB9XG5cbi5mYS13YXJuaW5nOmJlZm9yZSwgLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GxXCI7IH1cblxuLmZhLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GyXCI7IH1cblxuLmZhLWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74GzXCI7IH1cblxuLmZhLXJhbmRvbTpiZWZvcmUgeyBjb250ZW50OiBcIu+BtFwiOyB9XG5cbi5mYS1jb21tZW50OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74G1XCI7IH1cblxuLmZhLW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiBcIu+BtlwiOyB9XG5cbi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74G3XCI7IH1cblxuLmZhLWNoZXZyb24tZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIu+BuFwiOyB9XG5cbi5mYS1yZXR3ZWV0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74G5XCI7IH1cblxuLmZhLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsgY29udGVudDogXCLvgbpcIjsgfVxuXG4uZmEtZm9sZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74G7XCI7IH1cblxuLmZhLWZvbGRlci1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74G8XCI7IH1cblxuLmZhLWFycm93cy12OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74G9XCI7IH1cblxuLmZhLWFycm93cy1oOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74G+XCI7IH1cblxuLmZhLWJhci1jaGFydC1vOmJlZm9yZSwgLmZhLWJhci1jaGFydDpiZWZvcmUgeyBjb250ZW50OiBcIu+CgFwiOyB9XG5cbi5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+CgVwiOyB9XG5cbi5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCLvgoJcIjsgfVxuXG4uZmEtY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KDXCI7IH1cblxuLmZhLWtleTpiZWZvcmUgeyBjb250ZW50OiBcIu+ChFwiOyB9XG5cbi5mYS1nZWFyczpiZWZvcmUsIC5mYS1jb2dzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KFXCI7IH1cblxuLmZhLWNvbW1lbnRzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KGXCI7IH1cblxuLmZhLXRodW1icy1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KHXCI7IH1cblxuLmZhLXRodW1icy1vLWRvd246YmVmb3JlIHsgY29udGVudDogXCLvgohcIjsgfVxuXG4uZmEtc3Rhci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KJXCI7IH1cblxuLmZhLWhlYXJ0LW86YmVmb3JlIHsgY29udGVudDogXCLvgopcIjsgfVxuXG4uZmEtc2lnbi1vdXQ6YmVmb3JlIHsgY29udGVudDogXCLvgotcIjsgfVxuXG4uZmEtbGlua2VkaW4tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KMXCI7IH1cblxuLmZhLXRodW1iLXRhY2s6YmVmb3JlIHsgY29udGVudDogXCLvgo1cIjsgfVxuXG4uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmUgeyBjb250ZW50OiBcIu+CjlwiOyB9XG5cbi5mYS1zaWduLWluOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KQXCI7IH1cblxuLmZhLXRyb3BoeTpiZWZvcmUgeyBjb250ZW50OiBcIu+CkVwiOyB9XG5cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KSXCI7IH1cblxuLmZhLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBcIu+Ck1wiOyB9XG5cbi5mYS1sZW1vbi1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KUXCI7IH1cblxuLmZhLXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KVXCI7IH1cblxuLmZhLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KWXCI7IH1cblxuLmZhLWJvb2ttYXJrLW86YmVmb3JlIHsgY29udGVudDogXCLvgpdcIjsgfVxuXG4uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KYXCI7IH1cblxuLmZhLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogXCLvgplcIjsgfVxuXG4uZmEtZmFjZWJvb2stZjpiZWZvcmUsIC5mYS1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiBcIu+CmlwiOyB9XG5cbi5mYS1naXRodWI6YmVmb3JlIHsgY29udGVudDogXCLvgptcIjsgfVxuXG4uZmEtdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KcXCI7IH1cblxuLmZhLWNyZWRpdC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KdXCI7IH1cblxuLmZhLWZlZWQ6YmVmb3JlLCAuZmEtcnNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KeXCI7IH1cblxuLmZhLWhkZC1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KgXCI7IH1cblxuLmZhLWJ1bGxob3JuOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KhXCI7IH1cblxuLmZhLWJlbGw6YmVmb3JlIHsgY29udGVudDogXCLvg7NcIjsgfVxuXG4uZmEtY2VydGlmaWNhdGU6YmVmb3JlIHsgY29udGVudDogXCLvgqNcIjsgfVxuXG4uZmEtaGFuZC1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KkXCI7IH1cblxuLmZhLWhhbmQtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KlXCI7IH1cblxuLmZhLWhhbmQtby11cDpiZWZvcmUgeyBjb250ZW50OiBcIu+CplwiOyB9XG5cbi5mYS1oYW5kLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIu+Cp1wiOyB9XG5cbi5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIu+CqFwiOyB9XG5cbi5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCLvgqlcIjsgfVxuXG4uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KqXCI7IH1cblxuLmZhLWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KrXCI7IH1cblxuLmZhLWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KsXCI7IH1cblxuLmZhLXdyZW5jaDpiZWZvcmUgeyBjb250ZW50OiBcIu+CrVwiOyB9XG5cbi5mYS10YXNrczpiZWZvcmUgeyBjb250ZW50OiBcIu+CrlwiOyB9XG5cbi5mYS1maWx0ZXI6YmVmb3JlIHsgY29udGVudDogXCLvgrBcIjsgfVxuXG4uZmEtYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74KxXCI7IH1cblxuLmZhLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogXCLvgrJcIjsgfVxuXG4uZmEtZ3JvdXA6YmVmb3JlLCAuZmEtdXNlcnM6YmVmb3JlIHsgY29udGVudDogXCLvg4BcIjsgfVxuXG4uZmEtY2hhaW46YmVmb3JlLCAuZmEtbGluazpiZWZvcmUgeyBjb250ZW50OiBcIu+DgVwiOyB9XG5cbi5mYS1jbG91ZDpiZWZvcmUgeyBjb250ZW50OiBcIu+DglwiOyB9XG5cbi5mYS1mbGFzazpiZWZvcmUgeyBjb250ZW50OiBcIu+Dg1wiOyB9XG5cbi5mYS1jdXQ6YmVmb3JlLCAuZmEtc2Npc3NvcnM6YmVmb3JlIHsgY29udGVudDogXCLvg4RcIjsgfVxuXG4uZmEtY29weTpiZWZvcmUsIC5mYS1maWxlcy1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OFXCI7IH1cblxuLmZhLXBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiBcIu+DhlwiOyB9XG5cbi5mYS1zYXZlOmJlZm9yZSwgLmZhLWZsb3BweS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OHXCI7IH1cblxuLmZhLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+DiFwiOyB9XG5cbi5mYS1uYXZpY29uOmJlZm9yZSwgLmZhLXJlb3JkZXI6YmVmb3JlLCAuZmEtYmFyczpiZWZvcmUgeyBjb250ZW50OiBcIu+DiVwiOyB9XG5cbi5mYS1saXN0LXVsOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OKXCI7IH1cblxuLmZhLWxpc3Qtb2w6YmVmb3JlIHsgY29udGVudDogXCLvg4tcIjsgfVxuXG4uZmEtc3RyaWtldGhyb3VnaDpiZWZvcmUgeyBjb250ZW50OiBcIu+DjFwiOyB9XG5cbi5mYS11bmRlcmxpbmU6YmVmb3JlIHsgY29udGVudDogXCLvg41cIjsgfVxuXG4uZmEtdGFibGU6YmVmb3JlIHsgY29udGVudDogXCLvg45cIjsgfVxuXG4uZmEtbWFnaWM6YmVmb3JlIHsgY29udGVudDogXCLvg5BcIjsgfVxuXG4uZmEtdHJ1Y2s6YmVmb3JlIHsgY29udGVudDogXCLvg5FcIjsgfVxuXG4uZmEtcGludGVyZXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OSXCI7IH1cblxuLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCLvg5NcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OUXCI7IH1cblxuLmZhLWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OVXCI7IH1cblxuLmZhLW1vbmV5OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OWXCI7IH1cblxuLmZhLWNhcmV0LWRvd246YmVmb3JlIHsgY29udGVudDogXCLvg5dcIjsgfVxuXG4uZmEtY2FyZXQtdXA6YmVmb3JlIHsgY29udGVudDogXCLvg5hcIjsgfVxuXG4uZmEtY2FyZXQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIu+DmVwiOyB9XG5cbi5mYS1jYXJldC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIu+DmlwiOyB9XG5cbi5mYS1jb2x1bW5zOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74ObXCI7IH1cblxuLmZhLXVuc29ydGVkOmJlZm9yZSwgLmZhLXNvcnQ6YmVmb3JlIHsgY29udGVudDogXCLvg5xcIjsgfVxuXG4uZmEtc29ydC1kb3duOmJlZm9yZSwgLmZhLXNvcnQtZGVzYzpiZWZvcmUgeyBjb250ZW50OiBcIu+DnVwiOyB9XG5cbi5mYS1zb3J0LXVwOmJlZm9yZSwgLmZhLXNvcnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OeXCI7IH1cblxuLmZhLWVudmVsb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OgXCI7IH1cblxuLmZhLWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OhXCI7IH1cblxuLmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSwgLmZhLXVuZG86YmVmb3JlIHsgY29udGVudDogXCLvg6JcIjsgfVxuXG4uZmEtbGVnYWw6YmVmb3JlLCAuZmEtZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogXCLvg6NcIjsgfVxuXG4uZmEtZGFzaGJvYXJkOmJlZm9yZSwgLmZhLXRhY2hvbWV0ZXI6YmVmb3JlIHsgY29udGVudDogXCLvg6RcIjsgfVxuXG4uZmEtY29tbWVudC1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OlXCI7IH1cblxuLmZhLWNvbW1lbnRzLW86YmVmb3JlIHsgY29udGVudDogXCLvg6ZcIjsgfVxuXG4uZmEtZmxhc2g6YmVmb3JlLCAuZmEtYm9sdDpiZWZvcmUgeyBjb250ZW50OiBcIu+Dp1wiOyB9XG5cbi5mYS1zaXRlbWFwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OoXCI7IH1cblxuLmZhLXVtYnJlbGxhOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74OpXCI7IH1cblxuLmZhLXBhc3RlOmJlZm9yZSwgLmZhLWNsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIu+DqlwiOyB9XG5cbi5mYS1saWdodGJ1bGItbzpiZWZvcmUgeyBjb250ZW50OiBcIu+Dq1wiOyB9XG5cbi5mYS1leGNoYW5nZTpiZWZvcmUgeyBjb250ZW50OiBcIu+DrFwiOyB9XG5cbi5mYS1jbG91ZC1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiBcIu+DrVwiOyB9XG5cbi5mYS1jbG91ZC11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogXCLvg65cIjsgfVxuXG4uZmEtdXNlci1tZDpiZWZvcmUgeyBjb250ZW50OiBcIu+DsFwiOyB9XG5cbi5mYS1zdGV0aG9zY29wZTpiZWZvcmUgeyBjb250ZW50OiBcIu+DsVwiOyB9XG5cbi5mYS1zdWl0Y2FzZTpiZWZvcmUgeyBjb250ZW50OiBcIu+DslwiOyB9XG5cbi5mYS1iZWxsLW86YmVmb3JlIHsgY29udGVudDogXCLvgqJcIjsgfVxuXG4uZmEtY29mZmVlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74O0XCI7IH1cblxuLmZhLWN1dGxlcnk6YmVmb3JlIHsgY29udGVudDogXCLvg7VcIjsgfVxuXG4uZmEtZmlsZS10ZXh0LW86YmVmb3JlIHsgY29udGVudDogXCLvg7ZcIjsgfVxuXG4uZmEtYnVpbGRpbmctbzpiZWZvcmUgeyBjb250ZW50OiBcIu+Dt1wiOyB9XG5cbi5mYS1ob3NwaXRhbC1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74O4XCI7IH1cblxuLmZhLWFtYnVsYW5jZTpiZWZvcmUgeyBjb250ZW50OiBcIu+DuVwiOyB9XG5cbi5mYS1tZWRraXQ6YmVmb3JlIHsgY29udGVudDogXCLvg7pcIjsgfVxuXG4uZmEtZmlnaHRlci1qZXQ6YmVmb3JlIHsgY29udGVudDogXCLvg7tcIjsgfVxuXG4uZmEtYmVlcjpiZWZvcmUgeyBjb250ZW50OiBcIu+DvFwiOyB9XG5cbi5mYS1oLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+DvVwiOyB9XG5cbi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+DvlwiOyB9XG5cbi5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIu+EgFwiOyB9XG5cbi5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCLvhIFcIjsgfVxuXG4uZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SCXCI7IH1cblxuLmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SDXCI7IH1cblxuLmZhLWFuZ2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogXCLvhIRcIjsgfVxuXG4uZmEtYW5nbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCLvhIVcIjsgfVxuXG4uZmEtYW5nbGUtdXA6YmVmb3JlIHsgY29udGVudDogXCLvhIZcIjsgfVxuXG4uZmEtYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIu+Eh1wiOyB9XG5cbi5mYS1kZXNrdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SIXCI7IH1cblxuLmZhLWxhcHRvcDpiZWZvcmUgeyBjb250ZW50OiBcIu+EiVwiOyB9XG5cbi5mYS10YWJsZXQ6YmVmb3JlIHsgY29udGVudDogXCLvhIpcIjsgfVxuXG4uZmEtbW9iaWxlLXBob25lOmJlZm9yZSwgLmZhLW1vYmlsZTpiZWZvcmUgeyBjb250ZW50OiBcIu+Ei1wiOyB9XG5cbi5mYS1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+EjFwiOyB9XG5cbi5mYS1xdW90ZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SNXCI7IH1cblxuLmZhLXF1b3RlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SOXCI7IH1cblxuLmZhLXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogXCLvhJBcIjsgfVxuXG4uZmEtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SRXCI7IH1cblxuLmZhLW1haWwtcmVwbHk6YmVmb3JlLCAuZmEtcmVwbHk6YmVmb3JlIHsgY29udGVudDogXCLvhJJcIjsgfVxuXG4uZmEtZ2l0aHViLWFsdDpiZWZvcmUgeyBjb250ZW50OiBcIu+Ek1wiOyB9XG5cbi5mYS1mb2xkZXItbzpiZWZvcmUgeyBjb250ZW50OiBcIu+ElFwiOyB9XG5cbi5mYS1mb2xkZXItb3Blbi1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SVXCI7IH1cblxuLmZhLXNtaWxlLW86YmVmb3JlIHsgY29udGVudDogXCLvhJhcIjsgfVxuXG4uZmEtZnJvd24tbzpiZWZvcmUgeyBjb250ZW50OiBcIu+EmVwiOyB9XG5cbi5mYS1tZWgtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+EmlwiOyB9XG5cbi5mYS1nYW1lcGFkOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SbXCI7IH1cblxuLmZhLWtleWJvYXJkLW86YmVmb3JlIHsgY29udGVudDogXCLvhJxcIjsgfVxuXG4uZmEtZmxhZy1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SdXCI7IH1cblxuLmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SeXCI7IH1cblxuLmZhLXRlcm1pbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SgXCI7IH1cblxuLmZhLWNvZGU6YmVmb3JlIHsgY29udGVudDogXCLvhKFcIjsgfVxuXG4uZmEtbWFpbC1yZXBseS1hbGw6YmVmb3JlLCAuZmEtcmVwbHktYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SiXCI7IH1cblxuLmZhLXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsIC5mYS1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsIC5mYS1zdGFyLWhhbGYtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+Eo1wiOyB9XG5cbi5mYS1sb2NhdGlvbi1hcnJvdzpiZWZvcmUgeyBjb250ZW50OiBcIu+EpFwiOyB9XG5cbi5mYS1jcm9wOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SlXCI7IH1cblxuLmZhLWNvZGUtZm9yazpiZWZvcmUgeyBjb250ZW50OiBcIu+EplwiOyB9XG5cbi5mYS11bmxpbms6YmVmb3JlLCAuZmEtY2hhaW4tYnJva2VuOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SnXCI7IH1cblxuLmZhLXF1ZXN0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SoXCI7IH1cblxuLmZhLWluZm86YmVmb3JlIHsgY29udGVudDogXCLvhKlcIjsgfVxuXG4uZmEtZXhjbGFtYXRpb246YmVmb3JlIHsgY29udGVudDogXCLvhKpcIjsgfVxuXG4uZmEtc3VwZXJzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogXCLvhKtcIjsgfVxuXG4uZmEtc3Vic2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SsXCI7IH1cblxuLmZhLWVyYXNlcjpiZWZvcmUgeyBjb250ZW50OiBcIu+ErVwiOyB9XG5cbi5mYS1wdXp6bGUtcGllY2U6YmVmb3JlIHsgY29udGVudDogXCLvhK5cIjsgfVxuXG4uZmEtbWljcm9waG9uZTpiZWZvcmUgeyBjb250ZW50OiBcIu+EsFwiOyB9XG5cbi5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SxXCI7IH1cblxuLmZhLXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiBcIu+EslwiOyB9XG5cbi5mYS1jYWxlbmRhci1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74SzXCI7IH1cblxuLmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74S0XCI7IH1cblxuLmZhLXJvY2tldDpiZWZvcmUgeyBjb250ZW50OiBcIu+EtVwiOyB9XG5cbi5mYS1tYXhjZG46YmVmb3JlIHsgY29udGVudDogXCLvhLZcIjsgfVxuXG4uZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIu+Et1wiOyB9XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIu+EuFwiOyB9XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBcIu+EuVwiOyB9XG5cbi5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74S6XCI7IH1cblxuLmZhLWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74S7XCI7IH1cblxuLmZhLWNzczM6YmVmb3JlIHsgY29udGVudDogXCLvhLxcIjsgfVxuXG4uZmEtYW5jaG9yOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74S9XCI7IH1cblxuLmZhLXVubG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogXCLvhL5cIjsgfVxuXG4uZmEtYnVsbHNleWU6YmVmb3JlIHsgY29udGVudDogXCLvhYBcIjsgfVxuXG4uZmEtZWxsaXBzaXMtaDpiZWZvcmUgeyBjb250ZW50OiBcIu+FgVwiOyB9XG5cbi5mYS1lbGxpcHNpcy12OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WCXCI7IH1cblxuLmZhLXJzcy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCLvhYNcIjsgfVxuXG4uZmEtcGxheS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCLvhYRcIjsgfVxuXG4uZmEtdGlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WFXCI7IH1cblxuLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+FhlwiOyB9XG5cbi5mYS1taW51cy1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+Fh1wiOyB9XG5cbi5mYS1sZXZlbC11cDpiZWZvcmUgeyBjb250ZW50OiBcIu+FiFwiOyB9XG5cbi5mYS1sZXZlbC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WJXCI7IH1cblxuLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+FilwiOyB9XG5cbi5mYS1wZW5jaWwtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WLXCI7IH1cblxuLmZhLWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WMXCI7IH1cblxuLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+FjVwiOyB9XG5cbi5mYS1jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WOXCI7IH1cblxuLmZhLXRvZ2dsZS1kb3duOmJlZm9yZSwgLmZhLWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3JlIHsgY29udGVudDogXCLvhZBcIjsgfVxuXG4uZmEtdG9nZ2xlLXVwOmJlZm9yZSwgLmZhLWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WRXCI7IH1cblxuLmZhLXRvZ2dsZS1yaWdodDpiZWZvcmUsIC5mYS1jYXJldC1zcXVhcmUtby1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIu+FklwiOyB9XG5cbi5mYS1ldXJvOmJlZm9yZSwgLmZhLWV1cjpiZWZvcmUgeyBjb250ZW50OiBcIu+Fk1wiOyB9XG5cbi5mYS1nYnA6YmVmb3JlIHsgY29udGVudDogXCLvhZRcIjsgfVxuXG4uZmEtZG9sbGFyOmJlZm9yZSwgLmZhLXVzZDpiZWZvcmUgeyBjb250ZW50OiBcIu+FlVwiOyB9XG5cbi5mYS1ydXBlZTpiZWZvcmUsIC5mYS1pbnI6YmVmb3JlIHsgY29udGVudDogXCLvhZZcIjsgfVxuXG4uZmEtY255OmJlZm9yZSwgLmZhLXJtYjpiZWZvcmUsIC5mYS15ZW46YmVmb3JlLCAuZmEtanB5OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WXXCI7IH1cblxuLmZhLXJ1YmxlOmJlZm9yZSwgLmZhLXJvdWJsZTpiZWZvcmUsIC5mYS1ydWI6YmVmb3JlIHsgY29udGVudDogXCLvhZhcIjsgfVxuXG4uZmEtd29uOmJlZm9yZSwgLmZhLWtydzpiZWZvcmUgeyBjb250ZW50OiBcIu+FmVwiOyB9XG5cbi5mYS1iaXRjb2luOmJlZm9yZSwgLmZhLWJ0YzpiZWZvcmUgeyBjb250ZW50OiBcIu+FmlwiOyB9XG5cbi5mYS1maWxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WbXCI7IH1cblxuLmZhLWZpbGUtdGV4dDpiZWZvcmUgeyBjb250ZW50OiBcIu+FnFwiOyB9XG5cbi5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmUgeyBjb250ZW50OiBcIu+FnVwiOyB9XG5cbi5mYS1zb3J0LWFscGhhLWRlc2M6YmVmb3JlIHsgY29udGVudDogXCLvhZ5cIjsgfVxuXG4uZmEtc29ydC1hbW91bnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WgXCI7IH1cblxuLmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHsgY29udGVudDogXCLvhaFcIjsgfVxuXG4uZmEtc29ydC1udW1lcmljLWFzYzpiZWZvcmUgeyBjb250ZW50OiBcIu+FolwiOyB9XG5cbi5mYS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmUgeyBjb250ZW50OiBcIu+Fo1wiOyB9XG5cbi5mYS10aHVtYnMtdXA6YmVmb3JlIHsgY29udGVudDogXCLvhaRcIjsgfVxuXG4uZmEtdGh1bWJzLWRvd246YmVmb3JlIHsgY29udGVudDogXCLvhaVcIjsgfVxuXG4uZmEteW91dHViZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCLvhaZcIjsgfVxuXG4uZmEteW91dHViZTpiZWZvcmUgeyBjb250ZW50OiBcIu+Fp1wiOyB9XG5cbi5mYS14aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WoXCI7IH1cblxuLmZhLXhpbmctc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WpXCI7IH1cblxuLmZhLXlvdXR1YmUtcGxheTpiZWZvcmUgeyBjb250ZW50OiBcIu+FqlwiOyB9XG5cbi5mYS1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WrXCI7IH1cblxuLmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WsXCI7IH1cblxuLmZhLWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiBcIu+FrVwiOyB9XG5cbi5mYS1mbGlja3I6YmVmb3JlIHsgY29udGVudDogXCLvha5cIjsgfVxuXG4uZmEtYWRuOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WwXCI7IH1cblxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiBcIu+FsVwiOyB9XG5cbi5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74WyXCI7IH1cblxuLmZhLXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiBcIu+Fs1wiOyB9XG5cbi5mYS10dW1ibHItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74W0XCI7IH1cblxuLmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIu+FtVwiOyB9XG5cbi5mYS1sb25nLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74W2XCI7IH1cblxuLmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIu+Ft1wiOyB9XG5cbi5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74W4XCI7IH1cblxuLmZhLWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74W5XCI7IH1cblxuLmZhLXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogXCLvhbpcIjsgfVxuXG4uZmEtYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiBcIu+Fu1wiOyB9XG5cbi5mYS1saW51eDpiZWZvcmUgeyBjb250ZW50OiBcIu+FvFwiOyB9XG5cbi5mYS1kcmliYmJsZTpiZWZvcmUgeyBjb250ZW50OiBcIu+FvVwiOyB9XG5cbi5mYS1za3lwZTpiZWZvcmUgeyBjb250ZW50OiBcIu+FvlwiOyB9XG5cbi5mYS1mb3Vyc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74aAXCI7IH1cblxuLmZhLXRyZWxsbzpiZWZvcmUgeyBjb250ZW50OiBcIu+GgVwiOyB9XG5cbi5mYS1mZW1hbGU6YmVmb3JlIHsgY29udGVudDogXCLvhoJcIjsgfVxuXG4uZmEtbWFsZTpiZWZvcmUgeyBjb250ZW50OiBcIu+Gg1wiOyB9XG5cbi5mYS1naXR0aXA6YmVmb3JlLCAuZmEtZ3JhdGlwYXk6YmVmb3JlIHsgY29udGVudDogXCLvhoRcIjsgfVxuXG4uZmEtc3VuLW86YmVmb3JlIHsgY29udGVudDogXCLvhoVcIjsgfVxuXG4uZmEtbW9vbi1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74aGXCI7IH1cblxuLmZhLWFyY2hpdmU6YmVmb3JlIHsgY29udGVudDogXCLvhodcIjsgfVxuXG4uZmEtYnVnOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74aIXCI7IH1cblxuLmZhLXZrOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74aJXCI7IH1cblxuLmZhLXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74aKXCI7IH1cblxuLmZhLXJlbnJlbjpiZWZvcmUgeyBjb250ZW50OiBcIu+Gi1wiOyB9XG5cbi5mYS1wYWdlbGluZXM6YmVmb3JlIHsgY29udGVudDogXCLvhoxcIjsgfVxuXG4uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogXCLvho1cIjsgfVxuXG4uZmEtYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCLvho5cIjsgfVxuXG4uZmEtYXJyb3ctY2lyY2xlLW8tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIu+GkFwiOyB9XG5cbi5mYS10b2dnbGUtbGVmdDpiZWZvcmUsIC5mYS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74aRXCI7IH1cblxuLmZhLWRvdC1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+GklwiOyB9XG5cbi5mYS13aGVlbGNoYWlyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74aTXCI7IH1cblxuLmZhLXZpbWVvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+GlFwiOyB9XG5cbi5mYS10dXJraXNoLWxpcmE6YmVmb3JlLCAuZmEtdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74aVXCI7IH1cblxuLmZhLXBsdXMtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogXCLvhpZcIjsgfVxuXG4uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmUgeyBjb250ZW50OiBcIu+Gl1wiOyB9XG5cbi5mYS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiBcIu+GmFwiOyB9XG5cbi5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCLvhplcIjsgfVxuXG4uZmEtd29yZHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74aaXCI7IH1cblxuLmZhLW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiBcIu+Gm1wiOyB9XG5cbi5mYS1pbnN0aXR1dGlvbjpiZWZvcmUsIC5mYS1iYW5rOmJlZm9yZSwgLmZhLXVuaXZlcnNpdHk6YmVmb3JlIHsgY29udGVudDogXCLvhpxcIjsgfVxuXG4uZmEtbW9ydGFyLWJvYXJkOmJlZm9yZSwgLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74adXCI7IH1cblxuLmZhLXlhaG9vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74aeXCI7IH1cblxuLmZhLWdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiBcIu+GoFwiOyB9XG5cbi5mYS1yZWRkaXQ6YmVmb3JlIHsgY29udGVudDogXCLvhqFcIjsgfVxuXG4uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+GolwiOyB9XG5cbi5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCLvhqNcIjsgfVxuXG4uZmEtc3R1bWJsZXVwb246YmVmb3JlIHsgY29udGVudDogXCLvhqRcIjsgfVxuXG4uZmEtZGVsaWNpb3VzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74alXCI7IH1cblxuLmZhLWRpZ2c6YmVmb3JlIHsgY29udGVudDogXCLvhqZcIjsgfVxuXG4uZmEtcGllZC1waXBlci1wcDpiZWZvcmUgeyBjb250ZW50OiBcIu+Gp1wiOyB9XG5cbi5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBcIu+GqFwiOyB9XG5cbi5mYS1kcnVwYWw6YmVmb3JlIHsgY29udGVudDogXCLvhqlcIjsgfVxuXG4uZmEtam9vbWxhOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74aqXCI7IH1cblxuLmZhLWxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74arXCI7IH1cblxuLmZhLWZheDpiZWZvcmUgeyBjb250ZW50OiBcIu+GrFwiOyB9XG5cbi5mYS1idWlsZGluZzpiZWZvcmUgeyBjb250ZW50OiBcIu+GrVwiOyB9XG5cbi5mYS1jaGlsZDpiZWZvcmUgeyBjb250ZW50OiBcIu+GrlwiOyB9XG5cbi5mYS1wYXc6YmVmb3JlIHsgY29udGVudDogXCLvhrBcIjsgfVxuXG4uZmEtc3Bvb246YmVmb3JlIHsgY29udGVudDogXCLvhrFcIjsgfVxuXG4uZmEtY3ViZTpiZWZvcmUgeyBjb250ZW50OiBcIu+GslwiOyB9XG5cbi5mYS1jdWJlczpiZWZvcmUgeyBjb250ZW50OiBcIu+Gs1wiOyB9XG5cbi5mYS1iZWhhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74a0XCI7IH1cblxuLmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74a1XCI7IH1cblxuLmZhLXN0ZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74a2XCI7IH1cblxuLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+Gt1wiOyB9XG5cbi5mYS1yZWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74a4XCI7IH1cblxuLmZhLWF1dG9tb2JpbGU6YmVmb3JlLCAuZmEtY2FyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74a5XCI7IH1cblxuLmZhLWNhYjpiZWZvcmUsIC5mYS10YXhpOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74a6XCI7IH1cblxuLmZhLXRyZWU6YmVmb3JlIHsgY29udGVudDogXCLvhrtcIjsgfVxuXG4uZmEtc3BvdGlmeTpiZWZvcmUgeyBjb250ZW50OiBcIu+GvFwiOyB9XG5cbi5mYS1kZXZpYW50YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74a9XCI7IH1cblxuLmZhLXNvdW5kY2xvdWQ6YmVmb3JlIHsgY29udGVudDogXCLvhr5cIjsgfVxuXG4uZmEtZGF0YWJhc2U6YmVmb3JlIHsgY29udGVudDogXCLvh4BcIjsgfVxuXG4uZmEtZmlsZS1wZGYtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+HgVwiOyB9XG5cbi5mYS1maWxlLXdvcmQtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+HglwiOyB9XG5cbi5mYS1maWxlLWV4Y2VsLW86YmVmb3JlIHsgY29udGVudDogXCLvh4NcIjsgfVxuXG4uZmEtZmlsZS1wb3dlcnBvaW50LW86YmVmb3JlIHsgY29udGVudDogXCLvh4RcIjsgfVxuXG4uZmEtZmlsZS1waG90by1vOmJlZm9yZSwgLmZhLWZpbGUtcGljdHVyZS1vOmJlZm9yZSwgLmZhLWZpbGUtaW1hZ2UtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+HhVwiOyB9XG5cbi5mYS1maWxlLXppcC1vOmJlZm9yZSwgLmZhLWZpbGUtYXJjaGl2ZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74eGXCI7IH1cblxuLmZhLWZpbGUtc291bmQtbzpiZWZvcmUsIC5mYS1maWxlLWF1ZGlvLW86YmVmb3JlIHsgY29udGVudDogXCLvh4dcIjsgfVxuXG4uZmEtZmlsZS1tb3ZpZS1vOmJlZm9yZSwgLmZhLWZpbGUtdmlkZW8tbzpiZWZvcmUgeyBjb250ZW50OiBcIu+HiFwiOyB9XG5cbi5mYS1maWxlLWNvZGUtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+HiVwiOyB9XG5cbi5mYS12aW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74eKXCI7IH1cblxuLmZhLWNvZGVwZW46YmVmb3JlIHsgY29udGVudDogXCLvh4tcIjsgfVxuXG4uZmEtanNmaWRkbGU6YmVmb3JlIHsgY29udGVudDogXCLvh4xcIjsgfVxuXG4uZmEtbGlmZS1ib3V5OmJlZm9yZSwgLmZhLWxpZmUtYnVveTpiZWZvcmUsIC5mYS1saWZlLXNhdmVyOmJlZm9yZSwgLmZhLXN1cHBvcnQ6YmVmb3JlLCAuZmEtbGlmZS1yaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74eNXCI7IH1cblxuLmZhLWNpcmNsZS1vLW5vdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74eOXCI7IH1cblxuLmZhLXJhOmJlZm9yZSwgLmZhLXJlc2lzdGFuY2U6YmVmb3JlLCAuZmEtcmViZWw6YmVmb3JlIHsgY29udGVudDogXCLvh5BcIjsgfVxuXG4uZmEtZ2U6YmVmb3JlLCAuZmEtZW1waXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74eRXCI7IH1cblxuLmZhLWdpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCLvh5JcIjsgfVxuXG4uZmEtZ2l0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74eTXCI7IH1cblxuLmZhLXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlLCAuZmEteWMtc3F1YXJlOmJlZm9yZSwgLmZhLWhhY2tlci1uZXdzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74eUXCI7IH1cblxuLmZhLXRlbmNlbnQtd2VpYm86YmVmb3JlIHsgY29udGVudDogXCLvh5VcIjsgfVxuXG4uZmEtcXE6YmVmb3JlIHsgY29udGVudDogXCLvh5ZcIjsgfVxuXG4uZmEtd2VjaGF0OmJlZm9yZSwgLmZhLXdlaXhpbjpiZWZvcmUgeyBjb250ZW50OiBcIu+Hl1wiOyB9XG5cbi5mYS1zZW5kOmJlZm9yZSwgLmZhLXBhcGVyLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74eYXCI7IH1cblxuLmZhLXNlbmQtbzpiZWZvcmUsIC5mYS1wYXBlci1wbGFuZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74eZXCI7IH1cblxuLmZhLWhpc3Rvcnk6YmVmb3JlIHsgY29udGVudDogXCLvh5pcIjsgfVxuXG4uZmEtY2lyY2xlLXRoaW46YmVmb3JlIHsgY29udGVudDogXCLvh5tcIjsgfVxuXG4uZmEtaGVhZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74ecXCI7IH1cblxuLmZhLXBhcmFncmFwaDpiZWZvcmUgeyBjb250ZW50OiBcIu+HnVwiOyB9XG5cbi5mYS1zbGlkZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74eeXCI7IH1cblxuLmZhLXNoYXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBcIu+HoFwiOyB9XG5cbi5mYS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74ehXCI7IH1cblxuLmZhLWJvbWI6YmVmb3JlIHsgY29udGVudDogXCLvh6JcIjsgfVxuXG4uZmEtc29jY2VyLWJhbGwtbzpiZWZvcmUsIC5mYS1mdXRib2wtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+Ho1wiOyB9XG5cbi5mYS10dHk6YmVmb3JlIHsgY29udGVudDogXCLvh6RcIjsgfVxuXG4uZmEtYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiBcIu+HpVwiOyB9XG5cbi5mYS1wbHVnOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74emXCI7IH1cblxuLmZhLXNsaWRlc2hhcmU6YmVmb3JlIHsgY29udGVudDogXCLvh6dcIjsgfVxuXG4uZmEtdHdpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74eoXCI7IH1cblxuLmZhLXllbHA6YmVmb3JlIHsgY29udGVudDogXCLvh6lcIjsgfVxuXG4uZmEtbmV3c3BhcGVyLW86YmVmb3JlIHsgY29udGVudDogXCLvh6pcIjsgfVxuXG4uZmEtd2lmaTpiZWZvcmUgeyBjb250ZW50OiBcIu+Hq1wiOyB9XG5cbi5mYS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74esXCI7IH1cblxuLmZhLXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiBcIu+HrVwiOyB9XG5cbi5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74euXCI7IH1cblxuLmZhLWNjLXZpc2E6YmVmb3JlIHsgY29udGVudDogXCLvh7BcIjsgfVxuXG4uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIu+HsVwiOyB9XG5cbi5mYS1jYy1kaXNjb3ZlcjpiZWZvcmUgeyBjb250ZW50OiBcIu+HslwiOyB9XG5cbi5mYS1jYy1hbWV4OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74ezXCI7IH1cblxuLmZhLWNjLXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiBcIu+HtFwiOyB9XG5cbi5mYS1jYy1zdHJpcGU6YmVmb3JlIHsgY29udGVudDogXCLvh7VcIjsgfVxuXG4uZmEtYmVsbC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBcIu+HtlwiOyB9XG5cbi5mYS1iZWxsLXNsYXNoLW86YmVmb3JlIHsgY29udGVudDogXCLvh7dcIjsgfVxuXG4uZmEtdHJhc2g6YmVmb3JlIHsgY29udGVudDogXCLvh7hcIjsgfVxuXG4uZmEtY29weXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74e5XCI7IH1cblxuLmZhLWF0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74e6XCI7IH1cblxuLmZhLWV5ZWRyb3BwZXI6YmVmb3JlIHsgY29udGVudDogXCLvh7tcIjsgfVxuXG4uZmEtcGFpbnQtYnJ1c2g6YmVmb3JlIHsgY29udGVudDogXCLvh7xcIjsgfVxuXG4uZmEtYmlydGhkYXktY2FrZTpiZWZvcmUgeyBjb250ZW50OiBcIu+HvVwiOyB9XG5cbi5mYS1hcmVhLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74e+XCI7IH1cblxuLmZhLXBpZS1jaGFydDpiZWZvcmUgeyBjb250ZW50OiBcIu+IgFwiOyB9XG5cbi5mYS1saW5lLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iBXCI7IH1cblxuLmZhLWxhc3RmbTpiZWZvcmUgeyBjb250ZW50OiBcIu+IglwiOyB9XG5cbi5mYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iDXCI7IH1cblxuLmZhLXRvZ2dsZS1vZmY6YmVmb3JlIHsgY29udGVudDogXCLviIRcIjsgfVxuXG4uZmEtdG9nZ2xlLW9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iFXCI7IH1cblxuLmZhLWJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogXCLviIZcIjsgfVxuXG4uZmEtYnVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iHXCI7IH1cblxuLmZhLWlveGhvc3Q6YmVmb3JlIHsgY29udGVudDogXCLviIhcIjsgfVxuXG4uZmEtYW5nZWxsaXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iJXCI7IH1cblxuLmZhLWNjOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iKXCI7IH1cblxuLmZhLXNoZWtlbDpiZWZvcmUsIC5mYS1zaGVxZWw6YmVmb3JlLCAuZmEtaWxzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iLXCI7IH1cblxuLmZhLW1lYW5wYXRoOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iMXCI7IH1cblxuLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHsgY29udGVudDogXCLviI1cIjsgfVxuXG4uZmEtY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogXCLviI5cIjsgfVxuXG4uZmEtZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogXCLviJBcIjsgfVxuXG4uZmEtZm9ydW1iZWU6YmVmb3JlIHsgY29udGVudDogXCLviJFcIjsgfVxuXG4uZmEtbGVhbnB1YjpiZWZvcmUgeyBjb250ZW50OiBcIu+IklwiOyB9XG5cbi5mYS1zZWxsc3k6YmVmb3JlIHsgY29udGVudDogXCLviJNcIjsgfVxuXG4uZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iUXCI7IH1cblxuLmZhLXNpbXBseWJ1aWx0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iVXCI7IH1cblxuLmZhLXNreWF0bGFzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iWXCI7IH1cblxuLmZhLWNhcnQtcGx1czpiZWZvcmUgeyBjb250ZW50OiBcIu+Il1wiOyB9XG5cbi5mYS1jYXJ0LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogXCLviJhcIjsgfVxuXG4uZmEtZGlhbW9uZDpiZWZvcmUgeyBjb250ZW50OiBcIu+ImVwiOyB9XG5cbi5mYS1zaGlwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iaXCI7IH1cblxuLmZhLXVzZXItc2VjcmV0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74ibXCI7IH1cblxuLmZhLW1vdG9yY3ljbGU6YmVmb3JlIHsgY29udGVudDogXCLviJxcIjsgfVxuXG4uZmEtc3RyZWV0LXZpZXc6YmVmb3JlIHsgY29udGVudDogXCLviJ1cIjsgfVxuXG4uZmEtaGVhcnRiZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74ieXCI7IH1cblxuLmZhLXZlbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74ihXCI7IH1cblxuLmZhLW1hcnM6YmVmb3JlIHsgY29udGVudDogXCLviKJcIjsgfVxuXG4uZmEtbWVyY3VyeTpiZWZvcmUgeyBjb250ZW50OiBcIu+Io1wiOyB9XG5cbi5mYS1pbnRlcnNleDpiZWZvcmUsIC5mYS10cmFuc2dlbmRlcjpiZWZvcmUgeyBjb250ZW50OiBcIu+IpFwiOyB9XG5cbi5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHsgY29udGVudDogXCLviKVcIjsgfVxuXG4uZmEtdmVudXMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74imXCI7IH1cblxuLmZhLW1hcnMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74inXCI7IH1cblxuLmZhLXZlbnVzLW1hcnM6YmVmb3JlIHsgY29udGVudDogXCLviKhcIjsgfVxuXG4uZmEtbWFycy1zdHJva2U6YmVmb3JlIHsgY29udGVudDogXCLviKlcIjsgfVxuXG4uZmEtbWFycy1zdHJva2UtdjpiZWZvcmUgeyBjb250ZW50OiBcIu+IqlwiOyB9XG5cbi5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74irXCI7IH1cblxuLmZhLW5ldXRlcjpiZWZvcmUgeyBjb250ZW50OiBcIu+IrFwiOyB9XG5cbi5mYS1nZW5kZXJsZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74itXCI7IH1cblxuLmZhLWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iwXCI7IH1cblxuLmZhLXBpbnRlcmVzdC1wOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74ixXCI7IH1cblxuLmZhLXdoYXRzYXBwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74iyXCI7IH1cblxuLmZhLXNlcnZlcjpiZWZvcmUgeyBjb250ZW50OiBcIu+Is1wiOyB9XG5cbi5mYS11c2VyLXBsdXM6YmVmb3JlIHsgY29udGVudDogXCLviLRcIjsgfVxuXG4uZmEtdXNlci10aW1lczpiZWZvcmUgeyBjb250ZW50OiBcIu+ItVwiOyB9XG5cbi5mYS1ob3RlbDpiZWZvcmUsIC5mYS1iZWQ6YmVmb3JlIHsgY29udGVudDogXCLviLZcIjsgfVxuXG4uZmEtdmlhY29pbjpiZWZvcmUgeyBjb250ZW50OiBcIu+It1wiOyB9XG5cbi5mYS10cmFpbjpiZWZvcmUgeyBjb250ZW50OiBcIu+IuFwiOyB9XG5cbi5mYS1zdWJ3YXk6YmVmb3JlIHsgY29udGVudDogXCLviLlcIjsgfVxuXG4uZmEtbWVkaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74i6XCI7IH1cblxuLmZhLXljOmJlZm9yZSwgLmZhLXktY29tYmluYXRvcjpiZWZvcmUgeyBjb250ZW50OiBcIu+Iu1wiOyB9XG5cbi5mYS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74i8XCI7IH1cblxuLmZhLW9wZW5jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74i9XCI7IH1cblxuLmZhLWV4cGVkaXRlZHNzbDpiZWZvcmUgeyBjb250ZW50OiBcIu+IvlwiOyB9XG5cbi5mYS1iYXR0ZXJ5LTQ6YmVmb3JlLCAuZmEtYmF0dGVyeTpiZWZvcmUsIC5mYS1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogXCLviYBcIjsgfVxuXG4uZmEtYmF0dGVyeS0zOmJlZm9yZSwgLmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogXCLviYFcIjsgfVxuXG4uZmEtYmF0dGVyeS0yOmJlZm9yZSwgLmZhLWJhdHRlcnktaGFsZjpiZWZvcmUgeyBjb250ZW50OiBcIu+JglwiOyB9XG5cbi5mYS1iYXR0ZXJ5LTE6YmVmb3JlLCAuZmEtYmF0dGVyeS1xdWFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mDXCI7IH1cblxuLmZhLWJhdHRlcnktMDpiZWZvcmUsIC5mYS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mEXCI7IH1cblxuLmZhLW1vdXNlLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogXCLviYVcIjsgfVxuXG4uZmEtaS1jdXJzb3I6YmVmb3JlIHsgY29udGVudDogXCLviYZcIjsgfVxuXG4uZmEtb2JqZWN0LWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mHXCI7IH1cblxuLmZhLW9iamVjdC11bmdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mIXCI7IH1cblxuLmZhLXN0aWNreS1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mJXCI7IH1cblxuLmZhLXN0aWNreS1ub3RlLW86YmVmb3JlIHsgY29udGVudDogXCLviYpcIjsgfVxuXG4uZmEtY2MtamNiOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mLXCI7IH1cblxuLmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mMXCI7IH1cblxuLmZhLWNsb25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mNXCI7IH1cblxuLmZhLWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsgY29udGVudDogXCLviY5cIjsgfVxuXG4uZmEtaG91cmdsYXNzLW86YmVmb3JlIHsgY29udGVudDogXCLviZBcIjsgfVxuXG4uZmEtaG91cmdsYXNzLTE6YmVmb3JlLCAuZmEtaG91cmdsYXNzLXN0YXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mRXCI7IH1cblxuLmZhLWhvdXJnbGFzcy0yOmJlZm9yZSwgLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mSXCI7IH1cblxuLmZhLWhvdXJnbGFzcy0zOmJlZm9yZSwgLmZhLWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsgY29udGVudDogXCLviZNcIjsgfVxuXG4uZmEtaG91cmdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mUXCI7IH1cblxuLmZhLWhhbmQtZ3JhYi1vOmJlZm9yZSwgLmZhLWhhbmQtcm9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mVXCI7IH1cblxuLmZhLWhhbmQtc3RvcC1vOmJlZm9yZSwgLmZhLWhhbmQtcGFwZXItbzpiZWZvcmUgeyBjb250ZW50OiBcIu+JllwiOyB9XG5cbi5mYS1oYW5kLXNjaXNzb3JzLW86YmVmb3JlIHsgY29udGVudDogXCLviZdcIjsgfVxuXG4uZmEtaGFuZC1saXphcmQtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+JmFwiOyB9XG5cbi5mYS1oYW5kLXNwb2NrLW86YmVmb3JlIHsgY29udGVudDogXCLviZlcIjsgfVxuXG4uZmEtaGFuZC1wb2ludGVyLW86YmVmb3JlIHsgY29udGVudDogXCLviZpcIjsgfVxuXG4uZmEtaGFuZC1wZWFjZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mbXCI7IH1cblxuLmZhLXRyYWRlbWFyazpiZWZvcmUgeyBjb250ZW50OiBcIu+JnFwiOyB9XG5cbi5mYS1yZWdpc3RlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mdXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogXCLviZ5cIjsgfVxuXG4uZmEtZ2c6YmVmb3JlIHsgY29udGVudDogXCLviaBcIjsgfVxuXG4uZmEtZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mhXCI7IH1cblxuLmZhLXRyaXBhZHZpc29yOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74miXCI7IH1cblxuLmZhLW9kbm9rbGFzc25pa2k6YmVmb3JlIHsgY29udGVudDogXCLviaNcIjsgfVxuXG4uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCLviaRcIjsgfVxuXG4uZmEtZ2V0LXBvY2tldDpiZWZvcmUgeyBjb250ZW50OiBcIu+JpVwiOyB9XG5cbi5mYS13aWtpcGVkaWEtdzpiZWZvcmUgeyBjb250ZW50OiBcIu+JplwiOyB9XG5cbi5mYS1zYWZhcmk6YmVmb3JlIHsgY29udGVudDogXCLviadcIjsgfVxuXG4uZmEtY2hyb21lOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74moXCI7IH1cblxuLmZhLWZpcmVmb3g6YmVmb3JlIHsgY29udGVudDogXCLvialcIjsgfVxuXG4uZmEtb3BlcmE6YmVmb3JlIHsgY29udGVudDogXCLviapcIjsgfVxuXG4uZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogXCLviatcIjsgfVxuXG4uZmEtdHY6YmVmb3JlLCAuZmEtdGVsZXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiBcIu+JrFwiOyB9XG5cbi5mYS1jb250YW86YmVmb3JlIHsgY29udGVudDogXCLvia1cIjsgfVxuXG4uZmEtNTAwcHg6YmVmb3JlIHsgY29udGVudDogXCLvia5cIjsgfVxuXG4uZmEtYW1hem9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74mwXCI7IH1cblxuLmZhLWNhbGVuZGFyLXBsdXMtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+JsVwiOyB9XG5cbi5mYS1jYWxlbmRhci1taW51cy1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74myXCI7IH1cblxuLmZhLWNhbGVuZGFyLXRpbWVzLW86YmVmb3JlIHsgY29udGVudDogXCLvibNcIjsgfVxuXG4uZmEtY2FsZW5kYXItY2hlY2stbzpiZWZvcmUgeyBjb250ZW50OiBcIu+JtFwiOyB9XG5cbi5mYS1pbmR1c3RyeTpiZWZvcmUgeyBjb250ZW50OiBcIu+JtVwiOyB9XG5cbi5mYS1tYXAtcGluOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74m2XCI7IH1cblxuLmZhLW1hcC1zaWduczpiZWZvcmUgeyBjb250ZW50OiBcIu+Jt1wiOyB9XG5cbi5mYS1tYXAtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+JuFwiOyB9XG5cbi5mYS1tYXA6YmVmb3JlIHsgY29udGVudDogXCLviblcIjsgfVxuXG4uZmEtY29tbWVudGluZzpiZWZvcmUgeyBjb250ZW50OiBcIu+JulwiOyB9XG5cbi5mYS1jb21tZW50aW5nLW86YmVmb3JlIHsgY29udGVudDogXCLvibtcIjsgfVxuXG4uZmEtaG91eno6YmVmb3JlIHsgY29udGVudDogXCLvibxcIjsgfVxuXG4uZmEtdmltZW86YmVmb3JlIHsgY29udGVudDogXCLvib1cIjsgfVxuXG4uZmEtYmxhY2stdGllOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74m+XCI7IH1cblxuLmZhLWZvbnRpY29uczpiZWZvcmUgeyBjb250ZW50OiBcIu+KgFwiOyB9XG5cbi5mYS1yZWRkaXQtYWxpZW46YmVmb3JlIHsgY29udGVudDogXCLvioFcIjsgfVxuXG4uZmEtZWRnZTpiZWZvcmUgeyBjb250ZW50OiBcIu+KglwiOyB9XG5cbi5mYS1jcmVkaXQtY2FyZC1hbHQ6YmVmb3JlIHsgY29udGVudDogXCLvioNcIjsgfVxuXG4uZmEtY29kaWVwaWU6YmVmb3JlIHsgY29udGVudDogXCLvioRcIjsgfVxuXG4uZmEtbW9keDpiZWZvcmUgeyBjb250ZW50OiBcIu+KhVwiOyB9XG5cbi5mYS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHsgY29udGVudDogXCLvioZcIjsgfVxuXG4uZmEtdXNiOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qHXCI7IH1cblxuLmZhLXByb2R1Y3QtaHVudDpiZWZvcmUgeyBjb250ZW50OiBcIu+KiFwiOyB9XG5cbi5mYS1taXhjbG91ZDpiZWZvcmUgeyBjb250ZW50OiBcIu+KiVwiOyB9XG5cbi5mYS1zY3JpYmQ6YmVmb3JlIHsgY29udGVudDogXCLviopcIjsgfVxuXG4uZmEtcGF1c2UtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qLXCI7IH1cblxuLmZhLXBhdXNlLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qMXCI7IH1cblxuLmZhLXN0b3AtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qNXCI7IH1cblxuLmZhLXN0b3AtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogXCLvio5cIjsgfVxuXG4uZmEtc2hvcHBpbmctYmFnOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qQXCI7IH1cblxuLmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmUgeyBjb250ZW50OiBcIu+KkVwiOyB9XG5cbi5mYS1oYXNodGFnOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qSXCI7IH1cblxuLmZhLWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiBcIu+Kk1wiOyB9XG5cbi5mYS1ibHVldG9vdGgtYjpiZWZvcmUgeyBjb250ZW50OiBcIu+KlFwiOyB9XG5cbi5mYS1wZXJjZW50OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qVXCI7IH1cblxuLmZhLWdpdGxhYjpiZWZvcmUgeyBjb250ZW50OiBcIu+KllwiOyB9XG5cbi5mYS13cGJlZ2lubmVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qXXCI7IH1cblxuLmZhLXdwZm9ybXM6YmVmb3JlIHsgY29udGVudDogXCLviphcIjsgfVxuXG4uZmEtZW52aXJhOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qZXCI7IH1cblxuLmZhLXVuaXZlcnNhbC1hY2Nlc3M6YmVmb3JlIHsgY29udGVudDogXCLvippcIjsgfVxuXG4uZmEtd2hlZWxjaGFpci1hbHQ6YmVmb3JlIHsgY29udGVudDogXCLviptcIjsgfVxuXG4uZmEtcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogXCLvipxcIjsgfVxuXG4uZmEtYmxpbmQ6YmVmb3JlIHsgY29udGVudDogXCLvip1cIjsgfVxuXG4uZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogXCLvip5cIjsgfVxuXG4uZmEtdm9sdW1lLWNvbnRyb2wtcGhvbmU6YmVmb3JlIHsgY29udGVudDogXCLviqBcIjsgfVxuXG4uZmEtYnJhaWxsZTpiZWZvcmUgeyBjb250ZW50OiBcIu+KoVwiOyB9XG5cbi5mYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6YmVmb3JlIHsgY29udGVudDogXCLviqJcIjsgfVxuXG4uZmEtYXNsLWludGVycHJldGluZzpiZWZvcmUsIC5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmUgeyBjb250ZW50OiBcIu+Ko1wiOyB9XG5cbi5mYS1kZWFmbmVzczpiZWZvcmUsIC5mYS1oYXJkLW9mLWhlYXJpbmc6YmVmb3JlLCAuZmEtZGVhZjpiZWZvcmUgeyBjb250ZW50OiBcIu+KpFwiOyB9XG5cbi5mYS1nbGlkZTpiZWZvcmUgeyBjb250ZW50OiBcIu+KpVwiOyB9XG5cbi5mYS1nbGlkZS1nOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qmXCI7IH1cblxuLmZhLXNpZ25pbmc6YmVmb3JlLCAuZmEtc2lnbi1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiBcIu+Kp1wiOyB9XG5cbi5mYS1sb3ctdmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qoXCI7IH1cblxuLmZhLXZpYWRlbzpiZWZvcmUgeyBjb250ZW50OiBcIu+KqVwiOyB9XG5cbi5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qqXCI7IH1cblxuLmZhLXNuYXBjaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qrXCI7IH1cblxuLmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qsXCI7IH1cblxuLmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIu+KrVwiOyB9XG5cbi5mYS1waWVkLXBpcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74quXCI7IH1cblxuLmZhLWZpcnN0LW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qwXCI7IH1cblxuLmZhLXlvYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74qxXCI7IH1cblxuLmZhLXRoZW1laXNsZTpiZWZvcmUgeyBjb250ZW50OiBcIu+KslwiOyB9XG5cbi5mYS1nb29nbGUtcGx1cy1jaXJjbGU6YmVmb3JlLCAuZmEtZ29vZ2xlLXBsdXMtb2ZmaWNpYWw6YmVmb3JlIHsgY29udGVudDogXCLvirNcIjsgfVxuXG4uZmEtZmE6YmVmb3JlLCAuZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74q0XCI7IH1cblxuLmZhLWhhbmRzaGFrZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74q1XCI7IH1cblxuLmZhLWVudmVsb3BlLW9wZW46YmVmb3JlIHsgY29udGVudDogXCLvirZcIjsgfVxuXG4uZmEtZW52ZWxvcGUtb3Blbi1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74q3XCI7IH1cblxuLmZhLWxpbm9kZTpiZWZvcmUgeyBjb250ZW50OiBcIu+KuFwiOyB9XG5cbi5mYS1hZGRyZXNzLWJvb2s6YmVmb3JlIHsgY29udGVudDogXCLvirlcIjsgfVxuXG4uZmEtYWRkcmVzcy1ib29rLW86YmVmb3JlIHsgY29udGVudDogXCLvirpcIjsgfVxuXG4uZmEtdmNhcmQ6YmVmb3JlLCAuZmEtYWRkcmVzcy1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74q7XCI7IH1cblxuLmZhLXZjYXJkLW86YmVmb3JlLCAuZmEtYWRkcmVzcy1jYXJkLW86YmVmb3JlIHsgY29udGVudDogXCLvirxcIjsgfVxuXG4uZmEtdXNlci1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCLvir1cIjsgfVxuXG4uZmEtdXNlci1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+KvlwiOyB9XG5cbi5mYS11c2VyLW86YmVmb3JlIHsgY29udGVudDogXCLvi4BcIjsgfVxuXG4uZmEtaWQtYmFkZ2U6YmVmb3JlIHsgY29udGVudDogXCLvi4FcIjsgfVxuXG4uZmEtZHJpdmVycy1saWNlbnNlOmJlZm9yZSwgLmZhLWlkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogXCLvi4JcIjsgfVxuXG4uZmEtZHJpdmVycy1saWNlbnNlLW86YmVmb3JlLCAuZmEtaWQtY2FyZC1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74uDXCI7IH1cblxuLmZhLXF1b3JhOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74uEXCI7IH1cblxuLmZhLWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74uFXCI7IH1cblxuLmZhLXRlbGVncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74uGXCI7IH1cblxuLmZhLXRoZXJtb21ldGVyLTQ6YmVmb3JlLCAuZmEtdGhlcm1vbWV0ZXI6YmVmb3JlLCAuZmEtdGhlcm1vbWV0ZXItZnVsbDpiZWZvcmUgeyBjb250ZW50OiBcIu+Lh1wiOyB9XG5cbi5mYS10aGVybW9tZXRlci0zOmJlZm9yZSwgLmZhLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74uIXCI7IH1cblxuLmZhLXRoZXJtb21ldGVyLTI6YmVmb3JlLCAuZmEtdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiBcIu+LiVwiOyB9XG5cbi5mYS10aGVybW9tZXRlci0xOmJlZm9yZSwgLmZhLXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogXCLvi4pcIjsgfVxuXG4uZmEtdGhlcm1vbWV0ZXItMDpiZWZvcmUsIC5mYS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBcIu+Li1wiOyB9XG5cbi5mYS1zaG93ZXI6YmVmb3JlIHsgY29udGVudDogXCLvi4xcIjsgfVxuXG4uZmEtYmF0aHR1YjpiZWZvcmUsIC5mYS1zMTU6YmVmb3JlLCAuZmEtYmF0aDpiZWZvcmUgeyBjb250ZW50OiBcIu+LjVwiOyB9XG5cbi5mYS1wb2RjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74uOXCI7IH1cblxuLmZhLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUgeyBjb250ZW50OiBcIu+LkFwiOyB9XG5cbi5mYS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHsgY29udGVudDogXCLvi5FcIjsgfVxuXG4uZmEtd2luZG93LXJlc3RvcmU6YmVmb3JlIHsgY29udGVudDogXCLvi5JcIjsgfVxuXG4uZmEtdGltZXMtcmVjdGFuZ2xlOmJlZm9yZSwgLmZhLXdpbmRvdy1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiBcIu+Lk1wiOyB9XG5cbi5mYS10aW1lcy1yZWN0YW5nbGUtbzpiZWZvcmUsIC5mYS13aW5kb3ctY2xvc2UtbzpiZWZvcmUgeyBjb250ZW50OiBcIu+LlFwiOyB9XG5cbi5mYS1iYW5kY2FtcDpiZWZvcmUgeyBjb250ZW50OiBcIu+LlVwiOyB9XG5cbi5mYS1ncmF2OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74uWXCI7IH1cblxuLmZhLWV0c3k6YmVmb3JlIHsgY29udGVudDogXCLvi5dcIjsgfVxuXG4uZmEtaW1kYjpiZWZvcmUgeyBjb250ZW50OiBcIu+LmFwiOyB9XG5cbi5mYS1yYXZlbHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IFwi74uZXCI7IH1cblxuLmZhLWVlcmNhc3Q6YmVmb3JlIHsgY29udGVudDogXCLvi5pcIjsgfVxuXG4uZmEtbWljcm9jaGlwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74ubXCI7IH1cblxuLmZhLXNub3dmbGFrZS1vOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74ucXCI7IH1cblxuLmZhLXN1cGVycG93ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74udXCI7IH1cblxuLmZhLXdwZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogXCLvi55cIjsgfVxuXG4uZmEtbWVldHVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwi74ugXCI7IH1cblxuLnNyLW9ubHkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxcHg7IGhlaWdodDogMXB4OyBwYWRkaW5nOiAwOyBtYXJnaW46IC0xcHg7IG92ZXJmbG93OiBoaWRkZW47IGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IGJvcmRlcjogMDsgfVxuXG4uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLCAuc3Itb25seS1mb2N1c2FibGU6Zm9jdXMgeyBwb3NpdGlvbjogc3RhdGljOyB3aWR0aDogYXV0bzsgaGVpZ2h0OiBhdXRvOyBtYXJnaW46IDA7IG92ZXJmbG93OiB2aXNpYmxlOyBjbGlwOiBhdXRvOyB9XG5cbi8qISBIYW1idXJnZXJzIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2VycyBAYXV0aG9yIEpvbmF0aGFuIFN1aCBAam9uc3VoIEBzaXRlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2VycyAqL1xuLmhhbWJ1cmdlciB7IHBhZGRpbmc6IDEwcHggMTBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjsgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IGZvbnQ6IGluaGVyaXQ7IGNvbG9yOiBpbmhlcml0OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMDsgbWFyZ2luOiAwOyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uaGFtYnVyZ2VyOmhvdmVyLCBhLmhhbWJ1cmdlci5hY3RpdmUsIGJ1dHRvbi5oYW1idXJnZXIuYWN0aXZlIHsgb3BhY2l0eTogMC43OyB9XG5cbi5oYW1idXJnZXIuaXMtYWN0aXZlOmhvdmVyLCBhLmhhbWJ1cmdlci5pcy1hY3RpdmUuYWN0aXZlLCBidXR0b24uaGFtYnVyZ2VyLmlzLWFjdGl2ZS5hY3RpdmUgeyBvcGFjaXR5OiAwLjc7IH1cblxuLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciwgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmhhbWJ1cmdlci1ib3ggeyB3aWR0aDogMjJweDsgaGVpZ2h0OiAxNnB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFtYnVyZ2VyLWlubmVyIHsgZGlzcGxheTogYmxvY2s7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtMXB4OyB9XG5cbi5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIgeyB3aWR0aDogMjJweDsgaGVpZ2h0OiAycHg7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDRweDsgcG9zaXRpb246IGFic29sdXRlOyB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzOyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfVxuXG4uaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHsgY29udGVudDogXCJcIjsgZGlzcGxheTogYmxvY2s7IH1cblxuLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHsgdG9wOiAtN3B4OyB9XG5cbi5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHsgYm90dG9tOiAtN3B4OyB9XG5cbi8qIFN0YW5kICovXG4uaGFtYnVyZ2VyLS1zdGFuZCAuaGFtYnVyZ2VyLWlubmVyIHsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjA3NXMgbGluZWFyOyB9XG5cbi5oYW1idXJnZXItLXN0YW5kIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7IHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tc3RhbmQgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIgeyB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXN0YW5kLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjsgfVxuXG4uaGFtYnVyZ2VyLS1zdGFuZC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHsgdG9wOiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLmhhbWJ1cmdlci0tc3RhbmQuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHsgYm90dG9tOiAwOyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKiBTdGFuZCBSZXZlcnNlICovXG4uaGFtYnVyZ2VyLS1zdGFuZC1yIC5oYW1idXJnZXItaW5uZXIgeyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMDc1cyBsaW5lYXI7IH1cblxuLmhhbWJ1cmdlci0tc3RhbmQtciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUgeyB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMDc1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXN0YW5kLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIgeyB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXN0YW5kLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjsgfVxuXG4uaGFtYnVyZ2VyLS1zdGFuZC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUgeyB0b3A6IDA7IHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1zdGFuZC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7IGJvdHRvbTogMDsgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLyogT3dsIENhcm91c2VsIC0gQ29yZSAqL1xuLm93bC1jYXJvdXNlbCB7IGRpc3BsYXk6IG5vbmU7IHdpZHRoOiAxMDAlOyAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqLyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlIHsgcG9zaXRpb246IHJlbGF0aXZlOyAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTsgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovIH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHsgY29udGVudDogXCIuXCI7IGRpc3BsYXk6IGJsb2NrOyBjbGVhcjogYm90aDsgdmlzaWJpbGl0eTogaGlkZGVuOyBsaW5lLWhlaWdodDogMDsgaGVpZ2h0OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgLyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtd3JhcHBlciwgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0geyAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWluLWhlaWdodDogMXB4OyBmbG9hdDogbGVmdDsgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZCwgLm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQgeyBkaXNwbGF5OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2LCAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCwgLm93bC1jYXJvdXNlbCAub3dsLWRvdCB7IGN1cnNvcjogcG9pbnRlcjsgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOyAtbW96LXVzZXItc2VsZWN0OiBub25lOyAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LCAub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCwgLm93bC1jYXJvdXNlbCBidXR0b24ub3dsLWRvdCB7IGJhY2tncm91bmQ6IG5vbmU7IGNvbG9yOiBpbmhlcml0OyBib3JkZXI6IG5vbmU7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgZm9udDogaW5oZXJpdDsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1sb2FkZWQgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1sb2FkaW5nIHsgb3BhY2l0eTogMDsgZGlzcGxheTogYmxvY2s7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtaGlkZGVuIHsgb3BhY2l0eTogMDsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7IHRvdWNoLWFjdGlvbjogcGFuLXk7IC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7IC1tcy11c2VyLXNlbGVjdDogbm9uZTsgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtZ3JhYiB7IGN1cnNvcjogbW92ZTsgY3Vyc29yOiBncmFiOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLXJ0bCB7IGRpcmVjdGlvbjogcnRsOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW0geyBmbG9hdDogcmlnaHQ7IH1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLyogT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW4gKi9cbi5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVkIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7IGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLWluIHsgei1pbmRleDogMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0IHsgei1pbmRleDogMTsgfVxuXG4ub3dsLWNhcm91c2VsIC5mYWRlT3V0IHsgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHsgMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAwOyB9IH1cblxuLyogT3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luICovXG4ub3dsLWhlaWdodCB7IHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDsgfVxuXG4vKiBPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luICovXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7IC8qKiBUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3JvbmcgY2FsY3VsYXRpb24gb2YgdGhlIGhlaWdodCBvZiB0aGUgb3dsLWl0ZW0gdGhhdCBicmVha3MgcGFnZSBsYXlvdXRzICovIH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5IHsgb3BhY2l0eTogMDsgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenk6bm90KFtzcmNdKSB7IG1heC1oZWlnaHQ6IDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLm93bC1sYXp5IHsgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4vKiBPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiA4MHB4OyB3aWR0aDogODBweDsgbGVmdDogNTAlOyB0b3A6IDUwJTsgbWFyZ2luLWxlZnQ6IC00MHB4OyBtYXJnaW4tdG9wOiAtNDBweDsgYmFja2dyb3VuZDogdXJsKFwib3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDsgY3Vyc29yOiBwb2ludGVyOyB6LWluZGV4OiAxOyAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciwgLm93bC1jYXJvdXNlbCBhLm93bC12aWRlby1wbGF5LWljb24uYWN0aXZlLCAub3dsLWNhcm91c2VsIGJ1dHRvbi5vd2wtdmlkZW8tcGxheS1pY29uLmFjdGl2ZSB7IHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sIC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHsgZGlzcGxheTogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG4geyBvcGFjaXR5OiAwOyBoZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgfVxuXG4uZmVhdGhlcmxpZ2h0LWNsb3NlLWljb246YWZ0ZXIgeyBjb250ZW50OiBub25lOyB9XG5cbi8qKiBCcmFuZCBDb2xvcnMgSW1wb3J0YW50OiBJZiBjaGFuZ2luZyB0aGVtZSBjb2xvdXJzLCByZW1lbWJlciB0byBjaGFuZ2UgdGhlbSBpbiB0aGUgRUxGIGNoaWxkIHRoZW1lIHRvbyBmb3Igc3RyaW5nIHJlcGxhY2VtZW50ICovXG4vKiBvbGQgc3R5bGluZyBmYWxsYmFjayAqL1xuLnB3LXByb3RlY3QgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiogRm91bmRhdGlvbiBmb3IgU2l0ZXMgVmVyc2lvbiA2LjYuMyBodHRwczovL2dldC5mb3VuZGF0aW9uIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZSAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7IGxpbmUtaGVpZ2h0OiAxLjE1OyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7IG1hcmdpbjogMDsgfVxuXG5oMSB7IGZvbnQtc2l6ZTogMmVtOyBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbmhyIHsgYm94LXNpemluZzogY29udGVudC1ib3g7IGhlaWdodDogMDsgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxucHJlIHsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyBmb250LXNpemU6IDFlbTsgfVxuXG5hIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYWJiclt0aXRsZV0geyBib3JkZXItYm90dG9tOiBub25lOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9XG5cbmIsIHN0cm9uZywgLmNhcmQuY2FyZF9fcHVzaGRvd24uYWlybGluZXMgLmNvbnRlbnQtd3JhcCAuYWNjb3JkaW9uLWNvbnRlbnQgaDEsIC5jYXJkLmNhcmRfX3B1c2hkb3duLmFpcmxpbmVzIC5jb250ZW50LXdyYXAgLmFjY29yZGlvbi1jb250ZW50IGgyLCAuY2FyZC5jYXJkX19wdXNoZG93bi5haXJsaW5lcyAuY29udGVudC13cmFwIC5hY2NvcmRpb24tY29udGVudCBoMywgLmNhcmQuY2FyZF9fcHVzaGRvd24uYWlybGluZXMgLmNvbnRlbnQtd3JhcCAuYWNjb3JkaW9uLWNvbnRlbnQgaDQsIC5jYXJkLmNhcmRfX3B1c2hkb3duLmFpcmxpbmVzIC5jb250ZW50LXdyYXAgLmFjY29yZGlvbi1jb250ZW50IGg1LCAuY2FyZC5jYXJkX19wdXNoZG93bi5haXJsaW5lcyAuY29udGVudC13cmFwIC5hY2NvcmRpb24tY29udGVudCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZC5jYXJkX19wdXNoZG93bi5haXJsaW5lcyAuY29udGVudC13cmFwIC5hY2NvcmRpb24tY29udGVudCBwLCAuY2FyZC5jYXJkX19wdXNoZG93bi5haXJsaW5lcyAuY29udGVudC13cmFwIC5hY2NvcmRpb24tY29udGVudCBoNiwgLmNhcmQuY2FyZF9fcHVzaGRvd24uYWlybGluZXMgLmNvbnRlbnQtd3JhcCAuYWNjb3JkaW9uLWNvbnRlbnQgLnVwZGF0ZWQgLmRhdGUsIC51cGRhdGVkIC5jYXJkLmNhcmRfX3B1c2hkb3duLmFpcmxpbmVzIC5jb250ZW50LXdyYXAgLmFjY29yZGlvbi1jb250ZW50IC5kYXRlIHsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLCBrYmQsIHNhbXAgeyBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsIHsgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLCBzdXAgeyBmb250LXNpemU6IDc1JTsgbGluZS1oZWlnaHQ6IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7IGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAgeyB0b3A6IC0wLjVlbTsgfVxuXG5pbWcgeyBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEgeyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxMDAlOyBsaW5lLWhlaWdodDogMS4xNTsgbWFyZ2luOiAwOyB9XG5cbmJ1dHRvbiwgaW5wdXQgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sIHNlbGVjdCB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbiwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFt0eXBlPVwic3VibWl0XCJdIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIgeyBib3JkZXItc3R5bGU6IG5vbmU7IHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZywgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZywgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3JpbmcgeyBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQgeyBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6IGluaGVyaXQ7IGRpc3BsYXk6IHRhYmxlOyBtYXgtd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDA7IHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3MgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0geyAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHsgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEgeyBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGJhY2tncm91bmQ6ICNGRkY7IGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBXMDFfNjUgTWVkaXVtMTQ3NTUzMlwiLCBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogbm9ybWFsOyBsaW5lLWhlaWdodDogMS41OyBjb2xvcjogIzUyNTI0NTsgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7IGhlaWdodDogYXV0bzsgbWluLWhlaWdodDogNTBweDsgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbnNlbGVjdCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHdpZHRoOiAxMDAlOyBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLm1hcF9jYW52YXMgaW1nLCAubWFwX2NhbnZhcyBlbWJlZCwgLm1hcF9jYW52YXMgb2JqZWN0LCAubXFhLWRpc3BsYXkgaW1nLCAubXFhLWRpc3BsYXkgZW1iZWQsIC5tcWEtZGlzcGxheSBvYmplY3QgeyBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24geyBwYWRkaW5nOiAwOyBhcHBlYXJhbmNlOiBub25lOyBib3JkZXI6IDA7IGJvcmRlci1yYWRpdXM6IDVweDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGxpbmUtaGVpZ2h0OiAxOyBjdXJzb3I6IGF1dG87IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7IG91dGxpbmU6IDA7IH1cblxucHJlIHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEgeyBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHsgbWF4LXdpZHRoOiA4My43NXJlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4ucm93OjpiZWZvcmUsIC5yb3c6OmFmdGVyIHsgZGlzcGxheTogdGFibGU7IGNvbnRlbnQ6ICcgJzsgZmxleC1iYXNpczogMDsgb3JkZXI6IDE7IH1cblxuLnJvdzo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1yaWdodDogMDsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5yb3cgLnJvdyB7IG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5yb3cgLnJvdyB7IG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAucm93IC5yb3cgeyBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLnJvdyAucm93LmNvbGxhcHNlIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuXG4ucm93LmV4cGFuZGVkIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5yb3cuZXhwYW5kZWQgLnJvdyB7IG1hcmdpbi1yaWdodDogYXV0bzsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbi5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW5zIHsgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7IHdpZHRoOiAxMDAlOyBmbG9hdDogbGVmdDsgcGFkZGluZy1yaWdodDogMC42MjVyZW07IHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNvbHVtbiwgLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMsIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7IGZsb2F0OiBsZWZ0OyBjbGVhcjogbm9uZTsgfVxuXG4uY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgeyBmbG9hdDogcmlnaHQ7IH1cblxuLmNvbHVtbi5lbmQ6bGFzdC1jaGlsZDpsYXN0LWNoaWxkLCAuZW5kLmNvbHVtbnM6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHsgZmxvYXQ6IG5vbmU7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtOC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5zbWFsbC0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0yIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMgeyB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1wdXNoLTMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtcHVsbC0zIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC00IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC01IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYgeyB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1wdXNoLTYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtcHVsbC02IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC03IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTggeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC04IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkgeyB3aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1wdXNoLTkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtcHVsbC05IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xMCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEwIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0xMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTExIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMiB7IHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7IGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7IGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7IGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG5cbi5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7IGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7IGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG5cbi5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7IGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG5cbi5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7IGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDEyLjUlOyB9XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHsgY2xlYXI6IGJvdGg7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1yaWdodDogMDsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSAucm93IHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZXhwYW5kZWQucm93IC5zbWFsbC1jb2xsYXBzZS5yb3cgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbi5zbWFsbC1jZW50ZXJlZCB7IG1hcmdpbi1yaWdodDogYXV0bzsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7IGZsb2F0OiBub25lOyBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdW5jZW50ZXJlZCwgLnNtYWxsLXB1c2gtMCwgLnNtYWxsLXB1bGwtMCB7IHBvc2l0aW9uOiBzdGF0aWM7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsIC5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5zbWFsbC1wdXNoLTAsIC5zbWFsbC1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnNtYWxsLXB1bGwtMCwgLnNtYWxsLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHsgZmxvYXQ6IGxlZnQ7IGNsZWFyOiBub25lOyB9XG5cbi5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5zbWFsbC1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnNtYWxsLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWRpdW0tMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7IHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1wdXNoLTMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC00IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtNSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7IHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1wdXNoLTYgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC03IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtOCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7IHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1wdXNoLTkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMTAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTExIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHsgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7IGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7IGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7IGZsb2F0OiBsZWZ0OyB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7IGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7IGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMi41JTsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHsgcGFkZGluZy1yaWdodDogMDsgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgLnJvdyB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubWVkaXVtLWNvbGxhcHNlLnJvdyB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5tZWRpdW0tY2VudGVyZWQgeyBtYXJnaW4tcmlnaHQ6IGF1dG87IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5tZWRpdW0tY2VudGVyZWQsIC5tZWRpdW0tY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7IGZsb2F0OiBub25lOyBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVuY2VudGVyZWQsIC5tZWRpdW0tcHVzaC0wLCAubWVkaXVtLXB1bGwtMCB7IHBvc2l0aW9uOiBzdGF0aWM7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLCAubWVkaXVtLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLm1lZGl1bS1wdXNoLTAsIC5tZWRpdW0tcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5tZWRpdW0tcHVsbC0wLCAubWVkaXVtLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHsgZmxvYXQ6IGxlZnQ7IGNsZWFyOiBub25lOyB9XG4gIC5tZWRpdW0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubWVkaXVtLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubWVkaXVtLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHsgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxhcmdlLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtcHVzaC0zIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLXB1bGwtMyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC00IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC01IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtNSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtcHVzaC02IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLXB1bGwtNiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC03IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC04IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtOCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtcHVzaC05IHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLXB1bGwtOSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtMTAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xMCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtMTEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0xMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIgeyB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMgeyBmbG9hdDogbGVmdDsgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikgeyBjbGVhcjogbm9uZTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkgeyBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHsgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxMi41JTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7IGNsZWFyOiBub25lOyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7IGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgeyBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubGFyZ2UtY29sbGFwc2Uucm93IHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMgeyBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7IG1hcmdpbi1yaWdodDogYXV0bzsgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7IGZsb2F0OiBub25lOyBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdW5jZW50ZXJlZCwgLmxhcmdlLXB1c2gtMCwgLmxhcmdlLXB1bGwtMCB7IHBvc2l0aW9uOiBzdGF0aWM7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLXVuY2VudGVyZWQsIC5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5sYXJnZS1wdXNoLTAsIC5sYXJnZS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmxhcmdlLXB1bGwtMCwgLmxhcmdlLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHsgZmxvYXQ6IGxlZnQ7IGNsZWFyOiBub25lOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5sYXJnZS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmxhcmdlLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHsgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmNvbHVtbi1ibG9jayB7IG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY29sdW1uLWJsb2NrIHsgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lciB7IHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07IHBhZGRpbmctbGVmdDogMS4yNXJlbTsgbWF4LXdpZHRoOiA4My43NXJlbTsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1jb250YWluZXIgeyBwYWRkaW5nLXJpZ2h0OiAycmVtOyBwYWRkaW5nLWxlZnQ6IDJyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXIuZmx1aWQgeyBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IG1heC13aWR0aDogMTAwJTsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1jb250YWluZXIuZmx1aWQgeyBwYWRkaW5nLXJpZ2h0OiAycmVtOyBwYWRkaW5nLWxlZnQ6IDJyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXIuZnVsbCB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgbWF4LXdpZHRoOiAxMDAlOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLXggeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHsgZmxleDogMCAwIGF1dG87IG1pbi1oZWlnaHQ6IDBweDsgbWluLXdpZHRoOiAwcHg7IHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLmF1dG8geyBmbGV4OiAxIDEgMHB4OyB9XG5cbi5jZWxsLnNocmluayB7IGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7IHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHsgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7IGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHsgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIgeyBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7IGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7IHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7IHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7IHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7IHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLXggPiAubWVkaXVtLWF1dG8geyBmbGV4OiAxIDEgMHB4OyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIgeyBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsgeyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5ncmlkLXggPiAubGFyZ2UtYXV0byB7IGZsZXg6IDEgMSAwcHg7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHsgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsgeyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHsgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwgeyBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXggeyBtYXJnaW4tbGVmdDogLTAuNzVyZW07IG1hcmdpbi1yaWdodDogLTAuNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQtbWFyZ2luLXggeyBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLmNlbGwgeyB3aWR0aDogY2FsYygxMDAlIC0gMS41cmVtKTsgbWFyZ2luLWxlZnQ6IDAuNzVyZW07IG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyBtYXJnaW4tbGVmdDogMC42MjVyZW07IG1hcmdpbi1yaWdodDogMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHsgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHsgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7IHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHsgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHsgd2lkdGg6IGNhbGMoMjUlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHsgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHsgd2lkdGg6IGNhbGMoNTAlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHsgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHsgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHsgd2lkdGg6IGNhbGMoNzUlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7IHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEgeyB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEgeyB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIgeyB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHsgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUgeyB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHsgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7IHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTggeyB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHsgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAgeyB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7IHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHsgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7IHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHsgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQgeyB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7IHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHsgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcgeyB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7IHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHsgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHsgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHsgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEgeyB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIgeyB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHsgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUgeyB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHsgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7IHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTggeyB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHsgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAgeyB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7IHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7IG1hcmdpbi1yaWdodDogLTAuNzVyZW07IG1hcmdpbi1sZWZ0OiAtMC43NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHsgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7IG1hcmdpbi1yaWdodDogLTAuNzVyZW07IG1hcmdpbi1sZWZ0OiAtMC43NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7IG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwgeyBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtOyBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwgeyBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbi5zbWFsbC11cC0xID4gLmNlbGwgeyB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHsgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsIHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsIHsgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHsgd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHsgd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHsgd2lkdGg6IDEyLjUlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWRpdW0tdXAtMSA+IC5jZWxsIHsgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwgeyB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7IHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwgeyB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7IHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwgeyB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtdXAtMSA+IC5jZWxsIHsgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7IHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7IHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7IHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7IHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7IHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDEwMCUgLSAxLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDUwJSAtIDEuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwgeyB3aWR0aDogY2FsYygyNSUgLSAxLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDIwJSAtIDEuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwgeyB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDEyLjUlIC0gMS41cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwgeyB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwgeyB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwgeyB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwgeyB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7IHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7IHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7IHdpZHRoOiA3NSU7IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7IHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7IHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7IHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7IHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7IHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7IHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7IHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHsgcGFkZGluZy1yaWdodDogMDsgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHsgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHsgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHsgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHsgcGFkZGluZy1yaWdodDogMDsgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC43NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC43NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNzVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjc1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC43NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7IG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC43NXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC43NXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm1lZGl1bS1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHsgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjYyNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2Utb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC42MjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjYyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC42MjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjYyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC42MjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjYyNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7IG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuNjI1cmVtKTsgfSB9XG5cbi5ncmlkLXkgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cblxuLmdyaWQteSA+IC5jZWxsIHsgaGVpZ2h0OiBhdXRvOyBtYXgtaGVpZ2h0OiBub25lOyB9XG5cbi5ncmlkLXkgPiAuYXV0byB7IGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC15ID4gLnNocmluayB7IGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHsgZmxleC1iYXNpczogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIgeyBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7IGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHsgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteSA+IC5zbWFsbC0xIHsgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTIgeyBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTMgeyBoZWlnaHQ6IDI1JTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTQgeyBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTUgeyBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTYgeyBoZWlnaHQ6IDUwJTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTcgeyBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTggeyBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTkgeyBoZWlnaHQ6IDc1JTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTEwIHsgaGVpZ2h0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQteSA+IC5zbWFsbC0xMSB7IGhlaWdodDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXkgPiAuc21hbGwtMTIgeyBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7IGZsZXg6IDEgMSAwcHg7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIgeyBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMSB7IGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMiB7IGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTMgeyBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS00IHsgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNSB7IGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTYgeyBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS03IHsgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tOCB7IGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTkgeyBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7IGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTExIHsgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTIgeyBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuZ3JpZC15ID4gLmxhcmdlLWF1dG8geyBmbGV4OiAxIDEgMHB4OyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIgeyBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEgeyBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMiB7IGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMyB7IGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNCB7IGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNSB7IGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNiB7IGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNyB7IGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtOCB7IGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtOSB7IGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTAgeyBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTExIHsgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMiB7IGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkgeyBtYXJnaW4tdG9wOiAtMC43NXJlbTsgbWFyZ2luLWJvdHRvbTogLTAuNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7IG1hcmdpbi10b3A6IC0wLjYyNXJlbTsgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwgeyBwYWRkaW5nLXRvcDogMC43NXJlbTsgcGFkZGluZy1ib3R0b206IDAuNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwgeyBwYWRkaW5nLXRvcDogMC42MjVyZW07IHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHsgbWFyZ2luLXRvcDogLTAuNzVyZW07IG1hcmdpbi1ib3R0b206IC0wLjc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLW1hcmdpbi15IHsgbWFyZ2luLXRvcDogLTAuNjI1cmVtOyBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjVyZW0pOyBtYXJnaW4tdG9wOiAwLjc1cmVtOyBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLW1hcmdpbi15ID4gLmNlbGwgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7IGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHsgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7IGhlaWdodDogY2FsYygyNSUgLSAxLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHsgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7IGhlaWdodDogY2FsYyg1MCUgLSAxLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHsgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7IGhlaWdodDogY2FsYyg3NSUgLSAxLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEgeyBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7IGhlaWdodDogY2FsYygxMDAlIC0gMS41cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7IGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7IGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7IGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7IGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgZmxleC13cmFwOiBub3dyYXA7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUgeyB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7IG92ZXJmbG93LXg6IGF1dG87IG1heC13aWR0aDogMTAwJTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHsgb3ZlcmZsb3cteTogYXV0bzsgbWF4LWhlaWdodDogMTAwJTsgbWluLWhlaWdodDogMTAwJTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBtYXgtaGVpZ2h0OiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXggeyBtYXgtaGVpZ2h0OiAxMDAlOyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAubWVkaXVtLWdyaWQtZnJhbWUgeyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IGZsZXgtd3JhcDogbm93cmFwOyBhbGlnbi1pdGVtczogc3RyZXRjaDsgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7IHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7IG92ZXJmbG93LXg6IGF1dG87IG1heC13aWR0aDogMTAwJTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgbWF4LWhlaWdodDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7IG1heC1oZWlnaHQ6IDEwMCU7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHsgb3ZlcmZsb3cteTogYXV0bzsgbWF4LWhlaWdodDogMTAwJTsgbWluLWhlaWdodDogMTAwJTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5sYXJnZS1ncmlkLWZyYW1lIHsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyBmbGV4LXdyYXA6IG5vd3JhcDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7IHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHsgb3ZlcmZsb3cteDogYXV0bzsgbWF4LXdpZHRoOiAxMDAlOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7IG1heC1oZWlnaHQ6IDEwMCU7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkgeyBvdmVyZmxvdy15OiBhdXRvOyBtYXgtaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiAxMDAlOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHsgd2lkdGg6IGF1dG87IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgZmxleC13cmFwOiBub3dyYXA7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyBoZWlnaHQ6IDEwMHZoOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUgeyB3aWR0aDogYXV0bzsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyBmbGV4LXdyYXA6IG5vd3JhcDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUgeyB3aWR0aDogYXV0bzsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyBmbGV4LXdyYXA6IG5vd3JhcDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUgeyBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7IGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7IGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHsgbWFyZ2luLXRvcDogLTAuNzVyZW07IG1hcmdpbi1ib3R0b206IC0wLjc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLW1hcmdpbi15IHsgbWFyZ2luLXRvcDogLTAuNjI1cmVtOyBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjVyZW0pOyBtYXJnaW4tdG9wOiAwLjc1cmVtOyBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLW1hcmdpbi15ID4gLmNlbGwgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7IGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHsgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7IGhlaWdodDogY2FsYygyNSUgLSAxLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHsgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7IGhlaWdodDogY2FsYyg1MCUgLSAxLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHsgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7IGhlaWdodDogY2FsYyg3NSUgLSAxLjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEgeyBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS41cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7IGhlaWdodDogY2FsYygxMDAlIC0gMS41cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7IGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7IGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7IGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7IGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHsgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS41cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHsgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHsgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7IGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7IGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cblxuLmFsaWduLWxlZnQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3AgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3AgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHsgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHsgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHsgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIgeyBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7IG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHsgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUgeyBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7IG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWRpdW0tb3JkZXItMSB7IG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7IG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7IG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7IG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7IG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7IG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxhcmdlLW9yZGVyLTEgeyBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7IG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHsgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQgeyBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7IG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHsgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8geyBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHsgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHsgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAubWVkaXVtLWZsZXgtY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7IGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHsgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7IGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxhcmdlLWZsZXgtY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHsgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7IGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7IGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5kaXYsIGRsLCBkdCwgZGQsIHVsLCBvbCwgbGksIGgxLCBoMiwgaDMsIGg0LCBoNSwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgaDYsIC51cGRhdGVkIC5kYXRlLCBwcmUsIGZvcm0sIHAsIGJsb2NrcXVvdGUsIHRoLCB0ZCB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuXG5wIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgZm9udC1zaXplOiBpbmhlcml0OyBsaW5lLWhlaWdodDogMS42OyB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLCBpIHsgZm9udC1zdHlsZTogaXRhbGljOyBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsIC5jYXJkLmNhcmRfX3B1c2hkb3duLmFpcmxpbmVzIC5jb250ZW50LXdyYXAgLmFjY29yZGlvbi1jb250ZW50IGgxLCAuY2FyZC5jYXJkX19wdXNoZG93bi5haXJsaW5lcyAuY29udGVudC13cmFwIC5hY2NvcmRpb24tY29udGVudCBoMiwgLmNhcmQuY2FyZF9fcHVzaGRvd24uYWlybGluZXMgLmNvbnRlbnQtd3JhcCAuYWNjb3JkaW9uLWNvbnRlbnQgaDMsIC5jYXJkLmNhcmRfX3B1c2hkb3duLmFpcmxpbmVzIC5jb250ZW50LXdyYXAgLmFjY29yZGlvbi1jb250ZW50IGg0LCAuY2FyZC5jYXJkX19wdXNoZG93bi5haXJsaW5lcyAuY29udGVudC13cmFwIC5hY2NvcmRpb24tY29udGVudCBoNSwgLmNhcmQuY2FyZF9fcHVzaGRvd24uYWlybGluZXMgLmNvbnRlbnQtd3JhcCAuYWNjb3JkaW9uLWNvbnRlbnQgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQuY2FyZF9fcHVzaGRvd24uYWlybGluZXMgLmNvbnRlbnQtd3JhcCAuYWNjb3JkaW9uLWNvbnRlbnQgcCwgLmNhcmQuY2FyZF9fcHVzaGRvd24uYWlybGluZXMgLmNvbnRlbnQtd3JhcCAuYWNjb3JkaW9uLWNvbnRlbnQgaDYsIC5jYXJkLmNhcmRfX3B1c2hkb3duLmFpcmxpbmVzIC5jb250ZW50LXdyYXAgLmFjY29yZGlvbi1jb250ZW50IC51cGRhdGVkIC5kYXRlLCAudXBkYXRlZCAuY2FyZC5jYXJkX19wdXNoZG93bi5haXJsaW5lcyAuY29udGVudC13cmFwIC5hY2NvcmRpb24tY29udGVudCAuZGF0ZSwgYiB7IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7IGZvbnQtc2l6ZTogODAlOyBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0LCBoNSwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgLmg1LCBoNiwgLnVwZGF0ZWQgLmRhdGUsIC5oNiB7IGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBXMDFfODUgSGVhdnkxNDc1NTQ0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICMwNDMyNjM7IHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuaDEgc21hbGwsIC5oMSBzbWFsbCwgaDIgc21hbGwsIC5oMiBzbWFsbCwgaDMgc21hbGwsIC5oMyBzbWFsbCwgaDQgc21hbGwsIC5oNCBzbWFsbCwgaDUgc21hbGwsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAgc21hbGwsIC5oNSBzbWFsbCwgaDYgc21hbGwsIC51cGRhdGVkIC5kYXRlIHNtYWxsLCAuaDYgc21hbGwgeyBsaW5lLWhlaWdodDogMDsgY29sb3I6ICNCMUIxQjE7IH1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogMi4zNzVyZW07IGxpbmUtaGVpZ2h0OiAxLjA1MjYzOyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAxLjQzNzVyZW07IH1cblxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogMS44NzVyZW07IGxpbmUtaGVpZ2h0OiAxLjA2NjY3OyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAxLjMxMjVyZW07IH1cblxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogMS41NjI1cmVtOyBsaW5lLWhlaWdodDogMS4wNDsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMS4xODc1cmVtOyB9XG5cbmg0LCAuaDQgeyBmb250LXNpemU6IDEuMTI1cmVtOyBsaW5lLWhlaWdodDogMS4zMzMzMzsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5oNSwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgLmg1IHsgZm9udC1zaXplOiAxcmVtOyBsaW5lLWhlaWdodDogMS41OyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmg2LCAudXBkYXRlZCAuZGF0ZSwgLmg2IHsgZm9udC1zaXplOiAxcmVtOyBsaW5lLWhlaWdodDogMS41OyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IGgxLCAuaDEgeyBmb250LXNpemU6IDIuNjI1cmVtOyBsaW5lLWhlaWdodDogMS4xNDI4NjsgbWFyZ2luLWJvdHRvbTogMS42MjVyZW07IH1cbiAgaDIsIC5oMiB7IGZvbnQtc2l6ZTogMi4xMjVyZW07IGxpbmUtaGVpZ2h0OiAxLjIzNTI5OyBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgaDMsIC5oMyB7IGZvbnQtc2l6ZTogMS42MjVyZW07IGxpbmUtaGVpZ2h0OiAxLjIzMDc3OyBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTsgfVxuICBoNCwgLmg0IHsgZm9udC1zaXplOiAxLjM3NXJlbTsgbGluZS1oZWlnaHQ6IDEuMjcyNzM7IG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgIGg1LCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCAuaDUgeyBmb250LXNpemU6IDEuMTI1cmVtOyBsaW5lLWhlaWdodDogMS4zMzMzMzsgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgaDYsIC51cGRhdGVkIC5kYXRlLCAuaDYgeyBmb250LXNpemU6IDFyZW07IGxpbmUtaGVpZ2h0OiAxLjU7IG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyBoMSwgLmgxIHsgZm9udC1zaXplOiAyLjkzNzVyZW07IGxpbmUtaGVpZ2h0OiAxLjEwNjM4OyBtYXJnaW4tYm90dG9tOiAxLjc1cmVtOyB9XG4gIGgyLCAuaDIgeyBmb250LXNpemU6IDIuMzc1cmVtOyBsaW5lLWhlaWdodDogMS4xODQyMTsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIGgzLCAuaDMgeyBmb250LXNpemU6IDEuODc1cmVtOyBsaW5lLWhlaWdodDogMS4xNjY2NzsgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07IH1cbiAgaDQsIC5oNCB7IGZvbnQtc2l6ZTogMS41NjI1cmVtOyBsaW5lLWhlaWdodDogMS4xMjsgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgaDUsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIC5oNSB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgbGluZS1oZWlnaHQ6IDEuMzsgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgaDYsIC51cGRhdGVkIC5kYXRlLCAuaDYgeyBmb250LXNpemU6IDFyZW07IGxpbmUtaGVpZ2h0OiAxLjU7IG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG5hIHsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IGNvbG9yOiAjMDQzMjYzOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmE6aG92ZXIsIGEuYWN0aXZlLCBhLmJ1dHRvbi5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlLCBhOmZvY3VzIHsgY29sb3I6ICMwRjU4OUE7IH1cblxuYSBpbWcgeyBib3JkZXI6IDA7IH1cblxuaHIgeyBjbGVhcjogYm90aDsgbWF4LXdpZHRoOiA4My43NXJlbTsgaGVpZ2h0OiAwOyBtYXJnaW46IDEuMjVyZW0gYXV0bzsgYm9yZGVyLXRvcDogMDsgYm9yZGVyLXJpZ2h0OiAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0IxQjFCMTsgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsIG9sLCBkbCB7IG1hcmdpbi1ib3R0b206IDFyZW07IGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7IGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkgeyBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwgeyBtYXJnaW4tbGVmdDogMS4yNXJlbTsgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHsgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wgeyBtYXJnaW4tbGVmdDogMS4yNXJlbTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuZGwgZHQgeyBtYXJnaW4tYm90dG9tOiAwLjNyZW07IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUgeyBtYXJnaW46IDAgMCAxcmVtOyBwYWRkaW5nOiAwLjVyZW0gMS43NXJlbSAwLjA2MjVyZW0gMS43NXJlbTsgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cblxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6ICMwNDMyNjM7IH1cblxuYWJiciwgYWJiclt0aXRsZV0geyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDA7IGN1cnNvcjogaGVscDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7IG1hcmdpbjogMDsgfVxuXG5rYmQgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDsgYmFja2dyb3VuZC1jb2xvcjogI0U0RTRFNDsgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFcwMV82NSBNZWRpdW0xNDc1NTMyXCIsIHNhbnMtc2VyaWY7IGNvbG9yOiAjMDAwOyBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLnN1YmhlYWRlciB7IG1hcmdpbi10b3A6IDAuMnJlbTsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyBmb250LXdlaWdodDogbm9ybWFsOyBsaW5lLWhlaWdodDogMS40OyBjb2xvcjogIzcwNzA3MDsgfVxuXG4ubGVhZCB7IGZvbnQtc2l6ZTogMTI1JTsgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7IGZvbnQtc2l6ZTogMi41cmVtOyBsaW5lLWhlaWdodDogMTsgfVxuXG5wICsgLnN0YXQgeyBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7IG1hcmdpbi1sZWZ0OiAwOyBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jaXRlLWJsb2NrLCBjaXRlIHsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiAjNzA3MDcwOyBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4uY2l0ZS1ibG9jazpiZWZvcmUsIGNpdGU6YmVmb3JlIHsgY29udGVudDogXCLigJQgXCI7IH1cblxuLmNvZGUtaW5saW5lLCBjb2RlIHsgYm9yZGVyOiAxcHggc29saWQgI0IxQjFCMTsgYmFja2dyb3VuZC1jb2xvcjogI0U0RTRFNDsgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFcwMV82NSBNZWRpdW0xNDc1NTMyXCIsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGNvbG9yOiAjMDAwOyBkaXNwbGF5OiBpbmxpbmU7IG1heC13aWR0aDogMTAwJTsgd29yZC13cmFwOiBicmVhay13b3JkOyBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtOyB9XG5cbi5jb2RlLWJsb2NrIHsgYm9yZGVyOiAxcHggc29saWQgI0IxQjFCMTsgYmFja2dyb3VuZC1jb2xvcjogI0U0RTRFNDsgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFcwMV82NSBNZWRpdW0xNDc1NTMyXCIsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGNvbG9yOiAjMDAwOyBkaXNwbGF5OiBibG9jazsgb3ZlcmZsb3c6IGF1dG87IHdoaXRlLXNwYWNlOiBwcmU7IHBhZGRpbmc6IDFyZW07IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4udGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAubWVkaXVtLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQgeyAqIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IGNvbG9yLWFkanVzdDogZWNvbm9teTsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLCBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuaXIgYTphZnRlciwgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlciwgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLCBibG9ja3F1b3RlIHsgYm9yZGVyOiAxcHggc29saWQgIzcwNzA3MDsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLCBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG4gIHAsIGgyLCBoMyB7IG9ycGhhbnM6IDM7IHdpZG93czogMzsgfVxuICBoMiwgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHsgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uLCBsaS5mYXV4LWJ1dHRvbiBhIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBtYXJnaW46IDAgMCAxcmVtIDA7IHBhZGRpbmc6IDEuMjVlbSAyLjhlbSAxLjI1ZW0gMS40ZW07IGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItcmFkaXVzOiA1cHg7IHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0OyBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgVzAxXzg1IEhlYXZ5MTQ3NTU0NFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMS4xMjVyZW07IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgbGluZS1oZWlnaHQ6IDE7IHRleHQtYWxpZ246IGNlbnRlcjsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGEgeyBvdXRsaW5lOiAwOyB9XG5cbi5idXR0b24udGlueSwgbGkuZmF1eC1idXR0b24gYS50aW55IHsgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uYnV0dG9uLnNtYWxsLCBsaS5mYXV4LWJ1dHRvbiBhLnNtYWxsIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uYnV0dG9uLmxhcmdlLCBsaS5mYXV4LWJ1dHRvbiBhLmxhcmdlIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uYnV0dG9uLmV4cGFuZGVkLCBsaS5mYXV4LWJ1dHRvbiBhLmV4cGFuZGVkIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5idXR0b24sIGxpLmZhdXgtYnV0dG9uIGEsIC5idXR0b24uZGlzYWJsZWQsIGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdLCBsaS5mYXV4LWJ1dHRvbiBhW2Rpc2FibGVkXSwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYS5idXR0b24uZGlzYWJsZWQuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLmRpc2FibGVkLmFjdGl2ZSwgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZC5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCBhLmJ1dHRvbi5hY3RpdmVbZGlzYWJsZWRdLCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZVtkaXNhYmxlZF0sIGJ1dHRvbi5idXR0b24uYWN0aXZlW2Rpc2FibGVkXSwgbGkuZmF1eC1idXR0b24gYVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCBsaS5mYXV4LWJ1dHRvbiBhW2Rpc2FibGVkXTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICNGREM0MDA7IGNvbG9yOiAjMDQzMjYzOyB9XG5cbi5idXR0b246aG92ZXIsIGEuYnV0dG9uLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5hY3RpdmUsIGJ1dHRvbi5idXR0b24uYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhOmhvdmVyLCAuYnV0dG9uOmZvY3VzLCBsaS5mYXV4LWJ1dHRvbiBhOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogIzA0MzI2MzsgY29sb3I6ICMwNDMyNjM7IH1cblxuLmJ1dHRvbi5ob2xsb3csIGxpLmZhdXgtYnV0dG9uIGEuaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgYS5idXR0b24uaG9sbG93LmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5ob2xsb3cuYWN0aXZlLCBidXR0b24uYnV0dG9uLmhvbGxvdy5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgbGkuZmF1eC1idXR0b24gYS5ob2xsb3c6Zm9jdXMsIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCBsaS5mYXV4LWJ1dHRvbiBhLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIGEuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZC5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuaG9sbG93LmRpc2FibGVkLmFjdGl2ZSwgYnV0dG9uLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIGEuaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIGxpLmZhdXgtYnV0dG9uIGEuaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCBhLmJ1dHRvbi5ob2xsb3cuYWN0aXZlW2Rpc2FibGVkXSwgbGkuZmF1eC1idXR0b24gYS5ob2xsb3cuYWN0aXZlW2Rpc2FibGVkXSwgYnV0dG9uLmJ1dHRvbi5ob2xsb3cuYWN0aXZlW2Rpc2FibGVkXSwgbGkuZmF1eC1idXR0b24gYS5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIGEuaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5idXR0b24uaG9sbG93LCBsaS5mYXV4LWJ1dHRvbiBhLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIGxpLmZhdXgtYnV0dG9uIGEuaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIGxpLmZhdXgtYnV0dG9uIGEuaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIGEuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZC5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuaG9sbG93LmRpc2FibGVkLmFjdGl2ZSwgYnV0dG9uLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCBhLmJ1dHRvbi5ob2xsb3cuYWN0aXZlW2Rpc2FibGVkXSwgbGkuZmF1eC1idXR0b24gYS5ob2xsb3cuYWN0aXZlW2Rpc2FibGVkXSwgYnV0dG9uLmJ1dHRvbi5ob2xsb3cuYWN0aXZlW2Rpc2FibGVkXSwgbGkuZmF1eC1idXR0b24gYS5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgbGkuZmF1eC1idXR0b24gYS5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cywgbGkuZmF1eC1idXR0b24gYS5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHsgYm9yZGVyOiAxcHggc29saWQgI0ZEQzQwMDsgY29sb3I6ICNGREM0MDA7IH1cblxuLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIGEuYnV0dG9uLmhvbGxvdy5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuaG9sbG93LmFjdGl2ZSwgYnV0dG9uLmJ1dHRvbi5ob2xsb3cuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIGEuaG9sbG93OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiAjN2Y2MjAwOyBjb2xvcjogIzdmNjIwMDsgfVxuXG4uYnV0dG9uLmNsZWFyLCBsaS5mYXV4LWJ1dHRvbiBhLmNsZWFyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCBhLmJ1dHRvbi5jbGVhci5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXIuYWN0aXZlLCBidXR0b24uYnV0dG9uLmNsZWFyLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgbGkuZmF1eC1idXR0b24gYS5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgbGkuZmF1eC1idXR0b24gYS5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgYS5idXR0b24uY2xlYXIuZGlzYWJsZWQuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLmNsZWFyLmRpc2FibGVkLmFjdGl2ZSwgYnV0dG9uLmJ1dHRvbi5jbGVhci5kaXNhYmxlZC5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCBsaS5mYXV4LWJ1dHRvbiBhLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIGEuYnV0dG9uLmNsZWFyLmFjdGl2ZVtkaXNhYmxlZF0sIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXIuYWN0aXZlW2Rpc2FibGVkXSwgYnV0dG9uLmJ1dHRvbi5jbGVhci5hY3RpdmVbZGlzYWJsZWRdLCBsaS5mYXV4LWJ1dHRvbiBhLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmJ1dHRvbi5jbGVhciwgbGkuZmF1eC1idXR0b24gYS5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgbGkuZmF1eC1idXR0b24gYS5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCBhLmJ1dHRvbi5jbGVhci5kaXNhYmxlZC5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXIuZGlzYWJsZWQuYWN0aXZlLCBidXR0b24uYnV0dG9uLmNsZWFyLmRpc2FibGVkLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIGEuYnV0dG9uLmNsZWFyLmFjdGl2ZVtkaXNhYmxlZF0sIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXIuYWN0aXZlW2Rpc2FibGVkXSwgYnV0dG9uLmJ1dHRvbi5jbGVhci5hY3RpdmVbZGlzYWJsZWRdLCBsaS5mYXV4LWJ1dHRvbiBhLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgbGkuZmF1eC1idXR0b24gYS5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHsgY29sb3I6ICNGREM0MDA7IH1cblxuLmJ1dHRvbi5jbGVhcjpob3ZlciwgYS5idXR0b24uY2xlYXIuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLmNsZWFyLmFjdGl2ZSwgYnV0dG9uLmJ1dHRvbi5jbGVhci5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXI6Zm9jdXMgeyBjb2xvcjogIzdmNjIwMDsgfVxuXG4uYnV0dG9uLmRpc2FibGVkLCBsaS5mYXV4LWJ1dHRvbiBhLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSwgbGkuZmF1eC1idXR0b24gYVtkaXNhYmxlZF0geyBvcGFjaXR5OiAxOyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24uZHJvcGRvd246OmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLmRyb3Bkb3duOjphZnRlciB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBib3JkZXI6IGluc2V0IDAuNGVtOyBjb250ZW50OiAnJzsgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogI0ZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDAuNGVtOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZsb2F0OiByaWdodDsgbWFyZ2luLWxlZnQ6IDIuOGVtOyB9XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgbGkuZmF1eC1idXR0b24gYS5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyOjphZnRlciwgbGkuZmF1eC1idXR0b24gYS5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAjRkRDNDAwOyB9XG5cbi5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEuYXJyb3ctb25seTo6YWZ0ZXIgeyB0b3A6IC0wLjFlbTsgZmxvYXQ6IG5vbmU7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbi5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cywgbGkuZmF1eC1idXR0b24gYTpmb2N1cyB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sIHRleHRhcmVhIHsgZGlzcGxheTogYmxvY2s7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDIuMzc1cmVtOyBtYXJnaW46IDAgMCAxLjg3NXJlbTsgcGFkZGluZzogMC40Njg3NXJlbSAwOyBib3JkZXI6IG5vbmU7IGJvcmRlci1yYWRpdXM6IDA7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBib3gtc2hhZG93OiBub25lOyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiAxcmVtOyBmb250LXdlaWdodDogbm9ybWFsOyBsaW5lLWhlaWdodDogMS41OyBjb2xvcjogIzA0MzI2MzsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLCB0ZXh0YXJlYTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IGJvcmRlcjogbm9uZTsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGJveC1zaGFkb3c6IG5vbmU7IHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbnRleHRhcmVhW3Jvd3NdIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sIHRleHRhcmVhOmRpc2FibGVkLCB0ZXh0YXJlYVtyZWFkb25seV0geyBiYWNrZ3JvdW5kLWNvbG9yOiAjRTRFNEU0OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSwgW3R5cGU9J2J1dHRvbiddIHsgYXBwZWFyYW5jZTogbm9uZTsgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG46OnBsYWNlaG9sZGVyIHsgY29sb3I6ICM1MjUyNDU7IH1cblxuW3R5cGU9J2ZpbGUnXSwgW3R5cGU9J2NoZWNrYm94J10sIFt0eXBlPSdyYWRpbyddIHsgbWFyZ2luOiAwIDAgMS44NzVyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCwgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtOyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSwgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10geyBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHsgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luOiAwOyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LXdlaWdodDogbm9ybWFsOyBsaW5lLWhlaWdodDogMS44OyBjb2xvcjogIzAwMDsgfVxuXG5sYWJlbC5taWRkbGUgeyBtYXJnaW46IDAgMCAxLjg3NXJlbTsgcGFkZGluZzogMC45Mzc1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7IG1hcmdpbi10b3A6IC0wLjkzNzVyZW07IGZvbnQtc2l6ZTogMC44MTI1cmVtOyBmb250LXN0eWxlOiBpdGFsaWM7IGNvbG9yOiAjMDAwOyB9XG5cbi5pbnB1dC1ncm91cCB7IGRpc3BsYXk6IGZsZXg7IHdpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7IGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICogeyBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHsgbWFyZ2luOiAwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7IHBhZGRpbmc6IDAgMXJlbTsgYm9yZGVyOiAxcHggc29saWQgI0IxQjFCMTsgYmFja2dyb3VuZDogI0U0RTRFNDsgY29sb3I6ICMwMDA7IHRleHQtYWxpZ246IGNlbnRlcjsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgZGlzcGxheTogZmxleDsgZmxleDogMCAwIGF1dG87IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHsgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHsgYm9yZGVyLXJhZGl1czogMDsgZmxleDogMSAxIDBweDsgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24geyBwYWRkaW5nLXRvcDogMDsgcGFkZGluZy1ib3R0b206IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgZGlzcGxheTogZmxleDsgZmxleDogMCAwIGF1dG87IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7IGhlaWdodDogYXV0bzsgcGFkZGluZy10b3A6IDA7IHBhZGRpbmctYm90dG9tOiAwOyBmb250LXNpemU6IDFyZW07IH1cblxuZmllbGRzZXQgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGJvcmRlcjogMDsgfVxuXG5sZWdlbmQgeyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG4uZmllbGRzZXQgeyBtYXJnaW46IDEuMTI1cmVtIDA7IHBhZGRpbmc6IDEuMjVyZW07IGJvcmRlcjogMXB4IHNvbGlkICNCMUIxQjE7IH1cblxuLmZpZWxkc2V0IGxlZ2VuZCB7IG1hcmdpbjogMDsgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07IHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7IGhlaWdodDogMi4zNzVyZW07IG1hcmdpbjogMCAwIDEuODc1cmVtOyBwYWRkaW5nOiAwLjQ2ODc1cmVtIDA7IGFwcGVhcmFuY2U6IG5vbmU7IGJvcmRlcjogbm9uZTsgYm9yZGVyLXJhZGl1czogMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMXJlbTsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuNTsgY29sb3I6ICMwNDMyNjM7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4NCwgNTAsIDk5JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpOyBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xLjg3NXJlbSBjZW50ZXI7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDsgcGFkZGluZy1yaWdodDogMi44MTI1cmVtOyB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7IHNlbGVjdCB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuXG5zZWxlY3Q6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyBib3JkZXI6IG5vbmU7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBib3gtc2hhZG93OiBub25lOyB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG5zZWxlY3Q6ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRTRFNEU0OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuc2VsZWN0W211bHRpcGxlXSB7IGhlaWdodDogYXV0bzsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG5zZWxlY3Q6bm90KFttdWx0aXBsZV0pIHsgcGFkZGluZy10b3A6IDA7IHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHsgYm9yZGVyLWNvbG9yOiAjYWQwMDMxOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlNmVhOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAjYWQwMDMxOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHsgY29sb3I6ICNhZDAwMzE7IH1cblxuLmZvcm0tZXJyb3IgeyBkaXNwbGF5OiBub25lOyBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtOyBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgZm9udC1zaXplOiAwLjc1cmVtOyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICNhZDAwMzE7IH1cblxuLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5oaWRlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgLmhpZGUtZm9yLXNtYWxsLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnNob3ctZm9yLXNtYWxsLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuaGlkZS1mb3ItbWVkaXVtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAuc2hvdy1mb3ItbWVkaXVtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IC5oaWRlLWZvci1tZWRpdW0tb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmhpZGUtZm9yLWxhcmdlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuc2hvdy1mb3ItbGFyZ2UgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHsgLmhpZGUtZm9yLWxhcmdlLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5zaG93LWZvci1sYXJnZS1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLCAuc2hvdy1vbi1mb2N1cyB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7IGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7IHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IGNsaXA6IGF1dG8gIWltcG9ydGFudDsgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHsgLnNob3ctZm9yLWxhbmRzY2FwZSwgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHsgLnNob3ctZm9yLWxhbmRzY2FwZSwgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSwgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7IC5oaWRlLWZvci1sYW5kc2NhcGUsIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHsgLmhpZGUtZm9yLWxhbmRzY2FwZSwgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hY2NvcmRpb24geyBtYXJnaW4tbGVmdDogMDsgYmFja2dyb3VuZDogI0ZGRjsgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUgeyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7IGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQgeyBib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMS4yNXJlbSAxcmVtOyBib3JkZXI6IDFweCBzb2xpZCAjRTRFNEU0OyBib3JkZXItYm90dG9tOiAwOyBmb250LXNpemU6IDAuNzVyZW07IGxpbmUtaGVpZ2h0OiAxOyBjb2xvcjogIzA0MzI2MzsgfVxuXG46bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNEU0RTQ7IGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4OyB9XG5cbi5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIGEuYWNjb3JkaW9uLXRpdGxlLmFjdGl2ZSwgYnV0dG9uLmFjY29yZGlvbi10aXRsZS5hY3RpdmUsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRTRFNEU0OyB9XG5cbi5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IHJpZ2h0OiAxcmVtOyBtYXJnaW4tdG9wOiAtMC41cmVtOyBjb250ZW50OiBcIitcIjsgfVxuXG4uaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHsgY29udGVudDogXCLigJNcIjsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQgeyBkaXNwbGF5OiBub25lOyBwYWRkaW5nOiAwIDFyZW07IGJvcmRlcjogMXB4IHNvbGlkICNFNEU0RTQ7IGJvcmRlci1ib3R0b206IDA7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogIzUyNTI0NTsgfVxuXG46bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNEU0RTQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7IG1hcmdpbi1ib3R0b206IDFyZW07IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IGZsZXgtZ3JvdzogMTsgfVxuXG4uYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHsgZGlzcGxheTogdGFibGU7IGNvbnRlbnQ6ICcgJzsgZmxleC1iYXNpczogMDsgb3JkZXI6IDE7IH1cblxuLmJ1dHRvbi1ncm91cDo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4uYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b24sIC5idXR0b24tZ3JvdXAgbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cCBhIHsgbWFyZ2luOiAwOyBtYXJnaW4tcmlnaHQ6IDFweDsgbWFyZ2luLWJvdHRvbTogMXB4OyBmb250LXNpemU6IDEuMTI1cmVtOyBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cCBsaS5mYXV4LWJ1dHRvbiBhOmxhc3QtY2hpbGQsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAgYTpsYXN0LWNoaWxkIHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnRpbnkgbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC50aW55IGEgeyBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zbWFsbCBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnNtYWxsIGEgeyBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5sYXJnZSBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmxhcmdlIGEgeyBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGEgeyBmbGV4OiAxIDEgMHB4OyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgYSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYS5idXR0b24uYWN0aXZlLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgYS5hY3RpdmUsIC5idXR0b24tZ3JvdXAuaG9sbG93IGJ1dHRvbi5idXR0b24uYWN0aXZlLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhOmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhOmZvY3VzLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhLmRpc2FibGVkLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhLmJ1dHRvbi5kaXNhYmxlZC5hY3RpdmUsIC5idXR0b24tZ3JvdXAuaG9sbG93IGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhLmRpc2FibGVkLmFjdGl2ZSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZC5hY3RpdmUsIC5idXR0b24tZ3JvdXAuaG9sbG93IGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQ6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IGEuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQ6Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IGEuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhW2Rpc2FibGVkXSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgYVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhLmJ1dHRvbi5hY3RpdmVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZVtkaXNhYmxlZF0sIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IGEuYWN0aXZlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmJ1dHRvbi5hY3RpdmVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhW2Rpc2FibGVkXTpob3ZlciwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgYVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhW2Rpc2FibGVkXTpmb2N1cywgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgYVtkaXNhYmxlZF06Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhLmRpc2FibGVkLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgbGkuZmF1eC1idXR0b24gYVtkaXNhYmxlZF0sIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IGFbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhLmJ1dHRvbi5kaXNhYmxlZC5hY3RpdmUsIC5idXR0b24tZ3JvdXAuaG9sbG93IGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhLmRpc2FibGVkLmFjdGl2ZSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmJ1dHRvbi5kaXNhYmxlZC5hY3RpdmUsIC5idXR0b24tZ3JvdXAuaG9sbG93IGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQ6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IGEuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhLmJ1dHRvbi5hY3RpdmVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZVtkaXNhYmxlZF0sIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IGEuYWN0aXZlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmJ1dHRvbi5hY3RpdmVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhW2Rpc2FibGVkXTpob3ZlciwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgYVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQ6Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IGEuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBsaS5mYXV4LWJ1dHRvbiBhW2Rpc2FibGVkXTpmb2N1cywgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5ob2xsb3cgYVtkaXNhYmxlZF06Zm9jdXMgeyBib3JkZXI6IDFweCBzb2xpZCAjRkRDNDAwOyBjb2xvcjogI0ZEQzQwMDsgfVxuXG4uYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhLmJ1dHRvbi5hY3RpdmUsIC5idXR0b24tZ3JvdXAuaG9sbG93IGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmhvbGxvdyBhLmFjdGl2ZSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgYnV0dG9uLmJ1dHRvbi5hY3RpdmUsIC5idXR0b24tZ3JvdXAuaG9sbG93IGxpLmZhdXgtYnV0dG9uIGE6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IGE6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IGxpLmZhdXgtYnV0dG9uIGE6Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuaG9sbG93IGE6Zm9jdXMgeyBib3JkZXItY29sb3I6ICM3ZjYyMDA7IGNvbG9yOiAjN2Y2MjAwOyB9XG5cbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIGEsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciBhLmJ1dHRvbi5hY3RpdmUsIC5idXR0b24tZ3JvdXAuY2xlYXIgbGkuZmF1eC1idXR0b24gYS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgYS5hY3RpdmUsIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmJ1dHRvbi5hY3RpdmUsIC5idXR0b24tZ3JvdXAuY2xlYXIgbGkuZmF1eC1idXR0b24gYTpob3ZlciwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciBhOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgbGkuZmF1eC1idXR0b24gYTpmb2N1cywgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciBhOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgbGkuZmF1eC1idXR0b24gYS5kaXNhYmxlZCwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciBhLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgYS5idXR0b24uZGlzYWJsZWQuYWN0aXZlLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIGEuZGlzYWJsZWQuYWN0aXZlLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5idXR0b24uZGlzYWJsZWQuYWN0aXZlLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQ6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgYS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQ6Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgYS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciBsaS5mYXV4LWJ1dHRvbiBhW2Rpc2FibGVkXSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciBhW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciBhLmJ1dHRvbi5hY3RpdmVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlW2Rpc2FibGVkXSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciBhLmFjdGl2ZVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmJ1dHRvbi5hY3RpdmVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGxpLmZhdXgtYnV0dG9uIGFbZGlzYWJsZWRdOmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIGFbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGxpLmZhdXgtYnV0dG9uIGFbZGlzYWJsZWRdOmZvY3VzLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIGFbZGlzYWJsZWRdOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgYSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgYS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciBsaS5mYXV4LWJ1dHRvbiBhW2Rpc2FibGVkXSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciBhW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGEuYnV0dG9uLmRpc2FibGVkLmFjdGl2ZSwgLmJ1dHRvbi1ncm91cC5jbGVhciBsaS5mYXV4LWJ1dHRvbiBhLmRpc2FibGVkLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciBhLmRpc2FibGVkLmFjdGl2ZSwgLmJ1dHRvbi1ncm91cC5jbGVhciBidXR0b24uYnV0dG9uLmRpc2FibGVkLmFjdGl2ZSwgLmJ1dHRvbi1ncm91cC5jbGVhciBsaS5mYXV4LWJ1dHRvbiBhLmRpc2FibGVkOmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmNsZWFyIGEuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgYS5idXR0b24uYWN0aXZlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZVtkaXNhYmxlZF0sIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgYS5hY3RpdmVbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGJ1dHRvbi5idXR0b24uYWN0aXZlW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciBsaS5mYXV4LWJ1dHRvbiBhW2Rpc2FibGVkXTpob3ZlciwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciBhW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQ6Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgYS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciBsaS5mYXV4LWJ1dHRvbiBhW2Rpc2FibGVkXTpmb2N1cywgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciBhW2Rpc2FibGVkXTpmb2N1cyB7IGNvbG9yOiAjRkRDNDAwOyB9XG5cbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciBhLmJ1dHRvbi5hY3RpdmUsIC5idXR0b24tZ3JvdXAuY2xlYXIgbGkuZmF1eC1idXR0b24gYS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuY2xlYXIgYS5hY3RpdmUsIC5idXR0b24tZ3JvdXAuY2xlYXIgYnV0dG9uLmJ1dHRvbi5hY3RpdmUsIC5idXR0b24tZ3JvdXAuY2xlYXIgbGkuZmF1eC1idXR0b24gYTpob3ZlciwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciBhOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgbGkuZmF1eC1idXR0b24gYTpmb2N1cywgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5jbGVhciBhOmZvY3VzIHsgY29sb3I6ICM3ZjYyMDA7IH1cblxuLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24sIC5idXR0b24tZ3JvdXAubm8tZ2FwcyBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgYSB7IG1hcmdpbi1yaWdodDogLTAuMDYyNXJlbTsgfVxuXG4uYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiArIC5idXR0b24sIC5idXR0b24tZ3JvdXAubm8tZ2FwcyBsaS5mYXV4LWJ1dHRvbiBhICsgLmJ1dHRvbiwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5uby1nYXBzIGEgKyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgbGkuZmF1eC1idXR0b24gLmJ1dHRvbiArIGEsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uICsgYSwgLmJ1dHRvbi1ncm91cC5uby1nYXBzIGxpLmZhdXgtYnV0dG9uIGEgKyBhLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgYSArIGEgeyBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmJ1dHRvbi1ncm91cC5zdGFja2VkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSB7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZCBhLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBhLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBhIHsgZmxleDogMCAwIDEwMCU7IH1cblxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkIGxpLmZhdXgtYnV0dG9uIGE6bGFzdC1jaGlsZCwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkIGE6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgbGkuZmF1eC1idXR0b24gYTpsYXN0LWNoaWxkLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIGE6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBsaS5mYXV4LWJ1dHRvbiBhOmxhc3QtY2hpbGQsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIGE6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgYSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgYSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgYSB7IGZsZXg6IDEgMSAwcHg7IG1hcmdpbi1yaWdodDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCBhIHsgZmxleDogMCAwIGF1dG87IG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSBhIHsgZmxleDogMCAwIGF1dG87IG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgYSB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIGEgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmRyb3Bkb3duLXBhbmUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDEwOyBkaXNwbGF5OiBub25lOyB3aWR0aDogMzAwcHg7IHBhZGRpbmc6IDFyZW07IHZpc2liaWxpdHk6IGhpZGRlbjsgYm9yZGVyOiAxcHggc29saWQgI0IxQjFCMTsgYm9yZGVyLXJhZGl1czogNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyBmb250LXNpemU6IDFyZW07IH1cblxuLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kcm9wZG93bi1wYW5lLmlzLW9wZW4geyBkaXNwbGF5OiBibG9jazsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHsgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHsgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHsgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHsgdG9wOiAxMDAlOyByaWdodDogMDsgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyB0b3A6IDEwMCU7IHJpZ2h0OiBhdXRvOyBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGJvcmRlcjogaW5zZXQgNnB4OyBjb250ZW50OiAnJzsgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogIzA0MzI2MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgcmlnaHQ6IDVweDsgbGVmdDogYXV0bzsgbWFyZ2luLXRvcDogLTNweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7IG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEgeyBiYWNrZ3JvdW5kOiAjRkZGOyBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6ICMwNDMyNjM7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHsgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyB0b3A6IDA7IHJpZ2h0OiAxMDAlOyBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7IHJpZ2h0OiBhdXRvOyBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7IHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGJvcmRlcjogaW5zZXQgNnB4OyBjb250ZW50OiAnJzsgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA0MzI2MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgcmlnaHQ6IGF1dG87IGxlZnQ6IDVweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDA7IGhlaWdodDogMDsgYm9yZGVyOiBpbnNldCA2cHg7IGNvbnRlbnQ6ICcnOyBib3JkZXItcmlnaHQtd2lkdGg6IDA7IGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDQzMjYzOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHsgdG9wOiAxMDAlOyByaWdodDogMDsgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyB0b3A6IDEwMCU7IHJpZ2h0OiBhdXRvOyBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGJvcmRlcjogaW5zZXQgNnB4OyBjb250ZW50OiAnJzsgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogIzA0MzI2MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgcmlnaHQ6IDVweDsgbGVmdDogYXV0bzsgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7IHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyB0b3A6IDA7IHJpZ2h0OiAxMDAlOyBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyByaWdodDogYXV0bzsgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHsgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGJvcmRlcjogaW5zZXQgNnB4OyBjb250ZW50OiAnJzsgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA0MzI2MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgcmlnaHQ6IGF1dG87IGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGJvcmRlcjogaW5zZXQgNnB4OyBjb250ZW50OiAnJzsgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzA0MzI2MzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyB0b3A6IDEwMCU7IHJpZ2h0OiAwOyBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHsgdG9wOiAxMDAlOyByaWdodDogYXV0bzsgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDA7IGhlaWdodDogMDsgYm9yZGVyOiBpbnNldCA2cHg7IGNvbnRlbnQ6ICcnOyBib3JkZXItYm90dG9tLXdpZHRoOiAwOyBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiAjMDQzMjYzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyByaWdodDogNXB4OyBsZWZ0OiBhdXRvOyBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyB0b3A6IDA7IHJpZ2h0OiAxMDAlOyBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7IHJpZ2h0OiBhdXRvOyBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7IHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGJvcmRlcjogaW5zZXQgNnB4OyBjb250ZW50OiAnJzsgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA0MzI2MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgcmlnaHQ6IGF1dG87IGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDA7IGhlaWdodDogMDsgYm9yZGVyOiBpbnNldCA2cHg7IGNvbnRlbnQ6ICcnOyBib3JkZXItcmlnaHQtd2lkdGg6IDA7IGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDQzMjYzOyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHsgdG9wOiAxMDAlOyByaWdodDogMDsgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7IHdpZHRoOiAxMDBweDsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgcmlnaHQ6IDVweDsgbGVmdDogYXV0bzsgbWFyZ2luLXRvcDogLTZweDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7IHRvcDogMTAwJTsgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHsgcmlnaHQ6IDEwMCU7IGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyByaWdodDogYXV0bzsgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAxMDAlOyB6LWluZGV4OiAxOyBkaXNwbGF5OiBub25lOyBtaW4td2lkdGg6IDIwMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjQjFCMUIxOyBiYWNrZ3JvdW5kOiAjRkZGOyB9XG5cbi5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHsgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyByaWdodDogMTRweDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGJvcmRlcjogaW5zZXQgNnB4OyBjb250ZW50OiAnJzsgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA0MzI2MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgcmlnaHQ6IGF1dG87IGxlZnQ6IDVweDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBib3JkZXI6IGluc2V0IDZweDsgY29udGVudDogJyc7IGJvcmRlci1yaWdodC13aWR0aDogMDsgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwNDMyNjM7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgeyBtYXJnaW4tdG9wOiAtMXB4OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkgeyB3aWR0aDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4ubGFiZWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDVweCAxNHB4OyBib3JkZXItcmFkaXVzOiAwOyBmb250LXNpemU6IDFyZW07IGxpbmUtaGVpZ2h0OiAxOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBjdXJzb3I6IGRlZmF1bHQ7IGJhY2tncm91bmQ6ICNGRkY7IGNvbG9yOiAjMDQzMjYzOyB9XG5cbi5tZW51IHsgcGFkZGluZzogMDsgbWFyZ2luOiAwOyBsaXN0LXN0eWxlOiBub25lOyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkgeyBvdXRsaW5lOiAwOyB9XG5cbi5tZW51IGEsIC5tZW51IC5idXR0b24sIC5tZW51IGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5tZW51IGEgeyBsaW5lLWhlaWdodDogMTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLm1lbnUgaW5wdXQsIC5tZW51IHNlbGVjdCwgLm1lbnUgYSwgLm1lbnUgYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubWVudSBpbnB1dCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7IGZsZXgtd3JhcDogd3JhcDsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4ubWVudS52ZXJ0aWNhbCB7IGZsZXgtd3JhcDogbm93cmFwOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5tZW51LmV4cGFuZGVkIGxpIHsgZmxleDogMSAxIDBweDsgfVxuXG4ubWVudS5zaW1wbGUgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5tZW51LnNpbXBsZSBsaSArIGxpIHsgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLm1lbnUuc2ltcGxlIGEgeyBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHsgZmxleC13cmFwOiB3cmFwOyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7IGZsZXgtd3JhcDogbm93cmFwOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7IGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7IGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubWVudS5sYXJnZS1ob3Jpem9udGFsIHsgZmxleC13cmFwOiB3cmFwOyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LmxhcmdlLXZlcnRpY2FsIHsgZmxleC13cmFwOiBub3dyYXA7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkgeyBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7IGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ubWVudS5uZXN0ZWQgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5tZW51Lmljb25zIGEgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbi5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbi5tZW51Lmljb24tbGVmdCBsaSBhIHsgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG5cbi5tZW51Lmljb24tbGVmdCBsaSBhIGltZywgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSwgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnIHsgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi5tZW51Lmljb24tcmlnaHQgbGkgYSB7IGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLCAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSwgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZyB7IG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG5cbi5tZW51Lmljb24tdG9wIGxpIGEgeyBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cblxuLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsIC5tZW51Lmljb24tdG9wIGxpIGEgaSwgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcgeyBhbGlnbi1zZWxmOiBzdHJldGNoOyBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSB7IGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuXG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZywgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLCAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7IG1hcmdpbi1ib3R0b206IDAuMjVyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubWVudSAuaXMtYWN0aXZlID4gYSB7IGJhY2tncm91bmQ6ICMwNDMyNjM7IGNvbG9yOiAjRkZGOyB9XG5cbi5tZW51IC5hY3RpdmUgPiBhIHsgYmFja2dyb3VuZDogIzA0MzI2MzsgY29sb3I6ICNGRkY7IH1cblxuLm1lbnUuYWxpZ24tbGVmdCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubWVudS5hbGlnbi1yaWdodCBsaSB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLm1lbnUuYWxpZ24tcmlnaHQgbGkgLnN1Ym1lbnUgbGkgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgeyBkaXNwbGF5OiBibG9jazsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHsgbWFyZ2luLXJpZ2h0OiAxcmVtOyBtYXJnaW4tbGVmdDogMDsgfVxuXG4ubWVudS5hbGlnbi1jZW50ZXIgbGkgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLm1lbnUgLm1lbnUtdGV4dCB7IHBhZGRpbmc6IDAuN3JlbSAxcmVtOyBmb250LXdlaWdodDogYm9sZDsgbGluZS1oZWlnaHQ6IDE7IGNvbG9yOiBpbmhlcml0OyB9XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSAuc3VibWVudSBsaSB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2luYXRpb24sIHVsLnBhZ2UtbnVtYmVycyB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5wYWdpbmF0aW9uOjpiZWZvcmUsIHVsLnBhZ2UtbnVtYmVyczo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIsIHVsLnBhZ2UtbnVtYmVyczo6YWZ0ZXIgeyBkaXNwbGF5OiB0YWJsZTsgY29udGVudDogJyAnOyBmbGV4LWJhc2lzOiAwOyBvcmRlcjogMTsgfVxuXG4ucGFnaW5hdGlvbjo6YWZ0ZXIsIHVsLnBhZ2UtbnVtYmVyczo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4ucGFnaW5hdGlvbiBsaSwgdWwucGFnZS1udW1iZXJzIGxpIHsgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07IGJvcmRlci1yYWRpdXM6IDVweDsgZm9udC1zaXplOiAxcmVtOyBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIHVsLnBhZ2UtbnVtYmVycyBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCwgdWwucGFnZS1udW1iZXJzIGxpOmZpcnN0LWNoaWxkIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5wYWdpbmF0aW9uIGxpLCB1bC5wYWdlLW51bWJlcnMgbGkgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4ucGFnaW5hdGlvbiBhLCB1bC5wYWdlLW51bWJlcnMgYSwgLnBhZ2luYXRpb24gYnV0dG9uLCB1bC5wYWdlLW51bWJlcnMgYnV0dG9uIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTsgYm9yZGVyLXJhZGl1czogNXB4OyBjb2xvcjogIzBGNTg5QTsgfVxuXG4ucGFnaW5hdGlvbiBhOmhvdmVyLCB1bC5wYWdlLW51bWJlcnMgYTpob3ZlciwgLnBhZ2luYXRpb24gYS5hY3RpdmUsIHVsLnBhZ2UtbnVtYmVycyBhLmFjdGl2ZSwgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyLCB1bC5wYWdlLW51bWJlcnMgYnV0dG9uOmhvdmVyLCAucGFnaW5hdGlvbiBidXR0b24uYWN0aXZlLCB1bC5wYWdlLW51bWJlcnMgYnV0dG9uLmFjdGl2ZSB7IGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLnBhZ2luYXRpb24gLmN1cnJlbnQsIHVsLnBhZ2UtbnVtYmVycyAuY3VycmVudCB7IHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTsgYmFja2dyb3VuZDogbm9uZTsgY29sb3I6ICMwNDMyNjM7IGN1cnNvcjogZGVmYXVsdDsgfVxuXG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQsIHVsLnBhZ2UtbnVtYmVycyAuZGlzYWJsZWQgeyBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07IGNvbG9yOiAjQjFCMUIxOyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciwgdWwucGFnZS1udW1iZXJzIC5kaXNhYmxlZDpob3ZlciwgLnBhZ2luYXRpb24gYS5kaXNhYmxlZC5hY3RpdmUsIHVsLnBhZ2UtbnVtYmVycyBhLmRpc2FibGVkLmFjdGl2ZSwgLnBhZ2luYXRpb24gYnV0dG9uLmRpc2FibGVkLmFjdGl2ZSwgdWwucGFnZS1udW1iZXJzIGJ1dHRvbi5kaXNhYmxlZC5hY3RpdmUgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4ucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyLCB1bC5wYWdlLW51bWJlcnMgLmVsbGlwc2lzOjphZnRlciB7IHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTsgY29udGVudDogJ1xcMjAyNic7IGNvbG9yOiAjMDQzMjYzOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSwgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IGNvbnRlbnQ6IFwiwqtcIjsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLCAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgY29udGVudDogXCLCu1wiOyB9XG5cbnRhYmxlIHsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDFyZW07IGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG50aGVhZCwgdGJvZHksIHRmb290IHsgYm9yZGVyOiAxcHggc29saWQgI2U0ZTVlOTsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgfVxuXG5jYXB0aW9uIHsgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyBmb250LXdlaWdodDogYm9sZDsgfVxuXG50aGVhZCB7IGJhY2tncm91bmQ6ICMwNDMyNjM7IGNvbG9yOiAjRkZGOyB9XG5cbnRmb290IHsgYmFja2dyb3VuZDogI0Y0RjRGNDsgY29sb3I6ICMwNDMyNjM7IH1cblxudGhlYWQgdHIsIHRmb290IHRyIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxudGhlYWQgdGgsIHRoZWFkIHRkLCB0Zm9vdCB0aCwgdGZvb3QgdGQgeyBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IGZvbnQtd2VpZ2h0OiBib2xkOyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRib2R5IHRoLCB0Ym9keSB0ZCB7IHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuXG50Ym9keSB0ciB7IGJvcmRlci1ib3R0b206IDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlNWU5OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG5cbnRhYmxlLnN0cmlwZWQgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHsgYm9yZGVyLWJvdHRvbTogMDsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyB0YWJsZS5zdGFjayB0aGVhZCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3QgeyBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLCB0YWJsZS5zdGFjayB0aCwgdGFibGUuc3RhY2sgdGQgeyBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7IGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzMjYzOyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxudGFibGUuaG92ZXIuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuLnRhYmxlLXNjcm9sbCB7IG92ZXJmbG93LXg6IGF1dG87IH1cblxuLnRhYnMgeyBtYXJnaW46IDA7IGJvcmRlcjogMXB4IHNvbGlkICNFNEU0RTQ7IGJhY2tncm91bmQ6ICNGRkY7IGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4udGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIgeyBkaXNwbGF5OiB0YWJsZTsgY29udGVudDogJyAnOyBmbGV4LWJhc2lzOiAwOyBvcmRlcjogMTsgfVxuXG4udGFiczo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHsgZGlzcGxheTogYmxvY2s7IGZsb2F0OiBub25lOyB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEgeyBwYWRkaW5nOiAwOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciwgLnRhYnMuc2ltcGxlID4gbGkgPiBhLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnRhYnMuc2ltcGxlID4gbGkgPiBhLmFjdGl2ZSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkgeyBiYWNrZ3JvdW5kOiAjMDQzMjYzOyB9XG5cbi50YWJzLnByaW1hcnkgPiBsaSA+IGEgeyBjb2xvcjogI0ZGRjsgfVxuXG4udGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnRhYnMucHJpbWFyeSA+IGxpID4gYS5hY3RpdmUsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAjMDUzYzc3OyB9XG5cbi50YWJzLXRpdGxlIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnRhYnMtdGl0bGUgPiBhIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtOyBmb250LXNpemU6IDAuNzVyZW07IGxpbmUtaGVpZ2h0OiAxOyBjb2xvcjogIzA0MzI2MzsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHsgb3V0bGluZTogMDsgfVxuXG4udGFicy10aXRsZSA+IGE6aG92ZXIsIC50YWJzLXRpdGxlID4gYS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIC50YWJzLXRpdGxlID4gYS5hY3RpdmUgeyBiYWNrZ3JvdW5kOiAjRkZGOyBjb2xvcjogIzAzMmI1NTsgfVxuXG4udGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10geyBiYWNrZ3JvdW5kOiAjRTRFNEU0OyBjb2xvcjogIzA0MzI2MzsgfVxuXG4udGFicy1jb250ZW50IHsgYm9yZGVyOiAxcHggc29saWQgI0U0RTRFNDsgYm9yZGVyLXRvcDogMDsgYmFja2dyb3VuZDogI0ZGRjsgY29sb3I6ICM1MjUyNDU7IHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7IGJvcmRlcjogMXB4IHNvbGlkICNFNEU0RTQ7IGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHsgZGlzcGxheTogbm9uZTsgcGFkZGluZzogMXJlbTsgfVxuXG4udGFicy1wYW5lbC5pcy1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiogTUlYSU5TICovXG5Aa2V5ZnJhbWVzIGZhZGVpbiB7IGZyb20geyBvcGFjaXR5OiAwOyB9XG4gIHRvIHsgb3BhY2l0eTogMTsgfSB9XG5cbi5zY3JvbGxiYXIsIC5hY2NvcmRpb25fX2NhcmQuYWNjb3JkaW9uX19jYXJkX2VxdWFsaXplIC5hY2NvcmRpb24tY29udGVudCwgLmNlbGwuYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWNvbnRlbnQsIC5jZWxsIC5hY2NvcmRpb25fX2NhcmQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgeyBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5zY3JvbGxiYXIsIC5hY2NvcmRpb25fX2NhcmQuYWNjb3JkaW9uX19jYXJkX2VxdWFsaXplIC5hY2NvcmRpb24tY29udGVudCwgLmNlbGwuYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWNvbnRlbnQsIC5jZWxsIC5hY2NvcmRpb25fX2NhcmQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgeyBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLnNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXIsIC5hY2NvcmRpb25fX2NhcmQuYWNjb3JkaW9uX19jYXJkX2VxdWFsaXplIC5hY2NvcmRpb24tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIsIC5jZWxsLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgLmFjY29yZGlvbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciwgLmNlbGwgLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IHdpZHRoOiA4cHg7IH1cbiAgLnNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXI6dmVydGljYWwsIC5hY2NvcmRpb25fX2NhcmQuYWNjb3JkaW9uX19jYXJkX2VxdWFsaXplIC5hY2NvcmRpb24tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXI6dmVydGljYWwsIC5jZWxsLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgLmFjY29yZGlvbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhcjp2ZXJ0aWNhbCwgLmNlbGwgLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXI6dmVydGljYWwgeyB3aWR0aDogOHB4OyB9XG4gIC5zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyOmhvcml6b250YWwsIC5hY2NvcmRpb25fX2NhcmQuYWNjb3JkaW9uX19jYXJkX2VxdWFsaXplIC5hY2NvcmRpb24tY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXI6aG9yaXpvbnRhbCwgLmNlbGwuYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyOmhvcml6b250YWwsIC5jZWxsIC5hY2NvcmRpb25fX2NhcmQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyOmhvcml6b250YWwgeyBoZWlnaHQ6IDhweDsgfVxuICAuc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgLmFjY29yZGlvbl9fY2FyZC5hY2NvcmRpb25fX2NhcmRfZXF1YWxpemUgLmFjY29yZGlvbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgLmNlbGwuYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLCAuY2VsbCAuYWNjb3JkaW9uX19jYXJkIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7IGJvcmRlci1yYWRpdXM6IDhweDsgYm9yZGVyOiAxcHggc29saWQgI0Y0RjRGNDsgLyogc2hvdWxkIG1hdGNoIGJhY2tncm91bmQsIGNhbid0IGJlIHRyYW5zcGFyZW50ICovIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfSB9XG5cbi8qKiAxLiBBdm9pZCB0aGUgSUUgMTAtMTEgYG1pbi1oZWlnaHRgIGJ1Zy4gMi4gU2V0IGBmbGV4LXNocmlua2AgdG8gYDBgIHRvIHByZXZlbnQgc29tZSBicm93c2VycyBmcm9tIGxldHRpbmcgdGhlc2UgaXRlbXMgc2hyaW5rIHRvIHNtYWxsZXIgdGhhbiB0aGVpciBjb250ZW50J3MgZGVmYXVsdCBtaW5pbXVtIHNpemUuIFNlZSBodHRwOi8vYml0Lmx5LzFNbjM1VVMgZm9yIGRldGFpbHMuIDMuIFVzZSBgJWAgaW5zdGVhZCBvZiBgdmhgIHNpbmNlIGB2aGAgaXMgYnVnZ3kgaW4gb2xkZXIgbW9iaWxlIFNhZmFyaS4gKi9cbmh0bWwgeyBoZWlnaHQ6IDEwMCU7IH1cblxuYm9keSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGhlaWdodDogMTAwJTsgfVxuXG4uc2l0ZS1oZWFkZXIsIC5zaXRlLWZvb3RlciB7IGZsZXg6IG5vbmU7IH1cblxuLnNpdGUtY29udGVudCB7IGZsZXg6IDEgMCBhdXRvOyBwYWRkaW5nOiB2YXIoLS1zcGFjZSkgdmFyKC0tc3BhY2UpIDA7IHdpZHRoOiAxMDAlOyB9XG5cbi5zaXRlLWNvbnRlbnQ6OmFmdGVyIHsgY29udGVudDogJ1xcMDBhMCc7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZSk7IGhlaWdodDogMHB4OyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyoqIEdSSUQgWC1ZICovXG4uZ3JpZC1jb250YWluZXItd3JhcHBlciB7IHdpZHRoOiAxMDAlOyB9XG5cbi5ncmlkLWNvbnRhaW5lci5ncmlkLWNvbnRhaW5lci1jb2xsYXBzZSB7IHBhZGRpbmctbGVmdDogMDsgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgeyBwYWRkaW5nOiAxMHB4IDAgMTBweCAwOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlcjogMDsgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlNGU1ZTk7IH1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIGg1LCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHAsIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSAuaDUgeyBtYXgtd2lkdGg6IDk1JTsgbWFyZ2luLWJvdHRvbTogMTBweDsgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTsgYmFja2dyb3VuZC1zaXplOiAxNXB4IDExcHg7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDExcHg7IHJpZ2h0OiAxMHB4OyBtYXJnaW4tdG9wOiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1czsgfVxuXG5Ac3VwcG9ydHMgKG1hc2staW1hZ2U6IHVybChcIlwiKSkgeyAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHsgYmFja2dyb3VuZDogIzA0MzI2MzsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTsgbWFzay1zaXplOiAxNXB4IDExcHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24gYS5hY2NvcmRpb24tdGl0bGUuYWN0aXZlLCAuYWNjb3JkaW9uIGJ1dHRvbi5hY2NvcmRpb24tdGl0bGUuYWN0aXZlLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7IGJvcmRlcjogMDsgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCBhIHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTgwZGVnKTsgfVxuXG4uYWNjb3JkaW9uLmFjY29yZGlvbl9fZ3JpZCAuYWNjb3JkaW9uLWNvbnRlbnQgLmNhcmQuY2FyZF9fdGlsZSAudGlsZS0td3JhcCB7IHBhZGRpbmc6IDIwcHg7IG1pbi1oZWlnaHQ6IDE1MHB4OyBkaXNwbGF5OiB0YWJsZTsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW46IGF1dG87IH1cblxuLmFjY29yZGlvbi5hY2NvcmRpb25fX2dyaWQgLmFjY29yZGlvbi1jb250ZW50IC5jYXJkLmNhcmRfX3RpbGUgLnRpbGUtLXdyYXAgLnRpbGUtLWlubmVyIHsgZGlzcGxheTogdGFibGUtY2VsbDsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uYWNjb3JkaW9uLmFjY29yZGlvbl9faW5mbyB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmFjY29yZGlvbi5hY2NvcmRpb25fX2luZm8gLmdyaWQtY29udGFpbmVyIHsgcGFkZGluZy1sZWZ0OiA1NXB4OyB9IH1cblxuLmFjY29yZGlvbi5hY2NvcmRpb25fX2luZm8gLmFjY29yZGlvbi10aXRsZSB7IGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDsgYmFja2dyb3VuZC1jb2xvcjogIzA0MzI2MzsgY29sb3I6ICMwRjU4OUE7IG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuYWNjb3JkaW9uLmFjY29yZGlvbl9faW5mbyAuYWNjb3JkaW9uLXRpdGxlIHsgcGFkZGluZzogMTBweCA4MHB4OyB9IH1cblxuLmFjY29yZGlvbi5hY2NvcmRpb25fX2luZm8gLmFjY29yZGlvbi10aXRsZSBpbWcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG4uYWNjb3JkaW9uLmFjY29yZGlvbl9faW5mbyAuYWNjb3JkaW9uLXRpdGxlIGg0IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmFjY29yZGlvbi5hY2NvcmRpb25fX2luZm8gLmFjY29yZGlvbi10aXRsZSBoNC5wYXJhZ3JhcGggeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmFjY29yZGlvbi5hY2NvcmRpb25fX2luZm8gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUgeyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy13aGl0ZS5zdmcpOyBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMTFweDsgcmlnaHQ6IDQwcHg7IHRvcDogNTUlOyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IC5hY2NvcmRpb24uYWNjb3JkaW9uX19pbmZvIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHsgYmFja2dyb3VuZDogI0ZGRjsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3ctd2hpdGUuc3ZnKTsgbWFzay1zaXplOiAxNXB4IDExcHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuYWNjb3JkaW9uLmFjY29yZGlvbl9faW5mbyAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7IHJpZ2h0OiAxNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5hY2NvcmRpb24uYWNjb3JkaW9uX19pbmZvIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHsgcmlnaHQ6IDIxMHB4OyB9IH1cblxuLmFjY29yZGlvbi5hY2NvcmRpb25fX2luZm8gLmFjY29yZGlvbi10aXRsZTphZnRlciB7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9kb3duLWFycm93LXdoaXRlLnN2Zyk7IGJhY2tncm91bmQtc2l6ZTogMTVweCAxMXB4OyBsZWZ0OiAwOyB0b3A6IDU1JTsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmFjY29yZGlvbi5hY2NvcmRpb25fX2luZm8gLmFjY29yZGlvbi10aXRsZTphZnRlciB7IGJhY2tncm91bmQ6ICNGRkY7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9kb3duLWFycm93LXdoaXRlLnN2Zyk7IG1hc2stc2l6ZTogMTVweCAxMXB4OyBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyB9IH1cblxuLmFjY29yZGlvbi5hY2NvcmRpb25fX2luZm8gLmFjY29yZGlvbi1jb250ZW50IHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgY29sb3I6ICM3NjcxNzU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmFjY29yZGlvbi5hY2NvcmRpb25fX2luZm8gLmFjY29yZGlvbi1jb250ZW50IHsgcGFkZGluZzogMzBweCA4MHB4OyB9IH1cblxuLmFjY29yZGlvbi5hY2NvcmRpb25fX2luZm8gLmFjY29yZGlvbi1jb250ZW50IHAgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIHsgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkLnB1YmxpY2F0aW9uIHsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4uYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWl0ZW0sIC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIFtkYXRhLWFjY29yZGlvbi1pdGVtXSB7IGRpc3BsYXk6IGJsb2NrOyBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUsIC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIFtkYXRhLWFjY29yZGlvbi1pdGVtXSAuYWNjb3JkaW9uLXRpdGxlIHsgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXI6IDA7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgcGFkZGluZzogMDsgfVxuXG4uYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUsIC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIFtkYXRhLWFjY29yZGlvbi1pdGVtXSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9kb3duLWFycm93LnN2Zyk7IGJhY2tncm91bmQtc2l6ZTogMTVweCAxMXB4OyB3aWR0aDogMTVweDsgaGVpZ2h0OiAxMXB4OyB0b3A6IDIwcHg7IHJpZ2h0OiAwOyBtYXJnaW4tdG9wOiAwOyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSwgLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgW2RhdGEtYWNjb3JkaW9uLWl0ZW1dIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHsgYmFja2dyb3VuZDogIzA0MzI2MzsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTsgbWFzay1zaXplOiAxNXB4IDExcHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG4uYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlLmFjdGl2ZSwgLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgLmFjY29yZGlvbi1pdGVtIGJ1dHRvbi5hY2NvcmRpb24tdGl0bGUuYWN0aXZlLCAuYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpmb2N1cywgLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgW2RhdGEtYWNjb3JkaW9uLWl0ZW1dIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIFtkYXRhLWFjY29yZGlvbi1pdGVtXSBhLmFjY29yZGlvbi10aXRsZS5hY3RpdmUsIC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIFtkYXRhLWFjY29yZGlvbi1pdGVtXSBidXR0b24uYWNjb3JkaW9uLXRpdGxlLmFjdGl2ZSwgLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgW2RhdGEtYWNjb3JkaW9uLWl0ZW1dIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpob3ZlcjpiZWZvcmUsIC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZS5hY3RpdmU6YmVmb3JlLCAuYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWl0ZW0gYnV0dG9uLmFjY29yZGlvbi10aXRsZS5hY3RpdmU6YmVmb3JlLCAuYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpmb2N1czpiZWZvcmUsIC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIFtkYXRhLWFjY29yZGlvbi1pdGVtXSAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyOmJlZm9yZSwgLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgW2RhdGEtYWNjb3JkaW9uLWl0ZW1dIGEuYWNjb3JkaW9uLXRpdGxlLmFjdGl2ZTpiZWZvcmUsIC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIFtkYXRhLWFjY29yZGlvbi1pdGVtXSBidXR0b24uYWNjb3JkaW9uLXRpdGxlLmFjdGl2ZTpiZWZvcmUsIC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIFtkYXRhLWFjY29yZGlvbi1pdGVtXSAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzOmJlZm9yZSB7IGJvcmRlci1jb2xvcjogI0ZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSAuc3ViaGVhZGluZywgLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgW2RhdGEtYWNjb3JkaW9uLWl0ZW1dIC5hY2NvcmRpb24tdGl0bGUgLnN1YmhlYWRpbmcgeyBkaXNwbGF5OiBibG9jazsgcGFkZGluZy1yaWdodDogNDBweDsgfVxuXG4uYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50LCAuYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZCBbZGF0YS1hY2NvcmRpb24taXRlbV0gLmFjY29yZGlvbi1jb250ZW50IHsgYm9yZGVyOiAwOyBwYWRkaW5nOiAwOyB9XG5cbi5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUsIC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIFtkYXRhLWFjY29yZGlvbi1pdGVtXS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC0xODBkZWcpOyB9XG5cbi5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkIC5hY2NvcmRpb24taXRlbSAubGluaywgLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgW2RhdGEtYWNjb3JkaW9uLWl0ZW1dIC5saW5rIHsgZGlzcGxheTogYmxvY2s7IGNvbG9yOiAjMDQzMjYzOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkLmFjY29yZGlvbl9fY2FyZF9ub2ltZyAuYWNjb3JkaW9uLXRpdGxlIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uYWNjb3JkaW9uLmFjY29yZGlvbl9fY2FyZC5hY2NvcmRpb25fX2NhcmRfbm9pbWcgLmFjY29yZGlvbl9fY29udGVudCB7IHdpZHRoOiA5NSU7IH1cblxuLmFjY29yZGlvbl9fY2FyZC5ncmV5QmcsIC5hY2NvcmRpb25fX2NhcmQudGFiLWNvbG91ci1iZyB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IH1cblxuLmFjY29yZGlvbl9fY2FyZC5ncmV5QmcgLmFjY29yZGlvbi1pdGVtLCAuYWNjb3JkaW9uX19jYXJkLnRhYi1jb2xvdXItYmcgLmFjY29yZGlvbi1pdGVtIHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuXG4uYWNjb3JkaW9uX19jYXJkLmdyZXlCZyAuYWNjb3JkaW9uLWNvbnRlbnQsIC5hY2NvcmRpb25fX2NhcmQudGFiLWNvbG91ci1iZyAuYWNjb3JkaW9uLWNvbnRlbnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyB9XG5cbi5hY2NvcmRpb25fX2NhcmQgLnRhZyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5hY2NvcmRpb25fX2NhcmQgLnRhZy5idXR0b24sIC5hY2NvcmRpb25fX2NhcmQgbGkuZmF1eC1idXR0b24gYS50YWcsIGxpLmZhdXgtYnV0dG9uIC5hY2NvcmRpb25fX2NhcmQgYS50YWcgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uX3RhZyB7IGNvbG9yOiAjMDQzMjYzICFpbXBvcnRhbnQ7IGJvcmRlcjogMXB4IHNvbGlkICMwNDMyNjMgIWltcG9ydGFudDsgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IG1hcmdpbjogMTVweCAhaW1wb3J0YW50OyBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uX3RhZy5ub19tYXJnaW4geyBtYXJnaW46IDE1cHggMTVweCAxNXB4IDAgIWltcG9ydGFudDsgfVxuXG4uYWNjb3JkaW9uX19jYXJkLmFjY29yZGlvbl9fY2FyZF9lcXVhbGl6ZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4uYWNjb3JkaW9uX19jYXJkLmFjY29yZGlvbl9fY2FyZF9lcXVhbGl6ZSAuYnJvdyAudGFnIHsgYm9yZGVyOiBzb2xpZCAxcHggbGltZTsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uYWNjb3JkaW9uX19jYXJkLmFjY29yZGlvbl9fY2FyZF9lcXVhbGl6ZSAuYWNjb3JkaW9uLXRpdGxlIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nOiAwOyBtYXJnaW46IDA7IH1cblxuLmFjY29yZGlvbl9fY2FyZC5hY2NvcmRpb25fX2NhcmRfZXF1YWxpemUgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUgeyB0b3A6IDFlbTsgcmlnaHQ6IDA7IH1cblxuLmFjY29yZGlvbl9fY2FyZC5hY2NvcmRpb25fX2NhcmRfZXF1YWxpemUgLmFjY29yZGlvbi10aXRsZSAucHVzaGRvd25fX2hlYWRpbmcgeyBtYXJnaW46IDAgMCAxcmVtOyBwYWRkaW5nOiAwIDI0cHggMCAwOyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5hY2NvcmRpb25fX2NhcmQuYWNjb3JkaW9uX19jYXJkX2VxdWFsaXplIC5hY2NvcmRpb24tdGl0bGUgaDMsIC5hY2NvcmRpb25fX2NhcmQuYWNjb3JkaW9uX19jYXJkX2VxdWFsaXplIC5hY2NvcmRpb24tdGl0bGUgLmg0LCAuYWNjb3JkaW9uX19jYXJkLmFjY29yZGlvbl9fY2FyZF9lcXVhbGl6ZSAuYWNjb3JkaW9uLXRpdGxlIC5oNSB7IG1heC13aWR0aDogOTUlOyB9XG5cbi5hY2NvcmRpb25fX2NhcmQuYWNjb3JkaW9uX19jYXJkX2JveGVkIC50YWcgeyBwYWRkaW5nOiAxcmVtIDFyZW0gMDsgfVxuXG4uYWNjb3JkaW9uX19jYXJkLmFjY29yZGlvbl9fY2FyZF9ib3hlZCAuYWNjb3JkaW9uLXRpdGxlIC5wdXNoZG93bl9faGVhZGluZyB7IG1hcmdpbjogMCAxcmVtIDFyZW07IG1heC13aWR0aDogMTAwJTsgfVxuXG4uYWNjb3JkaW9uX19jYXJkLmFjY29yZGlvbl9fY2FyZF9ib3hlZCAuYWNjb3JkaW9uLWNvbnRlbnQgeyBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuLmFjY29yZGlvbl9fY2FyZC5hY2NvcmRpb25fX2NhcmRfYm94ZWQgLmxpbmsgeyBwYWRkaW5nOiAxLjVyZW0gMjBweDsgfVxuXG4uY2FyZF9fZXhwYW5kYWJsZSAuYWNjb3JkaW9uLXRpdGxlIHsgei1pbmRleDogMTsgfVxuXG4uY2FyZF9fZXhwYW5kYWJsZSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7IGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uY2FyZF9fZXhwYW5kYWJsZSBoNSwgLmNhcmRfX2V4cGFuZGFibGUgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmRfX2V4cGFuZGFibGUgcCwgLmNhcmRfX2V4cGFuZGFibGUgLmg1IHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG5cbi5jYXJkX19leHBhbmRhYmxlIGg1OmJlZm9yZSwgLmNhcmRfX2V4cGFuZGFibGUgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcDpiZWZvcmUsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkX19leHBhbmRhYmxlIHA6YmVmb3JlLCAuY2FyZF9fZXhwYW5kYWJsZSAuaDU6YmVmb3JlIHsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTsgYmFja2dyb3VuZC1zaXplOiAxNXB4IDExcHg7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDExcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNnB4OyByaWdodDogMDsgbWFyZ2luLXRvcDogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmNhcmRfX2V4cGFuZGFibGUgaDU6YmVmb3JlLCAuY2FyZF9fZXhwYW5kYWJsZSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwOmJlZm9yZSwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmRfX2V4cGFuZGFibGUgcDpiZWZvcmUsIC5jYXJkX19leHBhbmRhYmxlIC5oNTpiZWZvcmUgeyBiYWNrZ3JvdW5kOiAjMDQzMjYzOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpOyBtYXNrLXNpemU6IDE1cHggMTFweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG5cbi5jZWxsLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQgLmFjY29yZGlvbi1jb250ZW50LCAuY2VsbCAuYWNjb3JkaW9uX19jYXJkIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG46bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHsgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlNGU1ZTk7IH1cblxuLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlLW5vLWJvcmRlciwgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZS1uby1ib3JkZXIsIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLmFjY29yZGlvbi1mdWxsIC5hY2NvcmRpb24tY29udGVudCB7IGJvcmRlci1sZWZ0OiA1cHggc29saWQgI0ZEQzQwMDsgfVxuXG5kZXRhaWxzIHsgY29sb3I6ICMwNDMyNjM7IH1cblxuZGV0YWlscyBzdW1tYXJ5IHsgcG9zaXRpb246IHJlbGF0aXZlOyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuZGV0YWlscyBzdW1tYXJ5OjptYXJrZXIsIGRldGFpbHMgc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiBub25lOyB9XG5cbmRldGFpbHMgc3VtbWFyeTphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9kb3duLWFycm93LnN2Zyk7IGJhY2tncm91bmQtc2l6ZTogMTVweCAxMXB4OyB3aWR0aDogMTVweDsgaGVpZ2h0OiAxMXB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAwcHg7IHJpZ2h0OiAtMTJweDsgbWFyZ2luLXRvcDogMDsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzOyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IGRldGFpbHMgc3VtbWFyeTphZnRlciB7IGJhY2tncm91bmQ6ICMwNDMyNjM7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9kb3duLWFycm93LnN2Zyk7IG1hc2stc2l6ZTogMTVweCAxMXB4OyBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyB9IH1cblxuZGV0YWlsc1tvcGVuXSBzdW1tYXJ5OmFmdGVyIHsgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cblxuLmFjY29yZGlvbl9fc2lkZWJhcl9zZWN0aW9uIC5hY2NvcmRpb24uYWNjb3JkaW9uX19zaWRlYmFyIHsgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLmFjY29yZGlvbl9fc2lkZWJhcl9zZWN0aW9uIC5hY2NvcmRpb24uYWNjb3JkaW9uX19zaWRlYmFyIC5hY2NvcmRpb24tdGl0bGUgeyBwYWRkaW5nOiAyMHB4IDAgNXB4IDA7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmFjY29yZGlvbl9fc2lkZWJhcl9zZWN0aW9uIC5hY2NvcmRpb24uYWNjb3JkaW9uX19zaWRlYmFyIC5hY2NvcmRpb24tY29udGVudCB7IHBhZGRpbmc6IDIwcHg7IH1cblxuLmFjY29yZGlvbl9fc2lkZWJhcl9zZWN0aW9uIC5hY2NvcmRpb24uYWNjb3JkaW9uX19zaWRlYmFyIC5hY2NvcmRpb24tY29udGVudCAuY2FyZCB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmFjY29yZGlvbl9fc2lkZWJhcl9zZWN0aW9uIC5hY2NvcmRpb24uYWNjb3JkaW9uX19zaWRlYmFyIC5hY2NvcmRpb24tY29udGVudCAuY2FyZCAuYWNjb3JkaW9uX3NpZGViYXJfc3BhbiB7IGhlaWdodDogMTFweDsgd2lkdGg6IDJweDsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbjogYXV0byA1cHggYXV0byAwOyB9XG5cbi5jYXB0aW9uIHsgZGlzcGxheTogZmxleDsgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG5cbi5jYXB0aW9uLmRhdGU6YmVmb3JlLCAuY2FwdGlvbi50aW1lOmJlZm9yZSwgLmNhcHRpb24ubG9jYXRpb246YmVmb3JlLCAuY2FwdGlvbi5hZGRyZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXCI7IHRvcDogNTAlOyBsZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDEycHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY2FwdGlvbi5kYXRlOmJlZm9yZSwgLmNhcHRpb24udGltZTpiZWZvcmUgeyBoZWlnaHQ6IDE3cHg7IHdpZHRoOiAxN3B4OyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvdGltZS1pY29uLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvY29udGFpbjsgfVxuXG5Ac3VwcG9ydHMgKG1hc2staW1hZ2U6IHVybChcIlwiKSkgeyAuY2FwdGlvbi5kYXRlOmJlZm9yZSwgLmNhcHRpb24udGltZTpiZWZvcmUgeyBiYWNrZ3JvdW5kOiAjMDQzMjYzOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvdGltZS1pY29uLnN2Zyk7IG1hc2stc2l6ZTogY29udGFpbjsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgbWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IC5jYXB0aW9uLmRhdGU6YmVmb3JlLCAuY2FwdGlvbi50aW1lOmJlZm9yZSB7IG1hcmdpbi10b3A6IDExcHg7IH0gfVxuXG4uY2FwdGlvbi5sb2NhdGlvbiBhLCAuY2FwdGlvbi5hZGRyZXNzIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcHRpb24ubG9jYXRpb246YmVmb3JlLCAuY2FwdGlvbi5hZGRyZXNzOmJlZm9yZSB7IGhlaWdodDogMjFweDsgd2lkdGg6IDE3cHg7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9waW4uc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluOyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IC5jYXB0aW9uLmxvY2F0aW9uOmJlZm9yZSwgLmNhcHRpb24uYWRkcmVzczpiZWZvcmUgeyBiYWNrZ3JvdW5kOiAjMDQzMjYzOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvcGluLnN2Zyk7IG1hc2stc2l6ZTogY29udGFpbjsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgbWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfSB9XG5cbi8qKiBDb2xvcnMgICovXG4vKiBDb2xvciB2YXJpYWJsZSBkZWZpbmVkIGluICAgfi9zY3NzL3NldHRpbmdzL19zZXR0aW5ncy5zY3NzICAqL1xuLyogTG9vcHMgdGhydSAkY29sb3JzIGFuZCBjcmVhdGUgIGNvbG9yIGJhY2tncm91bmQtY29sb3IgIGJvcmRlciAodW5jb21tZW50IGJvcmRlciBzZWN0aW9uIGJlbG93IHRvIHJlbmRlcikgKi9cbi5jb2xvci1ibGFjayB7IGNvbG9yOiAjMDAwOyB9XG5cbi5jb2xvci1ibGFjay1iZyB7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuLmNvbG9yLXdoaXRlIHsgY29sb3I6ICNGRkY7IH1cblxuLmNvbG9yLXdoaXRlLWJnIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgfVxuXG4uY29sb3ItbGlnaHQtZ3JheSB7IGNvbG9yOiAjRTRFNEU0OyB9XG5cbi5jb2xvci1saWdodC1ncmF5LWJnIHsgYmFja2dyb3VuZC1jb2xvcjogI0U0RTRFNDsgfVxuXG4uY29sb3ItbWVkaXVtLWdyYXkgeyBjb2xvcjogI0IxQjFCMTsgfVxuXG4uY29sb3ItbWVkaXVtLWdyYXktYmcgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjQjFCMUIxOyB9XG5cbi5jb2xvci1kYXJrLWdyYXkgeyBjb2xvcjogIzcwNzA3MDsgfVxuXG4uY29sb3ItZGFyay1ncmF5LWJnIHsgYmFja2dyb3VuZC1jb2xvcjogIzcwNzA3MDsgfVxuXG4uY29sb3Itd3JhcC1ncmV5IHsgY29sb3I6ICNGNEY0RjQ7IH1cblxuLmNvbG9yLXdyYXAtZ3JleS1iZyB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IH1cblxuLyoqIEJhY2tncm91bmQgY29sb3VycyAqL1xuLmJnLXRyYW5zcGFyZW50IHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4vKiogQmFja2dyb3VuZCAqL1xuLmJnIHsgcG9zaXRpb246IHJlbGF0aXZlOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5iZy5iZy1jb3ZlciB7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLmJnLmJnLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH1cblxuLmJnLmJnLXRpbnQ6YmVmb3JlIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHotaW5kZXg6IDE7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGNvbnRlbnQ6ICcgJzsgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSwgdGV4dGFyZWEsIHNlbGVjdCB7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDQzMjYzOyBwYWRkaW5nOiAuNDY4NzVyZW07IH1cblxuW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLCB0ZXh0YXJlYTpmb2N1cywgc2VsZWN0OmZvY3VzIHsgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwNDMyNjM7IHBhZGRpbmc6IC40Njg3NXJlbTsgfVxuXG5bdHlwZT0ndGV4dCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J3Bhc3N3b3JkJ106OnBsYWNlaG9sZGVyLCBbdHlwZT0nZGF0ZSddOjpwbGFjZWhvbGRlciwgW3R5cGU9J2RhdGV0aW1lJ106OnBsYWNlaG9sZGVyLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTo6cGxhY2Vob2xkZXIsIFt0eXBlPSdtb250aCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J3dlZWsnXTo6cGxhY2Vob2xkZXIsIFt0eXBlPSdlbWFpbCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J251bWJlciddOjpwbGFjZWhvbGRlciwgW3R5cGU9J3NlYXJjaCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J3RlbCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J3RpbWUnXTo6cGxhY2Vob2xkZXIsIFt0eXBlPSd1cmwnXTo6cGxhY2Vob2xkZXIsIFt0eXBlPSdjb2xvciddOjpwbGFjZWhvbGRlciwgdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCBzZWxlY3Q6OnBsYWNlaG9sZGVyIHsgLyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovIG9wYWNpdHk6IDE7IC8qIEZpcmVmb3ggKi8gfVxuXG50ZXh0YXJlYSB7IGJhY2tncm91bmQ6ICNGRkY7IHBhZGRpbmc6IDE0cHg7IGJvcmRlcjogbm9uZTsgcmVzaXplOiBub25lOyB9XG5cbnRleHRhcmVhOmZvY3VzIHsgYm9yZGVyOiBub25lOyB9XG5cbnNlbGVjdCB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbnNlbGVjdDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zaWdudXBfX2Zvcm0geyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IG1hcmdpbi10b3A6IC0yMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnNpZ251cF9fZm9ybSAuYmdfX2ltZyB7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IHBhZGRpbmctdG9wOiA3MHB4OyBwYWRkaW5nLWJvdHRvbTogNzBweDsgaGVpZ2h0OiAtd2Via2l0LWZpdC1jb250ZW50OyBoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7IGhlaWdodDogZml0LWNvbnRlbnQ7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuc2lnbnVwX19mb3JtIHsgbWFyZ2luLXRvcDogLTQwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5zaWdudXBfX2Zvcm0geyBtYXJnaW4tdG9wOiAtNzBweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHsgLnNpZ251cF9fZm9ybSAuc2lnbnVwX19mb3JtX2NvbnRhaW5lciB7IG1hcmdpbi1ib3R0b206IDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5zaWdudXBfX2Zvcm0geyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuc2lnbnVwX19mb3JtIC5zaWdudXBfX2Zvcm1fY29udGFpbmVyIHsgb3JkZXI6IDI7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnNpZ251cF9fZm9ybSAuc2lnbnVwX19mb3JtX2NvbnRhaW5lciAuZ3JpZC14IHsgYmFja2dyb3VuZC1jb2xvcjogI0ZEQzQwMDsgcGFkZGluZzogMjVweDsgfSB9XG5cbi5zaWdudXBfX2Zvcm0gKiB7IGNvbG9yOiAjMDQzMjYzOyB9XG5cbi5zaWdudXBfX2Zvcm0gW3R5cGU9J3RleHQnXSwgLnNpZ251cF9fZm9ybSBbdHlwZT0ncGFzc3dvcmQnXSwgLnNpZ251cF9fZm9ybSBbdHlwZT0nZGF0ZSddLCAuc2lnbnVwX19mb3JtIFt0eXBlPSdkYXRldGltZSddLCAuc2lnbnVwX19mb3JtIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCAuc2lnbnVwX19mb3JtIFt0eXBlPSdtb250aCddLCAuc2lnbnVwX19mb3JtIFt0eXBlPSd3ZWVrJ10sIC5zaWdudXBfX2Zvcm0gW3R5cGU9J2VtYWlsJ10sIC5zaWdudXBfX2Zvcm0gW3R5cGU9J251bWJlciddLCAuc2lnbnVwX19mb3JtIFt0eXBlPSdzZWFyY2gnXSwgLnNpZ251cF9fZm9ybSBbdHlwZT0ndGVsJ10sIC5zaWdudXBfX2Zvcm0gW3R5cGU9J3RpbWUnXSwgLnNpZ251cF9fZm9ybSBbdHlwZT0ndXJsJ10sIC5zaWdudXBfX2Zvcm0gW3R5cGU9J2NvbG9yJ10sIC5zaWdudXBfX2Zvcm0gdGV4dGFyZWEsIC5zaWdudXBfX2Zvcm0gc2VsZWN0IHsgcGFkZGluZy1sZWZ0OiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICMwNDMyNjMgIWltcG9ydGFudDsgfVxuXG4uc2lnbnVwX19mb3JtIFt0eXBlPSd0ZXh0J106OnBsYWNlaG9sZGVyLCAuc2lnbnVwX19mb3JtIFt0eXBlPSdwYXNzd29yZCddOjpwbGFjZWhvbGRlciwgLnNpZ251cF9fZm9ybSBbdHlwZT0nZGF0ZSddOjpwbGFjZWhvbGRlciwgLnNpZ251cF9fZm9ybSBbdHlwZT0nZGF0ZXRpbWUnXTo6cGxhY2Vob2xkZXIsIC5zaWdudXBfX2Zvcm0gW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106OnBsYWNlaG9sZGVyLCAuc2lnbnVwX19mb3JtIFt0eXBlPSdtb250aCddOjpwbGFjZWhvbGRlciwgLnNpZ251cF9fZm9ybSBbdHlwZT0nd2VlayddOjpwbGFjZWhvbGRlciwgLnNpZ251cF9fZm9ybSBbdHlwZT0nZW1haWwnXTo6cGxhY2Vob2xkZXIsIC5zaWdudXBfX2Zvcm0gW3R5cGU9J251bWJlciddOjpwbGFjZWhvbGRlciwgLnNpZ251cF9fZm9ybSBbdHlwZT0nc2VhcmNoJ106OnBsYWNlaG9sZGVyLCAuc2lnbnVwX19mb3JtIFt0eXBlPSd0ZWwnXTo6cGxhY2Vob2xkZXIsIC5zaWdudXBfX2Zvcm0gW3R5cGU9J3RpbWUnXTo6cGxhY2Vob2xkZXIsIC5zaWdudXBfX2Zvcm0gW3R5cGU9J3VybCddOjpwbGFjZWhvbGRlciwgLnNpZ251cF9fZm9ybSBbdHlwZT0nY29sb3InXTo6cGxhY2Vob2xkZXIsIC5zaWdudXBfX2Zvcm0gdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAuc2lnbnVwX19mb3JtIHNlbGVjdDo6cGxhY2Vob2xkZXIgeyBmb250LXdlaWdodDogYm9sZDsgY29sb3I6ICMwNDMyNjM7IH1cblxuLnNpZ251cF9fZm9ybSAuZm9ybS1jb250ZW50IHsgcGFkZGluZzogMzBweCAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkRDNDAwOyBwYWRkaW5nOiAyNXB4OyBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnNpZ251cF9fZm9ybSAuZm9ybS1jb250ZW50IHsgcGFkZGluZzogMzJweCA0MHB4OyB9IH1cblxuLnNpZ251cF9fZm9ybSBmb3JtIHsgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4uc2lnbnVwX19mb3JtIGZvcm0gaW5wdXQ6bm90KC5idXR0b24pLCAuc2lnbnVwX19mb3JtIGZvcm0gaW5wdXQ6Zm9jdXM6bm90KC5idXR0b24pIHsgY29sb3I6ICMwRjU4OUE7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRjsgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uc2lnbnVwX19mb3JtIGZvcm0gbGFiZWwgeyBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5zaWdudXBfX2Zvcm0gLmJ1dHRvbiwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEgeyBtYXJnaW4tdG9wOiAxNnB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IC5zaWdudXBfX2Zvcm0gaW1nIHsgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgcGFkZGluZy1sZWZ0OiAxLjI1cmVtOyBtYXJnaW4tbGVmdDogYXV0bzsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5zaWdudXBfX2Zvcm0gaW1nIHsgbWFyZ2luLXRvcDogMDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDUwJTsgbGVmdDogY2FsYyg1MCUgKyAyMHB4KTsgd2lkdGg6IDUwJTsgaGVpZ2h0OiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG5cbmZvcm0jbG9hZF9tb3JlIHsgcGFkZGluZy10b3A6IDUwcHg7IH1cblxuZm9ybSNsb2FkX21vcmUgI2xvYWRNb3JlIHsgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdmb3JtX3dyYXBwZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmdmb3JtX3dyYXBwZXIgZm9ybSB7IG1hcmdpbi10b3A6IDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2ZpZWxkcyB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5oaWRkZW5fbGFiZWwgbGVnZW5kLmdmaWVsZF9sYWJlbCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3Byb2dyZXNzYmFyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fdGl0bGUgeyBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3RpdGxlIHsgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX2RhdGUgc3Bhbi5zY3JlZW4tcmVhZGVyLXRleHQgeyBkaXNwbGF5OiBub25lOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCwgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX3JhZGlvLCAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfY2hlY2tib3gsIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyB7IG1hcmdpbjogMjBweCAwcHggIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3ggbGk6OmJlZm9yZSwgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX3JhZGlvIGxpOjpiZWZvcmUsIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9jaGVja2JveCBsaTo6YmVmb3JlLCAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGk6OmJlZm9yZSB7IGNvbnRlbnQ6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb250YWluZXJfdGV4dGFyZWEgdGV4dGFyZWEgeyBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDsgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb250YWluZXJfbmFtZSB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgY29sdW1uLWdhcDogMjBweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbnRhaW5lcl9uYW1lID4gc3BhbiB7IGZsZXg6IDE7IH0gfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2xpc3QgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIHRoZWFkLCAuZ2Zvcm1fd3JhcHBlciB0Ym9keSwgLmdmb3JtX3dyYXBwZXIgdGJvZHkgdHIsIC5nZm9ybV93cmFwcGVyIHRmb290IHsgYmFja2dyb3VuZDogbm9uZTsgYm9yZGVyOiBub25lOyB9XG5cbi5nZm9ybV93cmFwcGVyIHRib2R5IHRkIHsgcGFkZGluZy1sZWZ0OiAwOyBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbnRhaW5lcl90ZXh0YXJlYSB0ZXh0YXJlYSB7IGJhY2tncm91bmQ6ICNGRkYgIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2NvbnNlbnRfbGFiZWwgeyBtYXJnaW4tdG9wOiAxMHB4OyBjb2xvcjogIzUyNTI0NTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYSB7IG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX21hcmdpbl9idG0geyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi52YWxpZGF0aW9uX2Vycm9yLCAudmFsaWRhdGlvbl9tZXNzYWdlIHsgY29sb3I6ICNhZDAwMzE7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnZhbGlkYXRpb25fbWVzc2FnZSB7IG1hcmdpbi10b3A6IC0yMHB4OyB9XG5cblthcmlhLWludmFsaWQ9dHJ1ZV0sIC5nZmllbGRfZXJyb3IgaW5wdXQsIC5nZmllbGRfZXJyb3Igc2VsZWN0IHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2FkMDAzMTsgY29sb3I6ICM1MjUyNDU7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9lcnJvckAyeC5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgNXB4LzE3cHggMThweDsgfVxuXG5bYXJpYS1pbnZhbGlkPXRydWVdOjpwbGFjZWhvbGRlciwgLmdmaWVsZF9lcnJvciBpbnB1dDo6cGxhY2Vob2xkZXIsIC5nZmllbGRfZXJyb3Igc2VsZWN0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAjYWQwMDMxOyB9XG5cbi5nZmllbGRfbGFiZWwgeyBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgVzAxXzY1IE1lZGl1bTE0NzU1MzJcIixzYW5zLXNlcmlmOyB9XG5cbi5nZmllbGRfZXJyb3IgLmdmaWVsZF9sYWJlbCwgLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2xhYmVsIHNwYW4geyBjb2xvcjogI2FkMDAzMTsgfVxuXG4uZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29udGFpbmVyX2ZpbGV1cGxvYWQsIC5nZmllbGRfZXJyb3IgLmdpbnB1dF9yZWNhcHRjaGEgeyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbnRleHRhcmVhW2FyaWEtaW52YWxpZD10cnVlXSB7IGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG5cbi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciAuZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2UgeyBjb2xvcjogIzA0MzI2MzsgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbi5nZm9ybV9hbmNob3IgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTE1MHB4OyB9XG5cbi5nZm9ybV9tYXJnaW5fdG9wIHsgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKiogQnV0dG9ucyBhbmQgbGlua3MgKi9cbmEsIGJ1dHRvbiwgYS5idXR0b24sIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIGEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuYS5kb25hdGVfYnRuLCBidXR0b24uZG9uYXRlX2J0biwgYS5idXR0b24uZG9uYXRlX2J0biwgbGkuZmF1eC1idXR0b24gYS5kb25hdGVfYnRuLCBsaS5mYXV4LWJ1dHRvbiBhLmRvbmF0ZV9idG4geyBib3JkZXItcmFkaXVzOiAyM3B4OyB9XG5cbmEgeyB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXI7IHRyYW5zaXRpb246IGNvbG9yIDAuMjVzOyB9XG5cbmJ1dHRvbiwgYS5idXR0b24sIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIGEsIGlucHV0LmJ1dHRvbiwgLmJ1dHRvbjp2aXNpdGVkLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi50b3VjaCBidXR0b246bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmhvdmVyLCAudG91Y2ggYnV0dG9uLmFjdGl2ZTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSksIC50b3VjaCBhLmJ1dHRvbjpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC50b3VjaCBhLmJ1dHRvbi5hY3RpdmU6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCBsaS5mYXV4LWJ1dHRvbiAudG91Y2ggYS5hY3RpdmU6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggbGkuZmF1eC1idXR0b24gYTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIC50b3VjaCBhOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciwgLnRvdWNoIGxpLmZhdXgtYnV0dG9uIGE6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmhvdmVyLCAudG91Y2ggbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggaW5wdXQuYnV0dG9uOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciwgLnRvdWNoIC5idXR0b246dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC50b3VjaCBhLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSksIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZTp2aXNpdGVkOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKSwgbGkuZmF1eC1idXR0b24gLnRvdWNoIGEuYWN0aXZlOnZpc2l0ZWQ6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggYnV0dG9uLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSksIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQ6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiAudG91Y2ggYTp2aXNpdGVkOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciB7IGJhY2tncm91bmQ6ICNGREM0MDAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgdHJhbnNwYXJlbnQgMSUsICNGREM0MDAgMSUpIGNlbnRlci8xNTAwMCU7IH1cblxuLnRvdWNoIGJ1dHRvbjpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6YWN0aXZlLCAudG91Y2ggYS5idXR0b246bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgLnRvdWNoIGxpLmZhdXgtYnV0dG9uIGE6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnRvdWNoIGE6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgLnRvdWNoIGxpLmZhdXgtYnV0dG9uIGE6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgLnRvdWNoIGlucHV0LmJ1dHRvbjpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6YWN0aXZlLCAudG91Y2ggLmJ1dHRvbjp2aXNpdGVkOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTphY3RpdmUsIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQ6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnRvdWNoIGE6dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDEzMTsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDBzOyB9XG5cbmJ1dHRvbjphZnRlciwgYS5idXR0b246YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6YWZ0ZXIsIGlucHV0LmJ1dHRvbjphZnRlciwgLmJ1dHRvbjp2aXNpdGVkOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQ6YWZ0ZXIgeyBjb250ZW50OiAnJzsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiA4cHg7IGhlaWdodDogMTVweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgcmlnaHQ6IDI1cHg7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgYmFja2dyb3VuZDogdXJsKFwiLi4vaWNvbnMvYXJyb3ctYnRuLWJsdWUuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgYnV0dG9uOmFmdGVyLCBhLmJ1dHRvbjphZnRlciwgbGkuZmF1eC1idXR0b24gYTphZnRlciwgbGkuZmF1eC1idXR0b24gYTphZnRlciwgaW5wdXQuYnV0dG9uOmFmdGVyLCAuYnV0dG9uOnZpc2l0ZWQ6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZDphZnRlciB7IGJhY2tncm91bmQ6ICMwNDMyNjM7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9hcnJvdy1idG4tYmx1ZS5zdmcpOyBtYXNrLXNpemU6IGNvbnRhaW47IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH0gfVxuXG5idXR0b246aG92ZXI6YWZ0ZXIsIGJ1dHRvbi5hY3RpdmU6YWZ0ZXIsIGJ1dHRvbjphY3RpdmU6YWZ0ZXIsIGEuYnV0dG9uOmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5hY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhOmhvdmVyOmFmdGVyLCBhLmJ1dHRvbjphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhOmhvdmVyOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYTphY3RpdmU6YWZ0ZXIsIGlucHV0LmJ1dHRvbjpob3ZlcjphZnRlciwgaW5wdXQuYnV0dG9uOmFjdGl2ZTphZnRlciwgLmJ1dHRvbjp2aXNpdGVkOmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZDphZnRlciwgbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6dmlzaXRlZDphZnRlciwgYnV0dG9uLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZDphZnRlciwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkOmhvdmVyOmFmdGVyLCAuYnV0dG9uOnZpc2l0ZWQ6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQ6YWN0aXZlOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmdcIik7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgYnV0dG9uOmhvdmVyOmFmdGVyLCBidXR0b24uYWN0aXZlOmFmdGVyLCBidXR0b246YWN0aXZlOmFmdGVyLCBhLmJ1dHRvbjpob3ZlcjphZnRlciwgYS5idXR0b24uYWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYTpob3ZlcjphZnRlciwgYS5idXR0b246YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhOmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYTpob3ZlcjphZnRlciwgbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6YWN0aXZlOmFmdGVyLCBpbnB1dC5idXR0b246aG92ZXI6YWZ0ZXIsIGlucHV0LmJ1dHRvbjphY3RpdmU6YWZ0ZXIsIC5idXR0b246dmlzaXRlZDpob3ZlcjphZnRlciwgYS5idXR0b24uYWN0aXZlOnZpc2l0ZWQ6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlOnZpc2l0ZWQ6YWZ0ZXIsIGJ1dHRvbi5idXR0b24uYWN0aXZlOnZpc2l0ZWQ6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZDpob3ZlcjphZnRlciwgLmJ1dHRvbjp2aXNpdGVkOmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkOmFjdGl2ZTphZnRlciB7IGJhY2tncm91bmQ6ICNGREM0MDA7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9hcnJvdy1idG4teWVsbG93LnN2Zyk7IH0gfVxuXG5idXR0b24ucHJpbWFyeSwgYnV0dG9uLnByaW1hcnk6dmlzaXRlZCwgYnV0dG9uLnByaW1hcnk6YWN0aXZlLCBhLmJ1dHRvbi5wcmltYXJ5LCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnksIGEuYnV0dG9uLnByaW1hcnk6dmlzaXRlZCwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OnZpc2l0ZWQsIGEuYnV0dG9uLnByaW1hcnk6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnksIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTp2aXNpdGVkLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6YWN0aXZlLCBpbnB1dC5idXR0b24ucHJpbWFyeSwgaW5wdXQuYnV0dG9uLnByaW1hcnk6dmlzaXRlZCwgaW5wdXQuYnV0dG9uLnByaW1hcnk6YWN0aXZlLCAuYnV0dG9uOnZpc2l0ZWQucHJpbWFyeSwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLnByaW1hcnksIC5idXR0b246dmlzaXRlZC5wcmltYXJ5OnZpc2l0ZWQsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZC5wcmltYXJ5OnZpc2l0ZWQsIC5idXR0b246dmlzaXRlZC5wcmltYXJ5OmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLnByaW1hcnk6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZEQzQwMDsgY29sb3I6ICMwNDMyNjM7IH1cblxuYnV0dG9uLnByaW1hcnk6aG92ZXIsIGJ1dHRvbi5wcmltYXJ5LmFjdGl2ZSwgYnV0dG9uLnByaW1hcnk6YWN0aXZlLCBidXR0b24ucHJpbWFyeTp2aXNpdGVkOmhvdmVyLCBidXR0b24ucHJpbWFyeS5hY3RpdmU6dmlzaXRlZCwgYnV0dG9uLnByaW1hcnk6dmlzaXRlZDphY3RpdmUsIGJ1dHRvbi5wcmltYXJ5OmFjdGl2ZTpob3ZlciwgYnV0dG9uLnByaW1hcnkuYWN0aXZlOmFjdGl2ZSwgYnV0dG9uLnByaW1hcnk6YWN0aXZlOmFjdGl2ZSwgYS5idXR0b24ucHJpbWFyeTpob3ZlciwgYS5idXR0b24ucHJpbWFyeS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTpob3ZlciwgYS5idXR0b24ucHJpbWFyeTphY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTphY3RpdmUsIGEuYnV0dG9uLnByaW1hcnk6dmlzaXRlZDpob3ZlciwgYS5idXR0b24ucHJpbWFyeS5hY3RpdmU6dmlzaXRlZCwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5LmFjdGl2ZTp2aXNpdGVkLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6dmlzaXRlZDpob3ZlciwgYS5idXR0b24ucHJpbWFyeTp2aXNpdGVkOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OnZpc2l0ZWQ6YWN0aXZlLCBhLmJ1dHRvbi5wcmltYXJ5OmFjdGl2ZTpob3ZlciwgYS5idXR0b24ucHJpbWFyeS5hY3RpdmU6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnkuYWN0aXZlOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OmFjdGl2ZTpob3ZlciwgYS5idXR0b24ucHJpbWFyeTphY3RpdmU6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6YWN0aXZlOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnkuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6dmlzaXRlZDpob3ZlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5LmFjdGl2ZTp2aXNpdGVkLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6dmlzaXRlZDphY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTphY3RpdmU6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeS5hY3RpdmU6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6YWN0aXZlOmFjdGl2ZSwgaW5wdXQuYnV0dG9uLnByaW1hcnk6aG92ZXIsIGlucHV0LmJ1dHRvbi5wcmltYXJ5OmFjdGl2ZSwgaW5wdXQuYnV0dG9uLnByaW1hcnk6dmlzaXRlZDpob3ZlciwgaW5wdXQuYnV0dG9uLnByaW1hcnk6dmlzaXRlZDphY3RpdmUsIGlucHV0LmJ1dHRvbi5wcmltYXJ5OmFjdGl2ZTpob3ZlciwgaW5wdXQuYnV0dG9uLnByaW1hcnk6YWN0aXZlOmFjdGl2ZSwgLmJ1dHRvbjp2aXNpdGVkLnByaW1hcnk6aG92ZXIsIGEuYnV0dG9uLmFjdGl2ZTp2aXNpdGVkLnByaW1hcnksIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlOnZpc2l0ZWQucHJpbWFyeSwgYnV0dG9uLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5wcmltYXJ5LCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbjp2aXNpdGVkLnByaW1hcnk6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQucHJpbWFyeTphY3RpdmUsIC5idXR0b246dmlzaXRlZC5wcmltYXJ5OnZpc2l0ZWQ6aG92ZXIsIGEuYnV0dG9uLmFjdGl2ZTp2aXNpdGVkLnByaW1hcnk6dmlzaXRlZCwgbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6dmlzaXRlZC5wcmltYXJ5OnZpc2l0ZWQsIGJ1dHRvbi5idXR0b24uYWN0aXZlOnZpc2l0ZWQucHJpbWFyeTp2aXNpdGVkLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQucHJpbWFyeTp2aXNpdGVkOmhvdmVyLCAuYnV0dG9uOnZpc2l0ZWQucHJpbWFyeTp2aXNpdGVkOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLnByaW1hcnk6dmlzaXRlZDphY3RpdmUsIC5idXR0b246dmlzaXRlZC5wcmltYXJ5OmFjdGl2ZTpob3ZlciwgYS5idXR0b24uYWN0aXZlOnZpc2l0ZWQucHJpbWFyeTphY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlOnZpc2l0ZWQucHJpbWFyeTphY3RpdmUsIGJ1dHRvbi5idXR0b24uYWN0aXZlOnZpc2l0ZWQucHJpbWFyeTphY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZC5wcmltYXJ5OmFjdGl2ZTpob3ZlciwgLmJ1dHRvbjp2aXNpdGVkLnByaW1hcnk6YWN0aXZlOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLnByaW1hcnk6YWN0aXZlOmFjdGl2ZSB7IGNvbG9yOiAjRkZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzMjYzOyB9XG5cbmJ1dHRvbi5wcmltYXJ5OmhvdmVyOmFmdGVyLCBidXR0b24ucHJpbWFyeS5hY3RpdmU6YWZ0ZXIsIGJ1dHRvbi5wcmltYXJ5OmFjdGl2ZTphZnRlciwgYnV0dG9uLnByaW1hcnk6dmlzaXRlZDpob3ZlcjphZnRlciwgYnV0dG9uLnByaW1hcnkuYWN0aXZlOnZpc2l0ZWQ6YWZ0ZXIsIGJ1dHRvbi5wcmltYXJ5OnZpc2l0ZWQ6YWN0aXZlOmFmdGVyLCBidXR0b24ucHJpbWFyeTphY3RpdmU6aG92ZXI6YWZ0ZXIsIGJ1dHRvbi5wcmltYXJ5LmFjdGl2ZTphY3RpdmU6YWZ0ZXIsIGJ1dHRvbi5wcmltYXJ5OmFjdGl2ZTphY3RpdmU6YWZ0ZXIsIGEuYnV0dG9uLnByaW1hcnk6aG92ZXI6YWZ0ZXIsIGEuYnV0dG9uLnByaW1hcnkuYWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnkuYWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6aG92ZXI6YWZ0ZXIsIGEuYnV0dG9uLnByaW1hcnk6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6YWN0aXZlOmFmdGVyLCBhLmJ1dHRvbi5wcmltYXJ5OnZpc2l0ZWQ6aG92ZXI6YWZ0ZXIsIGEuYnV0dG9uLnByaW1hcnkuYWN0aXZlOnZpc2l0ZWQ6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeS5hY3RpdmU6dmlzaXRlZDphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OnZpc2l0ZWQ6aG92ZXI6YWZ0ZXIsIGEuYnV0dG9uLnByaW1hcnk6dmlzaXRlZDphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTp2aXNpdGVkOmFjdGl2ZTphZnRlciwgYS5idXR0b24ucHJpbWFyeTphY3RpdmU6aG92ZXI6YWZ0ZXIsIGEuYnV0dG9uLnByaW1hcnkuYWN0aXZlOmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5LmFjdGl2ZTphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTphY3RpdmU6aG92ZXI6YWZ0ZXIsIGEuYnV0dG9uLnByaW1hcnk6YWN0aXZlOmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OmFjdGl2ZTphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTpob3ZlcjphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5LmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OnZpc2l0ZWQ6aG92ZXI6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeS5hY3RpdmU6dmlzaXRlZDphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OnZpc2l0ZWQ6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6YWN0aXZlOmhvdmVyOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnkuYWN0aXZlOmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OmFjdGl2ZTphY3RpdmU6YWZ0ZXIsIGlucHV0LmJ1dHRvbi5wcmltYXJ5OmhvdmVyOmFmdGVyLCBpbnB1dC5idXR0b24ucHJpbWFyeTphY3RpdmU6YWZ0ZXIsIGlucHV0LmJ1dHRvbi5wcmltYXJ5OnZpc2l0ZWQ6aG92ZXI6YWZ0ZXIsIGlucHV0LmJ1dHRvbi5wcmltYXJ5OnZpc2l0ZWQ6YWN0aXZlOmFmdGVyLCBpbnB1dC5idXR0b24ucHJpbWFyeTphY3RpdmU6aG92ZXI6YWZ0ZXIsIGlucHV0LmJ1dHRvbi5wcmltYXJ5OmFjdGl2ZTphY3RpdmU6YWZ0ZXIsIC5idXR0b246dmlzaXRlZC5wcmltYXJ5OmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5wcmltYXJ5OmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZTp2aXNpdGVkLnByaW1hcnk6YWZ0ZXIsIGJ1dHRvbi5idXR0b24uYWN0aXZlOnZpc2l0ZWQucHJpbWFyeTphZnRlciwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLnByaW1hcnk6aG92ZXI6YWZ0ZXIsIC5idXR0b246dmlzaXRlZC5wcmltYXJ5OmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLnByaW1hcnk6YWN0aXZlOmFmdGVyLCAuYnV0dG9uOnZpc2l0ZWQucHJpbWFyeTp2aXNpdGVkOmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5wcmltYXJ5OnZpc2l0ZWQ6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlOnZpc2l0ZWQucHJpbWFyeTp2aXNpdGVkOmFmdGVyLCBidXR0b24uYnV0dG9uLmFjdGl2ZTp2aXNpdGVkLnByaW1hcnk6dmlzaXRlZDphZnRlciwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLnByaW1hcnk6dmlzaXRlZDpob3ZlcjphZnRlciwgLmJ1dHRvbjp2aXNpdGVkLnByaW1hcnk6dmlzaXRlZDphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZC5wcmltYXJ5OnZpc2l0ZWQ6YWN0aXZlOmFmdGVyLCAuYnV0dG9uOnZpc2l0ZWQucHJpbWFyeTphY3RpdmU6aG92ZXI6YWZ0ZXIsIGEuYnV0dG9uLmFjdGl2ZTp2aXNpdGVkLnByaW1hcnk6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZTp2aXNpdGVkLnByaW1hcnk6YWN0aXZlOmFmdGVyLCBidXR0b24uYnV0dG9uLmFjdGl2ZTp2aXNpdGVkLnByaW1hcnk6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQucHJpbWFyeTphY3RpdmU6aG92ZXI6YWZ0ZXIsIC5idXR0b246dmlzaXRlZC5wcmltYXJ5OmFjdGl2ZTphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZC5wcmltYXJ5OmFjdGl2ZTphY3RpdmU6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pY29ucy9hcnJvdy1idG4teWVsbG93LnN2Z1wiKTsgfVxuXG5Ac3VwcG9ydHMgKG1hc2staW1hZ2U6IHVybChcIlwiKSkgeyBidXR0b24ucHJpbWFyeTpob3ZlcjphZnRlciwgYnV0dG9uLnByaW1hcnkuYWN0aXZlOmFmdGVyLCBidXR0b24ucHJpbWFyeTphY3RpdmU6YWZ0ZXIsIGJ1dHRvbi5wcmltYXJ5OnZpc2l0ZWQ6aG92ZXI6YWZ0ZXIsIGJ1dHRvbi5wcmltYXJ5LmFjdGl2ZTp2aXNpdGVkOmFmdGVyLCBidXR0b24ucHJpbWFyeTp2aXNpdGVkOmFjdGl2ZTphZnRlciwgYnV0dG9uLnByaW1hcnk6YWN0aXZlOmhvdmVyOmFmdGVyLCBidXR0b24ucHJpbWFyeS5hY3RpdmU6YWN0aXZlOmFmdGVyLCBidXR0b24ucHJpbWFyeTphY3RpdmU6YWN0aXZlOmFmdGVyLCBhLmJ1dHRvbi5wcmltYXJ5OmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5wcmltYXJ5LmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5LmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5wcmltYXJ5OmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OmFjdGl2ZTphZnRlciwgYS5idXR0b24ucHJpbWFyeTp2aXNpdGVkOmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5wcmltYXJ5LmFjdGl2ZTp2aXNpdGVkOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnkuYWN0aXZlOnZpc2l0ZWQ6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTp2aXNpdGVkOmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5wcmltYXJ5OnZpc2l0ZWQ6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6dmlzaXRlZDphY3RpdmU6YWZ0ZXIsIGEuYnV0dG9uLnByaW1hcnk6YWN0aXZlOmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5wcmltYXJ5LmFjdGl2ZTphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeS5hY3RpdmU6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6YWN0aXZlOmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5wcmltYXJ5OmFjdGl2ZTphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTphY3RpdmU6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6aG92ZXI6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeS5hY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTp2aXNpdGVkOmhvdmVyOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnkuYWN0aXZlOnZpc2l0ZWQ6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTp2aXNpdGVkOmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OmFjdGl2ZTpob3ZlcjphZnRlciwgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5LmFjdGl2ZTphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeTphY3RpdmU6YWN0aXZlOmFmdGVyLCBpbnB1dC5idXR0b24ucHJpbWFyeTpob3ZlcjphZnRlciwgaW5wdXQuYnV0dG9uLnByaW1hcnk6YWN0aXZlOmFmdGVyLCBpbnB1dC5idXR0b24ucHJpbWFyeTp2aXNpdGVkOmhvdmVyOmFmdGVyLCBpbnB1dC5idXR0b24ucHJpbWFyeTp2aXNpdGVkOmFjdGl2ZTphZnRlciwgaW5wdXQuYnV0dG9uLnByaW1hcnk6YWN0aXZlOmhvdmVyOmFmdGVyLCBpbnB1dC5idXR0b24ucHJpbWFyeTphY3RpdmU6YWN0aXZlOmFmdGVyLCAuYnV0dG9uOnZpc2l0ZWQucHJpbWFyeTpob3ZlcjphZnRlciwgYS5idXR0b24uYWN0aXZlOnZpc2l0ZWQucHJpbWFyeTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6dmlzaXRlZC5wcmltYXJ5OmFmdGVyLCBidXR0b24uYnV0dG9uLmFjdGl2ZTp2aXNpdGVkLnByaW1hcnk6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZC5wcmltYXJ5OmhvdmVyOmFmdGVyLCAuYnV0dG9uOnZpc2l0ZWQucHJpbWFyeTphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZC5wcmltYXJ5OmFjdGl2ZTphZnRlciwgLmJ1dHRvbjp2aXNpdGVkLnByaW1hcnk6dmlzaXRlZDpob3ZlcjphZnRlciwgYS5idXR0b24uYWN0aXZlOnZpc2l0ZWQucHJpbWFyeTp2aXNpdGVkOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZTp2aXNpdGVkLnByaW1hcnk6dmlzaXRlZDphZnRlciwgYnV0dG9uLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5wcmltYXJ5OnZpc2l0ZWQ6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZC5wcmltYXJ5OnZpc2l0ZWQ6aG92ZXI6YWZ0ZXIsIC5idXR0b246dmlzaXRlZC5wcmltYXJ5OnZpc2l0ZWQ6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQucHJpbWFyeTp2aXNpdGVkOmFjdGl2ZTphZnRlciwgLmJ1dHRvbjp2aXNpdGVkLnByaW1hcnk6YWN0aXZlOmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5wcmltYXJ5OmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6dmlzaXRlZC5wcmltYXJ5OmFjdGl2ZTphZnRlciwgYnV0dG9uLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5wcmltYXJ5OmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLnByaW1hcnk6YWN0aXZlOmhvdmVyOmFmdGVyLCAuYnV0dG9uOnZpc2l0ZWQucHJpbWFyeTphY3RpdmU6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQucHJpbWFyeTphY3RpdmU6YWN0aXZlOmFmdGVyIHsgYmFja2dyb3VuZDogI0ZEQzQwMDsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Fycm93LWJ0bi15ZWxsb3cuc3ZnKTsgfSB9XG5cbmJ1dHRvbi5zZWNvbmRhcnksIC5zaWdudXBfX2Zvcm0gYnV0dG9uLmJ1dHRvbiwgYS5idXR0b24uc2Vjb25kYXJ5LCAuc2lnbnVwX19mb3JtIGEuYnV0dG9uLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYSwgbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnksIGxpLmZhdXgtYnV0dG9uIGEuc2Vjb25kYXJ5LCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYSwgaW5wdXQuYnV0dG9uLnNlY29uZGFyeSwgLnNpZ251cF9fZm9ybSBpbnB1dC5idXR0b24sIC5idXR0b246dmlzaXRlZC5zZWNvbmRhcnksIC5zaWdudXBfX2Zvcm0gLmJ1dHRvbjp2aXNpdGVkLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZCwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOnZpc2l0ZWQsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZC5zZWNvbmRhcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1ODlBOyBjb2xvcjogI0ZGRjsgfVxuXG4udG91Y2ggYnV0dG9uLnNlY29uZGFyeTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC50b3VjaCAuc2lnbnVwX19mb3JtIGJ1dHRvbi5idXR0b246bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmhvdmVyLCAuc2lnbnVwX19mb3JtIC50b3VjaCBidXR0b24uYnV0dG9uOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciwgLnRvdWNoIC5zaWdudXBfX2Zvcm0gYnV0dG9uLmJ1dHRvbi5hY3RpdmU6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAuc2lnbnVwX19mb3JtIC50b3VjaCBidXR0b24uYnV0dG9uLmFjdGl2ZTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSksIC50b3VjaCBidXR0b24uc2Vjb25kYXJ5LmFjdGl2ZTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSksIC50b3VjaCBhLmJ1dHRvbi5zZWNvbmRhcnk6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmhvdmVyLCAudG91Y2ggLnNpZ251cF9fZm9ybSBhLmJ1dHRvbjpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC5zaWdudXBfX2Zvcm0gLnRvdWNoIGEuYnV0dG9uOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciwgLnRvdWNoIC5zaWdudXBfX2Zvcm0gYS5idXR0b24uYWN0aXZlOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKSwgLnNpZ251cF9fZm9ybSAudG91Y2ggYS5idXR0b24uYWN0aXZlOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKSwgLnRvdWNoIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC50b3VjaCBhLmFjdGl2ZTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSksIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEuYWN0aXZlOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAudG91Y2ggYS5hY3RpdmU6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAudG91Y2ggYTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGE6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIC50b3VjaCBhOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciwgLnRvdWNoIGEuYnV0dG9uLnNlY29uZGFyeS5hY3RpdmU6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnkuYWN0aXZlOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKSwgbGkuZmF1eC1idXR0b24gLnRvdWNoIGEuc2Vjb25kYXJ5LmFjdGl2ZTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSksIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIC50b3VjaCBhLnNlY29uZGFyeTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC50b3VjaCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKSwgLnNpZ251cF9fZm9ybSAudG91Y2ggbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLmFjdGl2ZTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSksIC50b3VjaCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGE6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmhvdmVyLCAuc2lnbnVwX19mb3JtIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiBhOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciwgLnRvdWNoIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeS5hY3RpdmU6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggaW5wdXQuYnV0dG9uLnNlY29uZGFyeTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC50b3VjaCAuc2lnbnVwX19mb3JtIGlucHV0LmJ1dHRvbjpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC5zaWdudXBfX2Zvcm0gLnRvdWNoIGlucHV0LmJ1dHRvbjpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC50b3VjaCAuYnV0dG9uOnZpc2l0ZWQuc2Vjb25kYXJ5Om5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciwgLnRvdWNoIC5zaWdudXBfX2Zvcm0gLmJ1dHRvbjp2aXNpdGVkOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciwgLnNpZ251cF9fZm9ybSAudG91Y2ggLmJ1dHRvbjp2aXNpdGVkOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciwgLnRvdWNoIC5zaWdudXBfX2Zvcm0gYS5idXR0b24uYWN0aXZlOnZpc2l0ZWQ6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAuc2lnbnVwX19mb3JtIC50b3VjaCBhLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSksIC50b3VjaCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlOnZpc2l0ZWQ6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC50b3VjaCBhLmFjdGl2ZTp2aXNpdGVkOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKSwgLnRvdWNoIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5hY3RpdmU6dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSksIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnRvdWNoIGEuYWN0aXZlOnZpc2l0ZWQ6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggLnNpZ251cF9fZm9ybSBidXR0b24uYnV0dG9uLmFjdGl2ZTp2aXNpdGVkOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKSwgLnNpZ251cF9fZm9ybSAudG91Y2ggYnV0dG9uLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSksIC50b3VjaCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gLnRvdWNoIGE6dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGE6dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnRvdWNoIGE6dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIC50b3VjaCBhLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5zZWNvbmRhcnk6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6dmlzaXRlZC5zZWNvbmRhcnk6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCBsaS5mYXV4LWJ1dHRvbiAudG91Y2ggYS5hY3RpdmU6dmlzaXRlZC5zZWNvbmRhcnk6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggYnV0dG9uLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5zZWNvbmRhcnk6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pLCAudG91Y2ggbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLnNlY29uZGFyeTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIC50b3VjaCBhOnZpc2l0ZWQuc2Vjb25kYXJ5Om5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciB7IGJhY2tncm91bmQ6ICMwNDMyNjMgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgdHJhbnNwYXJlbnQgMSUsICMwNDMyNjMgMSUpIGNlbnRlci8xNTAwMCU7IH1cblxuLnRvdWNoIGJ1dHRvbi5zZWNvbmRhcnk6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgLnRvdWNoIC5zaWdudXBfX2Zvcm0gYnV0dG9uLmJ1dHRvbjpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6YWN0aXZlLCAuc2lnbnVwX19mb3JtIC50b3VjaCBidXR0b24uYnV0dG9uOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTphY3RpdmUsIC50b3VjaCBhLmJ1dHRvbi5zZWNvbmRhcnk6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgLnRvdWNoIC5zaWdudXBfX2Zvcm0gYS5idXR0b246bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgLnNpZ251cF9fZm9ybSAudG91Y2ggYS5idXR0b246bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgLnRvdWNoIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6YWN0aXZlLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC50b3VjaCBhOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTphY3RpdmUsIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGE6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAudG91Y2ggYTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6YWN0aXZlLCAudG91Y2ggbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnk6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnRvdWNoIGEuc2Vjb25kYXJ5Om5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTphY3RpdmUsIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6YWN0aXZlLCAudG91Y2ggLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTphY3RpdmUsIC5zaWdudXBfX2Zvcm0gLnRvdWNoIGxpLmZhdXgtYnV0dG9uIGE6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgLnRvdWNoIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6YWN0aXZlLCAudG91Y2ggaW5wdXQuYnV0dG9uLnNlY29uZGFyeTpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6YWN0aXZlLCAudG91Y2ggLnNpZ251cF9fZm9ybSBpbnB1dC5idXR0b246bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgLnNpZ251cF9fZm9ybSAudG91Y2ggaW5wdXQuYnV0dG9uOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTphY3RpdmUsIC50b3VjaCAuYnV0dG9uOnZpc2l0ZWQuc2Vjb25kYXJ5Om5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTphY3RpdmUsIC50b3VjaCAuc2lnbnVwX19mb3JtIC5idXR0b246dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6YWN0aXZlLCAuc2lnbnVwX19mb3JtIC50b3VjaCAuYnV0dG9uOnZpc2l0ZWQ6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgLnRvdWNoIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTphY3RpdmUsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gLnRvdWNoIGE6dmlzaXRlZDpub3QoaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSk6YWN0aXZlLCAudG91Y2ggbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOnZpc2l0ZWQ6bm90KGlucHV0W3R5cGU9XCJzdWJtaXRcIl0pOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAudG91Y2ggYTp2aXNpdGVkOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTphY3RpdmUsIC50b3VjaCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQuc2Vjb25kYXJ5Om5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTphY3RpdmUsIGxpLmZhdXgtYnV0dG9uIC50b3VjaCBhOnZpc2l0ZWQuc2Vjb25kYXJ5Om5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKTphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDY0Yjk0OyBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IHRyYW5zaXRpb246IGJhY2tncm91bmQgMHM7IH1cblxuYnV0dG9uLnNlY29uZGFyeTphZnRlciwgLnNpZ251cF9fZm9ybSBidXR0b24uYnV0dG9uOmFmdGVyLCBhLmJ1dHRvbi5zZWNvbmRhcnk6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gYS5idXR0b246YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnk6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOmFmdGVyLCBpbnB1dC5idXR0b24uc2Vjb25kYXJ5OmFmdGVyLCAuc2lnbnVwX19mb3JtIGlucHV0LmJ1dHRvbjphZnRlciwgLmJ1dHRvbjp2aXNpdGVkLnNlY29uZGFyeTphZnRlciwgLnNpZ251cF9fZm9ybSAuYnV0dG9uOnZpc2l0ZWQ6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGE6dmlzaXRlZDphZnRlciwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLnNlY29uZGFyeTphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ljb25zL2Fycm93LWJ0bi13aGl0ZS5zdmdcIik7IH1cblxuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLnNpZ251cF9fZm9ybSBidXR0b24uYnV0dG9uOmhvdmVyLCAuc2lnbnVwX19mb3JtIGJ1dHRvbi5idXR0b24uYWN0aXZlLCBidXR0b24uc2Vjb25kYXJ5LmFjdGl2ZSwgYnV0dG9uLnNlY29uZGFyeTphY3RpdmUsIC5zaWdudXBfX2Zvcm0gYnV0dG9uLmJ1dHRvbjphY3RpdmUsIGEuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLnNpZ251cF9fZm9ybSBhLmJ1dHRvbjpob3ZlciwgLnNpZ251cF9fZm9ybSBhLmJ1dHRvbi5hY3RpdmUsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5hY3RpdmUsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTpob3ZlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOmhvdmVyLCBhLmJ1dHRvbi5zZWNvbmRhcnkuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuc2Vjb25kYXJ5OmhvdmVyLCBhLmJ1dHRvbi5zZWNvbmRhcnk6YWN0aXZlLCAuc2lnbnVwX19mb3JtIGEuYnV0dG9uOmFjdGl2ZSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnk6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeTpob3ZlciwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLmFjdGl2ZSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhOmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGE6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIGEuc2Vjb25kYXJ5LmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnk6YWN0aXZlLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGE6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGE6YWN0aXZlLCBpbnB1dC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuc2lnbnVwX19mb3JtIGlucHV0LmJ1dHRvbjpob3ZlciwgaW5wdXQuYnV0dG9uLnNlY29uZGFyeTphY3RpdmUsIC5zaWdudXBfX2Zvcm0gaW5wdXQuYnV0dG9uOmFjdGl2ZSwgLmJ1dHRvbjp2aXNpdGVkLnNlY29uZGFyeTpob3ZlciwgLnNpZ251cF9fZm9ybSAuYnV0dG9uOnZpc2l0ZWQ6aG92ZXIsIC5zaWdudXBfX2Zvcm0gYS5idXR0b24uYWN0aXZlOnZpc2l0ZWQsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6dmlzaXRlZCwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLmFjdGl2ZTp2aXNpdGVkLCAuc2lnbnVwX19mb3JtIGJ1dHRvbi5idXR0b24uYWN0aXZlOnZpc2l0ZWQsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkOmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGE6dmlzaXRlZDpob3ZlciwgYS5idXR0b24uYWN0aXZlOnZpc2l0ZWQuc2Vjb25kYXJ5LCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZTp2aXNpdGVkLnNlY29uZGFyeSwgYnV0dG9uLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5zZWNvbmRhcnksIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b246dmlzaXRlZC5zZWNvbmRhcnk6YWN0aXZlLCAuc2lnbnVwX19mb3JtIC5idXR0b246dmlzaXRlZDphY3RpdmUsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOnZpc2l0ZWQ6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQuc2Vjb25kYXJ5OmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICMwNDMyNjM7IH1cblxuYnV0dG9uLnNlY29uZGFyeTpob3ZlcjphZnRlciwgLnNpZ251cF9fZm9ybSBidXR0b24uYnV0dG9uOmhvdmVyOmFmdGVyLCAuc2lnbnVwX19mb3JtIGJ1dHRvbi5idXR0b24uYWN0aXZlOmFmdGVyLCBidXR0b24uc2Vjb25kYXJ5LmFjdGl2ZTphZnRlciwgYnV0dG9uLnNlY29uZGFyeTphY3RpdmU6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gYnV0dG9uLmJ1dHRvbjphY3RpdmU6YWZ0ZXIsIGEuYnV0dG9uLnNlY29uZGFyeTpob3ZlcjphZnRlciwgLnNpZ251cF9fZm9ybSBhLmJ1dHRvbjpob3ZlcjphZnRlciwgLnNpZ251cF9fZm9ybSBhLmJ1dHRvbi5hY3RpdmU6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5hY3RpdmU6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTpob3ZlcjphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5zZWNvbmRhcnkuYWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeS5hY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEuc2Vjb25kYXJ5OmhvdmVyOmFmdGVyLCBhLmJ1dHRvbi5zZWNvbmRhcnk6YWN0aXZlOmFmdGVyLCAuc2lnbnVwX19mb3JtIGEuYnV0dG9uOmFjdGl2ZTphZnRlciwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhOmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnk6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeTpob3ZlcjphZnRlciwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLmFjdGl2ZTphZnRlciwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhOmhvdmVyOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGE6aG92ZXI6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEuc2Vjb25kYXJ5LmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnk6YWN0aXZlOmFmdGVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGE6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGE6YWN0aXZlOmFmdGVyLCBpbnB1dC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyOmFmdGVyLCAuc2lnbnVwX19mb3JtIGlucHV0LmJ1dHRvbjpob3ZlcjphZnRlciwgaW5wdXQuYnV0dG9uLnNlY29uZGFyeTphY3RpdmU6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gaW5wdXQuYnV0dG9uOmFjdGl2ZTphZnRlciwgLmJ1dHRvbjp2aXNpdGVkLnNlY29uZGFyeTpob3ZlcjphZnRlciwgLnNpZ251cF9fZm9ybSAuYnV0dG9uOnZpc2l0ZWQ6aG92ZXI6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gYS5idXR0b24uYWN0aXZlOnZpc2l0ZWQ6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6dmlzaXRlZDphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLmFjdGl2ZTp2aXNpdGVkOmFmdGVyLCAuc2lnbnVwX19mb3JtIGJ1dHRvbi5idXR0b24uYWN0aXZlOnZpc2l0ZWQ6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkOmhvdmVyOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGE6dmlzaXRlZDpob3ZlcjphZnRlciwgYS5idXR0b24uYWN0aXZlOnZpc2l0ZWQuc2Vjb25kYXJ5OmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZTp2aXNpdGVkLnNlY29uZGFyeTphZnRlciwgYnV0dG9uLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5zZWNvbmRhcnk6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZC5zZWNvbmRhcnk6aG92ZXI6YWZ0ZXIsIC5idXR0b246dmlzaXRlZC5zZWNvbmRhcnk6YWN0aXZlOmFmdGVyLCAuc2lnbnVwX19mb3JtIC5idXR0b246dmlzaXRlZDphY3RpdmU6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkOmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOnZpc2l0ZWQ6YWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQuc2Vjb25kYXJ5OmFjdGl2ZTphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ljb25zL2Fycm93LWJ0bi15ZWxsb3cuc3ZnXCIpOyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IGJ1dHRvbi5zZWNvbmRhcnk6aG92ZXI6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gYnV0dG9uLmJ1dHRvbjpob3ZlcjphZnRlciwgLnNpZ251cF9fZm9ybSBidXR0b24uYnV0dG9uLmFjdGl2ZTphZnRlciwgYnV0dG9uLnNlY29uZGFyeS5hY3RpdmU6YWZ0ZXIsIGJ1dHRvbi5zZWNvbmRhcnk6YWN0aXZlOmFmdGVyLCAuc2lnbnVwX19mb3JtIGJ1dHRvbi5idXR0b246YWN0aXZlOmFmdGVyLCBhLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXI6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gYS5idXR0b246aG92ZXI6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gYS5idXR0b24uYWN0aXZlOmFmdGVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEuYWN0aXZlOmFmdGVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGE6aG92ZXI6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYTpob3ZlcjphZnRlciwgYS5idXR0b24uc2Vjb25kYXJ5LmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnkuYWN0aXZlOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeTpob3ZlcjphZnRlciwgYS5idXR0b24uc2Vjb25kYXJ5OmFjdGl2ZTphZnRlciwgLnNpZ251cF9fZm9ybSBhLmJ1dHRvbjphY3RpdmU6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYTphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEuc2Vjb25kYXJ5OmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnk6aG92ZXI6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5hY3RpdmU6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTpob3ZlcjphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOmhvdmVyOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeS5hY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGEuc2Vjb25kYXJ5OmFjdGl2ZTphZnRlciwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhOmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOmFjdGl2ZTphZnRlciwgaW5wdXQuYnV0dG9uLnNlY29uZGFyeTpob3ZlcjphZnRlciwgLnNpZ251cF9fZm9ybSBpbnB1dC5idXR0b246aG92ZXI6YWZ0ZXIsIGlucHV0LmJ1dHRvbi5zZWNvbmRhcnk6YWN0aXZlOmFmdGVyLCAuc2lnbnVwX19mb3JtIGlucHV0LmJ1dHRvbjphY3RpdmU6YWZ0ZXIsIC5idXR0b246dmlzaXRlZC5zZWNvbmRhcnk6aG92ZXI6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gLmJ1dHRvbjp2aXNpdGVkOmhvdmVyOmFmdGVyLCAuc2lnbnVwX19mb3JtIGEuYnV0dG9uLmFjdGl2ZTp2aXNpdGVkOmFmdGVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlOnZpc2l0ZWQ6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5hY3RpdmU6dmlzaXRlZDphZnRlciwgLnNpZ251cF9fZm9ybSBidXR0b24uYnV0dG9uLmFjdGl2ZTp2aXNpdGVkOmFmdGVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZDpob3ZlcjphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOnZpc2l0ZWQ6aG92ZXI6YWZ0ZXIsIGEuYnV0dG9uLmFjdGl2ZTp2aXNpdGVkLnNlY29uZGFyeTphZnRlciwgbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6dmlzaXRlZC5zZWNvbmRhcnk6YWZ0ZXIsIGJ1dHRvbi5idXR0b24uYWN0aXZlOnZpc2l0ZWQuc2Vjb25kYXJ5OmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQuc2Vjb25kYXJ5OmhvdmVyOmFmdGVyLCAuYnV0dG9uOnZpc2l0ZWQuc2Vjb25kYXJ5OmFjdGl2ZTphZnRlciwgLnNpZ251cF9fZm9ybSAuYnV0dG9uOnZpc2l0ZWQ6YWN0aXZlOmFmdGVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZDphY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYTp2aXNpdGVkOmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLnNlY29uZGFyeTphY3RpdmU6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiAjRkRDNDAwOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmcpOyB9IH1cblxuYnV0dG9uLmNsZWFyLCBhLmJ1dHRvbi5jbGVhciwgbGkuZmF1eC1idXR0b24gYS5jbGVhciwgbGkuZmF1eC1idXR0b24gYS5jbGVhciwgaW5wdXQuYnV0dG9uLmNsZWFyLCAuYnV0dG9uOnZpc2l0ZWQuY2xlYXIsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZC5jbGVhciB7IGJvcmRlci1yYWRpdXM6IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICMwNDMyNjM7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5idXR0b24uY2xlYXI6YWZ0ZXIsIGEuYnV0dG9uLmNsZWFyOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLmNsZWFyOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBhLmNsZWFyOmFmdGVyLCBpbnB1dC5idXR0b24uY2xlYXI6YWZ0ZXIsIC5idXR0b246dmlzaXRlZC5jbGVhcjphZnRlciwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLmNsZWFyOmFmdGVyIHsgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMWVtOyBib3R0b206IDEwcHg7IGhlaWdodDogM3B4OyB3aWR0aDogY2FsYygxMDAlIC0gMmVtKTsgYmFja2dyb3VuZDogI0ZEQzQwMDsgfVxuXG5idXR0b24uY2xlYXI6YWN0aXZlLCBidXR0b24uY2xlYXI6aG92ZXIsIGJ1dHRvbi5jbGVhci5hY3RpdmUsIGEuYnV0dG9uLmNsZWFyOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5jbGVhcjphY3RpdmUsIGEuYnV0dG9uLmNsZWFyOmhvdmVyLCBhLmJ1dHRvbi5jbGVhci5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuY2xlYXIuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLmNsZWFyOmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiBhLmNsZWFyOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5jbGVhcjpob3ZlciwgbGkuZmF1eC1idXR0b24gYS5jbGVhci5hY3RpdmUsIGlucHV0LmJ1dHRvbi5jbGVhcjphY3RpdmUsIGlucHV0LmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbjp2aXNpdGVkLmNsZWFyOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLmNsZWFyOmFjdGl2ZSwgLmJ1dHRvbjp2aXNpdGVkLmNsZWFyOmhvdmVyLCBhLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5jbGVhciwgbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6dmlzaXRlZC5jbGVhciwgYnV0dG9uLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5jbGVhciwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLmNsZWFyOmhvdmVyIHsgYmFja2dyb3VuZDogIzBGNTg5QTsgY29sb3I6ICNGRkY7IH1cblxuYnV0dG9uLmRpc2FibGVkLCBidXR0b246ZGlzYWJsZWQsIGEuYnV0dG9uLmRpc2FibGVkLCBsaS5mYXV4LWJ1dHRvbiBhLmRpc2FibGVkLCBhLmJ1dHRvbjpkaXNhYmxlZCwgbGkuZmF1eC1idXR0b24gYTpkaXNhYmxlZCwgbGkuZmF1eC1idXR0b24gYS5kaXNhYmxlZCwgbGkuZmF1eC1idXR0b24gYTpkaXNhYmxlZCwgaW5wdXQuYnV0dG9uLmRpc2FibGVkLCBpbnB1dC5idXR0b246ZGlzYWJsZWQsIC5idXR0b246dmlzaXRlZC5kaXNhYmxlZCwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLmRpc2FibGVkLCAuYnV0dG9uOnZpc2l0ZWQ6ZGlzYWJsZWQsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZDpkaXNhYmxlZCB7IGJhY2tncm91bmQ6ICNCMUIxQjE7IGNvbG9yOiAjRkZGOyB9XG5cbmJ1dHRvbi5kaXNhYmxlZDphY3RpdmUsIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYnV0dG9uLmRpc2FibGVkLmFjdGl2ZSwgYnV0dG9uOmRpc2FibGVkOmFjdGl2ZSwgYnV0dG9uOmRpc2FibGVkOmhvdmVyLCBidXR0b24uYWN0aXZlOmRpc2FibGVkLCBhLmJ1dHRvbi5kaXNhYmxlZDphY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQ6YWN0aXZlLCBhLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgYS5idXR0b24uZGlzYWJsZWQuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLmRpc2FibGVkLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5kaXNhYmxlZDpob3ZlciwgYS5idXR0b246ZGlzYWJsZWQ6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhOmRpc2FibGVkOmFjdGl2ZSwgYS5idXR0b246ZGlzYWJsZWQ6aG92ZXIsIGEuYnV0dG9uLmFjdGl2ZTpkaXNhYmxlZCwgbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6ZGlzYWJsZWQsIGxpLmZhdXgtYnV0dG9uIGE6ZGlzYWJsZWQ6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIGEuZGlzYWJsZWQ6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhLmRpc2FibGVkOmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiBhLmRpc2FibGVkLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYTpkaXNhYmxlZDphY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGE6ZGlzYWJsZWQ6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlOmRpc2FibGVkLCBpbnB1dC5idXR0b24uZGlzYWJsZWQ6YWN0aXZlLCBpbnB1dC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIGlucHV0LmJ1dHRvbjpkaXNhYmxlZDphY3RpdmUsIGlucHV0LmJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmJ1dHRvbjp2aXNpdGVkLmRpc2FibGVkOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLmRpc2FibGVkOmFjdGl2ZSwgLmJ1dHRvbjp2aXNpdGVkLmRpc2FibGVkOmhvdmVyLCBhLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5kaXNhYmxlZCwgbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6dmlzaXRlZC5kaXNhYmxlZCwgYnV0dG9uLmJ1dHRvbi5hY3RpdmU6dmlzaXRlZC5kaXNhYmxlZCwgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uOnZpc2l0ZWQ6ZGlzYWJsZWQ6YWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQ6ZGlzYWJsZWQ6YWN0aXZlLCAuYnV0dG9uOnZpc2l0ZWQ6ZGlzYWJsZWQ6aG92ZXIsIGEuYnV0dG9uLmFjdGl2ZTp2aXNpdGVkOmRpc2FibGVkLCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZTp2aXNpdGVkOmRpc2FibGVkLCBidXR0b24uYnV0dG9uLmFjdGl2ZTp2aXNpdGVkOmRpc2FibGVkLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQ6ZGlzYWJsZWQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjQjFCMUIxOyBjb2xvcjogI0ZGRjsgfVxuXG5idXR0b246aG92ZXIsIGJ1dHRvbi5hY3RpdmUsIGJ1dHRvbjphY3RpdmUsIGJ1dHRvbjpmb2N1cywgYS5idXR0b246aG92ZXIsIGEuYnV0dG9uLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGE6aG92ZXIsIGEuYnV0dG9uOmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYTphY3RpdmUsIGEuYnV0dG9uOmZvY3VzLCBsaS5mYXV4LWJ1dHRvbiBhOmZvY3VzLCBsaS5mYXV4LWJ1dHRvbiBhOmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYTphY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGE6Zm9jdXMsIGlucHV0LmJ1dHRvbjpob3ZlciwgaW5wdXQuYnV0dG9uOmFjdGl2ZSwgaW5wdXQuYnV0dG9uOmZvY3VzLCAuYnV0dG9uOnZpc2l0ZWQ6aG92ZXIsIGEuYnV0dG9uLmFjdGl2ZTp2aXNpdGVkLCBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZTp2aXNpdGVkLCBidXR0b24uYnV0dG9uLmFjdGl2ZTp2aXNpdGVkLCBsaS5mYXV4LWJ1dHRvbiBhOnZpc2l0ZWQ6aG92ZXIsIC5idXR0b246dmlzaXRlZDphY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZDphY3RpdmUsIC5idXR0b246dmlzaXRlZDpmb2N1cywgbGkuZmF1eC1idXR0b24gYTp2aXNpdGVkOmZvY3VzIHsgY29sb3I6ICNGRkY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgYnV0dG9uLCBhLmJ1dHRvbiwgbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gYSwgaW5wdXQuYnV0dG9uLCAuYnV0dG9uOnZpc2l0ZWQsIGxpLmZhdXgtYnV0dG9uIGE6dmlzaXRlZCB7IHdpZHRoOiAxMDAlOyB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuaW5wdXQuYnV0dG9uLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNy45ODYnIGhlaWdodD0nMTUuNjk2JyB2aWV3Qm94PScwIDAgNy45ODYgMTUuNjk2JyUzRSUzQ3BhdGggaWQ9J2Fycm93JyBkYXRhLW5hbWU9J1BhdGggNTQ2OCcgZD0nTS0xODA5NS4zOTMsMzIxMy4xODJsNC4zNzksNS45NDktNC4zNzksNS41NDInIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE4MDk3LjUgLTMyMTEuMDg0KScgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwNDMyNjMnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJy8lM0UlM0Mvc3ZnJTNFXCIpOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAyNXB4KSBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZTogOHB4IDE1cHg7IH1cblxuaW5wdXQuYnV0dG9uOmhvdmVyLCBpbnB1dC5idXR0b246YWN0aXZlLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzcuOTg2JyBoZWlnaHQ9JzE1LjY5Nicgdmlld0JveD0nMCAwIDcuOTg2IDE1LjY5NiclM0UlM0NwYXRoIGlkPSdhcnJvdycgZGF0YS1uYW1lPSdQYXRoIDU0NjgnIGQ9J00tMTgwOTUuMzkzLDMyMTMuMTgybDQuMzc5LDUuOTQ5LTQuMzc5LDUuNTQyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxODA5Ny41IC0zMjExLjA4NCknIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzRkRDNDAwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG5pbnB1dC5idXR0b24uc2Vjb25kYXJ5LCAuc2lnbnVwX19mb3JtIGlucHV0LmJ1dHRvbiwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5zZWNvbmRhcnksIC5zaWdudXBfX2Zvcm0gaW5wdXQuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0geyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc3Ljk4NicgaGVpZ2h0PScxNS42OTYnIHZpZXdCb3g9JzAgMCA3Ljk4NiAxNS42OTYnJTNFJTNDcGF0aCBpZD0nYXJyb3cnIGRhdGEtbmFtZT0nUGF0aCA1NDY4JyBkPSdNLTE4MDk1LjM5MywzMjEzLjE4Mmw0LjM3OSw1Ljk0OS00LjM3OSw1LjU0MicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMTgwOTcuNSAtMzIxMS4wODQpJyBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZGRkZGRicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuaW5wdXQuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLnNpZ251cF9fZm9ybSBpbnB1dC5idXR0b246aG92ZXIsIGlucHV0LmJ1dHRvbi5zZWNvbmRhcnk6YWN0aXZlLCAuc2lnbnVwX19mb3JtIGlucHV0LmJ1dHRvbjphY3RpdmUsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uc2Vjb25kYXJ5OmhvdmVyLCAuc2lnbnVwX19mb3JtIGlucHV0LmJ1dHRvblt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnNlY29uZGFyeTphY3RpdmUsIC5zaWdudXBfX2Zvcm0gaW5wdXQuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNy45ODYnIGhlaWdodD0nMTUuNjk2JyB2aWV3Qm94PScwIDAgNy45ODYgMTUuNjk2JyUzRSUzQ3BhdGggaWQ9J2Fycm93JyBkYXRhLW5hbWU9J1BhdGggNTQ2OCcgZD0nTS0xODA5NS4zOTMsMzIxMy4xODJsNC4zNzksNS45NDktNC4zNzksNS41NDInIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE4MDk3LjUgLTMyMTEuMDg0KScgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNGREM0MDAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbmlucHV0LmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b24sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNy45ODYnIGhlaWdodD0nMTUuNjk2JyB2aWV3Qm94PScwIDAgNy45ODYgMTUuNjk2JyUzRSUzQ3BhdGggaWQ9J1BhdGhfNTQ2OCcgZGF0YS1uYW1lPSdQYXRoIDU0NjgnIGQ9J00tMTgwOTUuMzkzLDMyMTMuMTgybDQuMzc5LDUuOTQ5LTQuMzc5LDUuNTQyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMTgwODkuNTE0IDMyMjYuNzgpIHJvdGF0ZSgxODApJyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzA0MzI2Mycgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnLyUzRSUzQy9zdmclM0VcIik7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoNiUpIGNlbnRlcjsgcGFkZGluZzogMS4yNWVtIDEuNGVtIDEuMjVlbSAyLjhlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IGlucHV0LmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b24sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxOSUpIGNlbnRlcjsgfSB9XG5cbmlucHV0LmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b246aG92ZXIsIGlucHV0LmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b246YWN0aXZlLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmdmb3JtX3ByZXZpb3VzX2J1dHRvbjpob3ZlciwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5nZm9ybV9wcmV2aW91c19idXR0b246YWN0aXZlIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNy45ODYnIGhlaWdodD0nMTUuNjk2JyB2aWV3Qm94PScwIDAgNy45ODYgMTUuNjk2JyUzRSUzQ3BhdGggaWQ9J1BhdGhfNTQ2OCcgZGF0YS1uYW1lPSdQYXRoIDU0NjgnIGQ9J00tMTgwOTUuMzkzLDMyMTMuMTgybDQuMzc5LDUuOTQ5LTQuMzc5LDUuNTQyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMTgwODkuNTE0IDMyMjYuNzgpIHJvdGF0ZSgxODApJyBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZEQzQwMCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmJ1dHRvbl9yb3cgLmNlbGwgeyBwYWRkaW5nOiA0MHB4IDA7IH1cblxuLmJ1dHRvbl9fZ3JpZCAuZ3JleV9fY2VsbCwgLmJ1dHRvbl9fZ3JpZCBhIC5ncmV5X19jZWxsIHsgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNGREM0MDA7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGNvbG9yOiAjNzA3MDcwOyBwYWRkaW5nOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IHRyYW5zaXRpb246IGFsbCAwLjNzOyB9XG5cbi5idXR0b25fX2dyaWQgLmdyZXlfX2NlbGwgdWwsIC5idXR0b25fX2dyaWQgYSAuZ3JleV9fY2VsbCB1bCB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmJ1dHRvbl9fZ3JpZCBhLmdyZXlfX2lubmVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idXR0b25fX2dyaWQgYS5ncmV5X19pbm5lcjpob3ZlciAuZ3JleV9fY2VsbCwgLmJ1dHRvbl9fZ3JpZCBhLmdyZXlfX2lubmVyLmFjdGl2ZSAuZ3JleV9fY2VsbCwgLmJ1dHRvbl9fZ3JpZCBhLmdyZXlfX2lubmVyOmFjdGl2ZSAuZ3JleV9fY2VsbCB7IHRyYW5zaXRpb246IGFsbCAwLjdzOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1ODlBOyBjb2xvcjogIzBGNTg5QTsgfVxuXG4uYnV0dG9uX19ncmlkIGEuZ3JleV9faW5uZXI6aG92ZXIgLmdyZXlfX2NlbGwgaDMsIC5idXR0b25fX2dyaWQgYS5ncmV5X19pbm5lci5hY3RpdmUgLmdyZXlfX2NlbGwgaDMsIC5idXR0b25fX2dyaWQgYS5ncmV5X19pbm5lcjpob3ZlciAuZ3JleV9fY2VsbCAuaDUsIC5idXR0b25fX2dyaWQgYS5ncmV5X19pbm5lci5hY3RpdmUgLmdyZXlfX2NlbGwgLmg1LCAuYnV0dG9uX19ncmlkIGEuZ3JleV9faW5uZXI6aG92ZXIgLmdyZXlfX2NlbGwgcCwgLmJ1dHRvbl9fZ3JpZCBhLmdyZXlfX2lubmVyLmFjdGl2ZSAuZ3JleV9fY2VsbCBwLCAuYnV0dG9uX19ncmlkIGEuZ3JleV9faW5uZXI6aG92ZXIgLmdyZXlfX2NlbGwgYSwgLmJ1dHRvbl9fZ3JpZCBhLmdyZXlfX2lubmVyLmFjdGl2ZSAuZ3JleV9fY2VsbCBhLCAuYnV0dG9uX19ncmlkIGEuZ3JleV9faW5uZXI6aG92ZXIgLmdyZXlfX2NlbGwgc3BhbiwgLmJ1dHRvbl9fZ3JpZCBhLmdyZXlfX2lubmVyLmFjdGl2ZSAuZ3JleV9fY2VsbCBzcGFuLCAuYnV0dG9uX19ncmlkIGEuZ3JleV9faW5uZXI6YWN0aXZlIC5ncmV5X19jZWxsIGgzLCAuYnV0dG9uX19ncmlkIGEuZ3JleV9faW5uZXI6YWN0aXZlIC5ncmV5X19jZWxsIC5oNSwgLmJ1dHRvbl9fZ3JpZCBhLmdyZXlfX2lubmVyOmFjdGl2ZSAuZ3JleV9fY2VsbCBwLCAuYnV0dG9uX19ncmlkIGEuZ3JleV9faW5uZXI6YWN0aXZlIC5ncmV5X19jZWxsIGEsIC5idXR0b25fX2dyaWQgYS5ncmV5X19pbm5lcjphY3RpdmUgLmdyZXlfX2NlbGwgc3BhbiB7IGNvbG9yOiAjZmZmOyB9XG5cbi5idXR0b25fX2dyaWQgLmJ1dHRvbl9fc2ltcGxlIHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgY29sb3I6ICNGREM0MDA7IHBhZGRpbmc6IDIwcHg7IG1hcmdpbi1ib3R0b206IDEwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdHJhbnNpdGlvbjogYWxsIDAuM3M7IH1cblxuLmJ1dHRvbl9fZ3JpZCAuYnV0dG9uX19zaW1wbGUgaDUsIC5idXR0b25fX2dyaWQgLmJ1dHRvbl9fc2ltcGxlIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5idXR0b25fX2dyaWQgLmJ1dHRvbl9fc2ltcGxlIHAgeyBtaW4taGVpZ2h0OiA1NXB4OyB9XG5cbi5idXR0b25fX2dyaWQgLmJ1dHRvbl9fc2ltcGxlIHAgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5idXR0b25fX2dyaWQgLmJ1dHRvbl9fc2ltcGxlIGEgeyBjb2xvcjogI0ZEQzQwMDsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDIwcHg7IGxlZnQ6IDIwcHg7IHRyYW5zaXRpb246IGFsbCAwLjNzOyB9XG5cbi5idXR0b25fX2dyaWQgLmJ1dHRvbl9fc2ltcGxlOmhvdmVyLCAuYnV0dG9uX19ncmlkIGEuYnV0dG9uX19zaW1wbGUuYWN0aXZlLCAuYnV0dG9uX19ncmlkIGJ1dHRvbi5idXR0b25fX3NpbXBsZS5hY3RpdmUsIC5idXR0b25fX2dyaWQgLmJ1dHRvbl9fc2ltcGxlOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICM3NjcxNzU7IGNvbG9yOiAjMEY1ODlBOyB9XG5cbi5idXR0b25fX2dyaWQgLmJ1dHRvbl9fc2ltcGxlOmhvdmVyIGEsIC5idXR0b25fX2dyaWQgYS5idXR0b25fX3NpbXBsZS5hY3RpdmUgYSwgLmJ1dHRvbl9fZ3JpZCBidXR0b24uYnV0dG9uX19zaW1wbGUuYWN0aXZlIGEsIC5idXR0b25fX2dyaWQgLmJ1dHRvbl9fc2ltcGxlOmFjdGl2ZSBhIHsgY29sb3I6ICMwRjU4OUE7IH1cblxuLmJ1dHRvbl9fZ3JpZCAuYnV0dG9uX19zaW1wbGUuZGV0YWlscyB7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZy10b3A6IDUwcHg7IHBhZGRpbmctYm90dG9tOiA3MHB4OyB9XG5cbi5idXR0b25fX2dyaWQgLmJ1dHRvbl9fc2ltcGxlLmRldGFpbHMgaDUsIC5idXR0b25fX2dyaWQgLmJ1dHRvbl9fc2ltcGxlLmRldGFpbHMgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmJ1dHRvbl9fZ3JpZCAuYnV0dG9uX19zaW1wbGUuZGV0YWlscyBwIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgbWluLWhlaWdodDogdW5zZXQ7IH1cblxuLmJ1dHRvbl9fZ3JpZCAuYnV0dG9uX19zaW1wbGUuZGV0YWlscyBwIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgY29sb3I6ICMwRjU4OUE7IH1cblxuLmJ1dHRvbl9fZ3JpZCAuYnV0dG9uX19zaW1wbGUuZGV0YWlscyBhIHsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXdlaWdodDogYm9sZDsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiB1bnNldDsgYm90dG9tOiB1bnNldDsgfVxuXG4uYnV0dG9uX19ncmlkIC5idXR0b25fX3NpbXBsZS5kZXRhaWxzOmhvdmVyIHAsIC5idXR0b25fX2dyaWQgYS5idXR0b25fX3NpbXBsZS5kZXRhaWxzLmFjdGl2ZSBwLCAuYnV0dG9uX19ncmlkIGJ1dHRvbi5idXR0b25fX3NpbXBsZS5kZXRhaWxzLmFjdGl2ZSBwLCAuYnV0dG9uX19ncmlkIC5idXR0b25fX3NpbXBsZS5kZXRhaWxzOmFjdGl2ZSBwIHsgY29sb3I6ICMwRjU4OUE7IH1cblxuLmhlcm9fX2J1dHRvbl9fd3JhcCAuYnV0dG9uLCAuaGVyb19fYnV0dG9uX193cmFwIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5oZXJvX19idXR0b25fX3dyYXAgYSB7IG1hcmdpbi10b3A6IDM1cHg7IH1cblxuLmJ1dHRvbl9fZnVsbHdpZHRoIC5idXR0b25fX3NpbXBsZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBwYWRkaW5nOiAyMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjRkRDNDAwOyB9XG5cbi5idXR0b25fX2Z1bGx3aWR0aCAuYnV0dG9uX19zaW1wbGUgcCB7IGhlaWdodDogZml0LWNvbnRlbnQ7IG1hcmdpbjogYXV0byAwOyB9XG5cbi5idXR0b25fX2Z1bGx3aWR0aCAuYnV0dG9uX19zaW1wbGUgYSB7IG1hcmdpbjogYXV0byAwIGF1dG8gYXV0bzsgfVxuXG4uYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgeyBwYWRkaW5nOiAwcHg7IH1cblxuLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIGEsIC5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBzcGFuLm5vLWxpbmsgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgcGFkZGluZzogMjBweDsgd2lkdGg6IDEwMCU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgcG9zaXRpb246IHJlbGF0aXZlOyBib3R0b206IDA7IGxlZnQ6IDA7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IG1hcmdpbi1ib3R0b206IDE1cHg7IGNvbG9yOiAjMDQzMjYzOyBib3JkZXItcmFkaXVzOiA1cHg7IHRyYW5zaXRpb246IGFsbCAwLjI1czsgfVxuXG4ubWVkaWEgLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIGEsIC5tZWRpYSAuYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgc3Bhbi5uby1saW5rIHsgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyBwYWRkaW5nOiAwIDAgMjBweDsgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNFNEU0RTQ7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgLm1lZGlhIC5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBhLCAubWVkaWEgLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIHNwYW4ubm8tbGluayB7IG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuXG4ubWVkaWEgLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIGE6aG92ZXIsIC5tZWRpYSAuYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgYS5hY3RpdmUsIC5tZWRpYSAuYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgYTphY3RpdmUsIC5tZWRpYSAuYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgc3Bhbi5uby1saW5rOmhvdmVyLCAubWVkaWEgLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIHNwYW4ubm8tbGluazphY3RpdmUgeyBjb2xvcjogIzA0MzI2MzsgfVxuXG4uYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgYTpob3ZlciwgLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIGEuYWN0aXZlLCAuYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgYTphY3RpdmUsIC5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBzcGFuLm5vLWxpbms6aG92ZXIsIC5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBzcGFuLm5vLWxpbms6YWN0aXZlIHsgY29sb3I6ICNGREM0MDA7IGJhY2tncm91bmQtY29sb3I6ICMwNDMyNjM7IH1cblxuLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIGE6aG92ZXIgLmFycm93LWJ0biwgLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIGEuYWN0aXZlIC5hcnJvdy1idG4sIC5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBhOmFjdGl2ZSAuYXJyb3ctYnRuLCAuYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgc3Bhbi5uby1saW5rOmhvdmVyIC5hcnJvdy1idG4sIC5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBzcGFuLm5vLWxpbms6YWN0aXZlIC5hcnJvdy1idG4geyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvYnRuYXJyb3ctaG92ZXIuc3ZnKTsgfVxuXG5Ac3VwcG9ydHMgKG1hc2staW1hZ2U6IHVybChcIlwiKSkgeyAuYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgYTpob3ZlciAuYXJyb3ctYnRuLCAuYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgYS5hY3RpdmUgLmFycm93LWJ0biwgLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIGE6YWN0aXZlIC5hcnJvdy1idG4sIC5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBzcGFuLm5vLWxpbms6aG92ZXIgLmFycm93LWJ0biwgLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIHNwYW4ubm8tbGluazphY3RpdmUgLmFycm93LWJ0biB7IGJhY2tncm91bmQ6ICNGREM0MDA7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9idG5hcnJvdy1ob3Zlci5zdmcpOyBtYXNrLXNpemU6IDE1cHggMTVweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG5cbi5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBhIHAsIC5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBzcGFuLm5vLWxpbmsgcCB7IGhlaWdodDogZml0LWNvbnRlbnQ7IG1hcmdpbjogYXV0byAwOyBmb250LXdlaWdodDogODAwOyBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBhIC5hcnJvdy1idG4sIC5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBzcGFuLm5vLWxpbmsgLmFycm93LWJ0biB7IGhlaWdodDogMTVweDsgbWluLXdpZHRoOiAxNXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwOyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvYnRuYXJyb3cuc3ZnKTsgYmFja2dyb3VuZC1zaXplOiAxNXB4IDE1cHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5Ac3VwcG9ydHMgKG1hc2staW1hZ2U6IHVybChcIlwiKSkgeyAuYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgYSAuYXJyb3ctYnRuLCAuYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgc3Bhbi5uby1saW5rIC5hcnJvdy1idG4geyBiYWNrZ3JvdW5kOiAjMDQzMjYzOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYnRuYXJyb3cuc3ZnKTsgbWFzay1zaXplOiAxNXB4IDE1cHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG4uYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgYSAuZG93bmxvYWQtYnRuLCAuYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgc3Bhbi5uby1saW5rIC5kb3dubG9hZC1idG4geyBoZWlnaHQ6IDE1cHg7IHdpZHRoOiAxNXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwOyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bmxvYWQtYnRuQDJ4LnBuZyk7IGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIGEgLmRvd25sb2FkLWJ0biwgLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIHNwYW4ubm8tbGluayAuZG93bmxvYWQtYnRuIHsgYmFja2dyb3VuZDogIzA0MzI2MzsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd25sb2FkLWljb24uc3ZnKTsgbWFzay1zaXplOiAxNXB4IDE1cHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG4uYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUgc3Bhbi5uby1saW5rIHsgY29sb3I6ICMwNDMyNjM7IH1cblxuLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIHNwYW4ubm8tbGluazpob3ZlciwgLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlIHNwYW4ubm8tbGluazphY3RpdmUgeyBjb2xvcjogIzA0MzI2MzsgfVxuXG4uYnV0dG9uX19oYWxmaGFsZiAuYnV0dG9uX19zaW1wbGUuYnV0dG9uX19zaW1wbGVfZWxlY3Rpb24gYSB7IGJhY2tncm91bmQtY29sb3I6ICMwRjU4OUE7IH1cblxuLmJ1dHRvbl9faGFsZmhhbGYgLmJ1dHRvbl9fc2ltcGxlLmJ1dHRvbl9fc2ltcGxlX2VsZWN0aW9uIC5lbGVjdGlvbi1idG4geyBoZWlnaHQ6IDE1cHg7IHdpZHRoOiAxNXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwOyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvYnRuZWxlY3Rpb24uc3ZnKTsgYmFja2dyb3VuZC1zaXplOiAxNXB4IDE1cHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYnV0dG9uX19jYXJkIHsgYm9yZGVyLXRvcDogMTRweCBzb2xpZCAjMEY1ODlBOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZTVlOTsgcGFkZGluZzogMTBweCAwcHg7IH1cblxuLmJ1dHRvbl9fY2FyZCBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idXR0b25fX2NhcmQgYSBoNTphZnRlciwgLmJ1dHRvbl9fY2FyZCBhIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHA6YWZ0ZXIsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5idXR0b25fX2NhcmQgYSBwOmFmdGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAxMHB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9hcnJvdy1uZXh0QDJ4LnBuZyk7IGJhY2tncm91bmQtc2l6ZTogOXB4IDEzcHg7IHdpZHRoOiA5cHg7IGhlaWdodDogMTNweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IC5icmVhZGNydW1iLXdyYXAgKyAuZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50IHsgdG9wOiAxMzVweDsgfSB9XG5cbi5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQgeyBtaW4td2lkdGg6IDIyMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzMjYzOyBjb2xvcjogI0ZGRjsgYm9yZGVyLXJhZGl1czogMHB4IDBweCA1cHggNXB4OyBtYXJnaW4tbGVmdDogMy42cmVtOyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMTI4cHg7IHotaW5kZXg6IDk5NjsgcGFkZGluZzogMTBweCAzMHB4OyBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQuZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50X21vYmlsZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50IHsgZGlzcGxheTogbm9uZTsgfVxuICAuZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50LmRyb3Bkb3duX190YWJsZW9mY29udGVudF9tb2JpbGUgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDogMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMHB4OyBtaW4td2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQuZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50X21vYmlsZSB7IG1pbi13aWR0aDogY2FsYygxMDAlIC0gMS41cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IC5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQuZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50X21vYmlsZSAuZHJvcGRvd24tY29udGVudCB7IG1pbi13aWR0aDogMTAwJTsgfSB9XG5cbi5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQgcCB7IGZvbnQtd2VpZ2h0OiA3MDA7IG1hcmdpbjogMHB4OyB9XG5cbi5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQgcDphZnRlciB7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMTVweDsgaGVpZ2h0OiAyNXB4OyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy15ZWxsb3cuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluOyBmbG9hdDogcmlnaHQ7IHRyYW5zaXRpb246IGFsbCAwLjVzOyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IC5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQgcDphZnRlciB7IGJhY2tncm91bmQ6ICNGREM0MDA7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9kb3duLWFycm93LXllbGxvdy5zdmcpOyBtYXNrLXNpemU6IGNvbnRhaW47IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH0gfVxuXG4uZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50IC5kcm9wZG93bi1jb250ZW50IHsgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwcHg7IGJhY2tncm91bmQtY29sb3I6ICMwNDMyNjM7IGNvbG9yOiAjRkZGOyBtaW4td2lkdGg6IDIyMHB4OyBtYXgtaGVpZ2h0OiA1MHZoOyBvdmVyZmxvdzogc2Nyb2xsOyBib3gtc2hhZG93OiAwcHggOHB4IDE2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgcGFkZGluZzogMTVweCAxMHB4OyB6LWluZGV4OiAxOyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7IH1cblxuLmRyb3Bkb3duX190YWJsZW9mY29udGVudCAuZHJvcGRvd24tY29udGVudCB1bCB7IG1hcmdpbjogMHB4OyBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQgLmRyb3Bkb3duLWNvbnRlbnQgdWwgbGkgeyBwYWRkaW5nOiAxMHB4IDBweCAxMHB4IDIwcHg7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDIyOCwgMjI4LCAyMjgsIDAuMik7IH1cblxuLmRyb3Bkb3duX190YWJsZW9mY29udGVudCAuZHJvcGRvd24tY29udGVudCB1bCBsaSBhIHsgY29sb3I6ICNmZmY7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZm9udC1zaXplOiAxNnB4OyB0cmFuc2l0aW9uOiBhbGwgMC41czsgfVxuXG4uZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50IC5kcm9wZG93bi1jb250ZW50IHVsIGxpOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB3aWR0aDogMTNweDsgaGVpZ2h0OiAyNXB4OyBmbG9hdDogbGVmdDsgbWFyZ2luLWxlZnQ6IC0xOXB4OyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvdGJjX3doaXRlLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvY29udGFpbjsgdHJhbnNpdGlvbjogYWxsIDAuNXM7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmRyb3Bkb3duX190YWJsZW9mY29udGVudCAuZHJvcGRvd24tY29udGVudCB1bCBsaTpiZWZvcmUgeyBiYWNrZ3JvdW5kOiAjRkZGOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvdGJjX3doaXRlLnN2Zyk7IG1hc2stc2l6ZTogY29udGFpbjsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgbWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfSB9XG5cbi5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQgLmRyb3Bkb3duLWNvbnRlbnQgdWwgbGk6aG92ZXIgYSwgLmRyb3Bkb3duX190YWJsZW9mY29udGVudCAuZHJvcGRvd24tY29udGVudCB1bCBsaTphY3RpdmUgYSB7IGNvbG9yOiAjRkRDNDAwOyB9XG5cbi5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQgLmRyb3Bkb3duLWNvbnRlbnQgdWwgbGk6aG92ZXI6YmVmb3JlLCAuZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50IC5kcm9wZG93bi1jb250ZW50IHVsIGxpOmFjdGl2ZTpiZWZvcmUgeyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvdGJjX3llbGxvdy5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmRyb3Bkb3duX190YWJsZW9mY29udGVudCAuZHJvcGRvd24tY29udGVudCB1bCBsaTpob3ZlcjpiZWZvcmUsIC5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQgLmRyb3Bkb3duLWNvbnRlbnQgdWwgbGk6YWN0aXZlOmJlZm9yZSB7IGJhY2tncm91bmQ6ICNGREM0MDA7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy90YmNfeWVsbG93LnN2Zyk7IH0gfVxuXG4uZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50IC5kcm9wZG93bi1jb250ZW50LmRyb3Bkb3duLWNvbnRlbnRfY2xvc2UgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChob3ZlcjogaG92ZXIpIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHsgLmRyb3Bkb3duX190YWJsZW9mY29udGVudDpob3ZlciBwOmFmdGVyLCBhLmRyb3Bkb3duX190YWJsZW9mY29udGVudC5hY3RpdmUgcDphZnRlciwgYnV0dG9uLmRyb3Bkb3duX190YWJsZW9mY29udGVudC5hY3RpdmUgcDphZnRlciwgLmRyb3Bkb3duX190YWJsZW9mY29udGVudDphY3RpdmUgcDphZnRlciB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChob3ZlcjogaG92ZXIpIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHsgLmRyb3Bkb3duX190YWJsZW9mY29udGVudDpob3ZlciAuZHJvcGRvd24tY29udGVudCwgYS5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQuYWN0aXZlIC5kcm9wZG93bi1jb250ZW50LCBidXR0b24uZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50LmFjdGl2ZSAuZHJvcGRvd24tY29udGVudCwgLmRyb3Bkb3duX190YWJsZW9mY29udGVudDphY3RpdmUgLmRyb3Bkb3duLWNvbnRlbnQgeyBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQudG9jX3Nob3cgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50IHVsLmRyb3Bkb3duLWNvbnRlbnRfY2xvc2UgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd25fX3RhYmxlb2Zjb250ZW50LmRyb3Bkb3duX190YWJsZW9mY29udGVudF9yb3RhdGUgcDphZnRlciB7IHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIC5idXR0b24ucHJpbWFyeSwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGxpLmZhdXgtYnV0dG9uIGEucHJpbWFyeSwgbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEucHJpbWFyeSB7IGNvbG9yOiB3aGl0ZTsgYmFja2dyb3VuZC1jb2xvcjogIzA0MzI2MzsgYm9yZGVyOiAycHggc29saWQgI0ZEQzQwMDsgfVxuXG5ib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLmJ1dHRvbi5wcmltYXJ5OmFmdGVyLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgYS5wcmltYXJ5OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIC5idXR0b24ucHJpbWFyeTpob3ZlciwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEuYnV0dG9uLnByaW1hcnkuYWN0aXZlLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5LmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEucHJpbWFyeS5hY3RpdmUsIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBidXR0b24uYnV0dG9uLnByaW1hcnkuYWN0aXZlLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgYS5wcmltYXJ5OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZEQzQwMDsgYm9yZGVyOiAycHggc29saWQgIzA0MzI2MzsgfVxuXG5ib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLmJ1dHRvbi5zZWNvbmRhcnksIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIC5idXR0b24sIC5zaWdudXBfX2Zvcm0gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIC5idXR0b24sIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEsIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEsIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeSwgbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEuc2Vjb25kYXJ5IHsgY29sb3I6IGJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAycHggc29saWQgI0ZEQzQwMDsgfVxuXG5ib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIC5idXR0b246aG92ZXIsIC5zaWdudXBfX2Zvcm0gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIC5idXR0b246aG92ZXIsIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIGEuYnV0dG9uLmFjdGl2ZSwgLnNpZ251cF9fZm9ybSBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgYS5idXR0b24uYWN0aXZlLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgYS5hY3RpdmUsIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBhLmFjdGl2ZSwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIC5zaWdudXBfX2Zvcm0gYnV0dG9uLmJ1dHRvbi5hY3RpdmUsIC5zaWdudXBfX2Zvcm0gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGJ1dHRvbi5idXR0b24uYWN0aXZlLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhOmhvdmVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBhOmhvdmVyLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBhOmhvdmVyLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgYS5idXR0b24uc2Vjb25kYXJ5LmFjdGl2ZSwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGxpLmZhdXgtYnV0dG9uIGEuc2Vjb25kYXJ5LmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEuc2Vjb25kYXJ5LmFjdGl2ZSwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGJ1dHRvbi5idXR0b24uc2Vjb25kYXJ5LmFjdGl2ZSwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGxpLmZhdXgtYnV0dG9uIGEuc2Vjb25kYXJ5OmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgYS5zZWNvbmRhcnk6aG92ZXIgeyBjb2xvcjogd2hpdGU7IGJhY2tncm91bmQtY29sb3I6ICMwNDMyNjM7IH1cblxuYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyOmFmdGVyLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLnNpZ251cF9fZm9ybSAuYnV0dG9uOmhvdmVyOmFmdGVyLCAuc2lnbnVwX19mb3JtIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyAuYnV0dG9uOmhvdmVyOmFmdGVyLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLnNpZ251cF9fZm9ybSBhLmJ1dHRvbi5hY3RpdmU6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEuYnV0dG9uLmFjdGl2ZTphZnRlciwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5hY3RpdmU6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEuYWN0aXZlOmFmdGVyLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgYS5hY3RpdmU6YWZ0ZXIsIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIGJ1dHRvbi5idXR0b24uYWN0aXZlOmFmdGVyLCAuc2lnbnVwX19mb3JtIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBidXR0b24uYnV0dG9uLmFjdGl2ZTphZnRlciwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTpob3ZlcjphZnRlciwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgYTpob3ZlcjphZnRlciwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYTpob3ZlcjphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgYTpob3ZlcjphZnRlciwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEuYnV0dG9uLnNlY29uZGFyeS5hY3RpdmU6YWZ0ZXIsIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeS5hY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBhLnNlY29uZGFyeS5hY3RpdmU6YWZ0ZXIsIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBidXR0b24uYnV0dG9uLnNlY29uZGFyeS5hY3RpdmU6YWZ0ZXIsIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeTpob3ZlcjphZnRlciwgbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEuc2Vjb25kYXJ5OmhvdmVyOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxuYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuYnV0dG9uLnByaW1hcnksIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5LCBsaS5mYXV4LWJ1dHRvbiBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGEucHJpbWFyeSB7IGNvbG9yOiBibGFjazsgYmFja2dyb3VuZC1jb2xvcjogIzBGNTg5QTsgYm9yZGVyOiAycHggc29saWQgIzA0MzI2MzsgfVxuXG5ib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIC5idXR0b24ucHJpbWFyeTphZnRlciwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiBhLnByaW1hcnk6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgYS5wcmltYXJ5OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxuYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgYS5idXR0b24ucHJpbWFyeS5hY3RpdmUsIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5LmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBhLnByaW1hcnkuYWN0aXZlLCBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGJ1dHRvbi5idXR0b24ucHJpbWFyeS5hY3RpdmUsIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gYS5wcmltYXJ5OmhvdmVyLCBsaS5mYXV4LWJ1dHRvbiBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGEucHJpbWFyeTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICMwNDMyNjM7IGJvcmRlcjogMnB4IHNvbGlkICMwRjU4OUE7IH1cblxuYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuYnV0dG9uLnNlY29uZGFyeSwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIC5idXR0b24sIC5zaWdudXBfX2Zvcm0gYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuYnV0dG9uLCBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGEsIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgYSwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeSwgbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBhLnNlY29uZGFyeSB7IGNvbG9yOiB3aGl0ZTsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMnB4IHNvbGlkICNGREM0MDA7IH1cblxuYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuYnV0dG9uLnNlY29uZGFyeTphZnRlciwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIC5idXR0b246YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuYnV0dG9uOmFmdGVyLCBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYTphZnRlciwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGE6YWZ0ZXIsIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgYTphZnRlciwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeTphZnRlciwgbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBhLnNlY29uZGFyeTphZnRlciB7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbmJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgLnNpZ251cF9fZm9ybSAuYnV0dG9uOmhvdmVyLCAuc2lnbnVwX19mb3JtIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgLmJ1dHRvbjpob3ZlciwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIGEuYnV0dG9uLmFjdGl2ZSwgLnNpZ251cF9fZm9ybSBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGEuYnV0dG9uLmFjdGl2ZSwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgYS5hY3RpdmUsIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGEuYWN0aXZlLCBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIC5zaWdudXBfX2Zvcm0gYnV0dG9uLmJ1dHRvbi5hY3RpdmUsIC5zaWdudXBfX2Zvcm0gYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBidXR0b24uYnV0dG9uLmFjdGl2ZSwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGE6aG92ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBhOmhvdmVyLCBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYTpob3ZlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGE6aG92ZXIsIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgYS5idXR0b24uc2Vjb25kYXJ5LmFjdGl2ZSwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgYS5zZWNvbmRhcnkuYWN0aXZlLCBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGJ1dHRvbi5idXR0b24uc2Vjb25kYXJ5LmFjdGl2ZSwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeTpob3ZlciwgbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBhLnNlY29uZGFyeTpob3ZlciB7IGNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1ODlBOyB9XG5cbmJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXI6YWZ0ZXIsIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgLnNpZ251cF9fZm9ybSAuYnV0dG9uOmhvdmVyOmFmdGVyLCAuc2lnbnVwX19mb3JtIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgLmJ1dHRvbjpob3ZlcjphZnRlciwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIGEuYnV0dG9uLmFjdGl2ZTphZnRlciwgLnNpZ251cF9fZm9ybSBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGEuYnV0dG9uLmFjdGl2ZTphZnRlciwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEuYWN0aXZlOmFmdGVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgYS5hY3RpdmU6YWZ0ZXIsIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLmFjdGl2ZTphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGEuYWN0aXZlOmFmdGVyLCBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIC5zaWdudXBfX2Zvcm0gYnV0dG9uLmJ1dHRvbi5hY3RpdmU6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBidXR0b24uYnV0dG9uLmFjdGl2ZTphZnRlciwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGE6aG92ZXI6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBhOmhvdmVyOmFmdGVyLCBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYTpob3ZlcjphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGE6aG92ZXI6YWZ0ZXIsIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgYS5idXR0b24uc2Vjb25kYXJ5LmFjdGl2ZTphZnRlciwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeS5hY3RpdmU6YWZ0ZXIsIGxpLmZhdXgtYnV0dG9uIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgYS5zZWNvbmRhcnkuYWN0aXZlOmFmdGVyLCBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIGJ1dHRvbi5idXR0b24uc2Vjb25kYXJ5LmFjdGl2ZTphZnRlciwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBsaS5mYXV4LWJ1dHRvbiBhLnNlY29uZGFyeTpob3ZlcjphZnRlciwgbGkuZmF1eC1idXR0b24gYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyBhLnNlY29uZGFyeTpob3ZlcjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbmltZy5pbWFnZSB7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuQG1lZGlhIG9ubHkgcHJpbnQgeyBpbWcgeyBwYWdlLWJyZWFrLWJlZm9yZTogYXV0byAhaW1wb3J0YW50OyBwYWdlLWJyZWFrLWFmdGVyOiBhdXRvICFpbXBvcnRhbnQ7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZCAhaW1wb3J0YW50OyB9IH1cblxuaW1nLmFsaWdubGVmdCB7IGZsb2F0OiBsZWZ0OyBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cblxuaW1nLmFsaWducmlnaHQgeyBmbG9hdDogcmlnaHQ7IG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbmltZy5hbGlnbmNlbnRlciB7IG1hcmdpbjogYXV0bzsgZGlzcGxheTogZmxleDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyBpbWcuYWxpZ25jZW50ZXIsIGltZy5hbGlnbnJpZ2h0LCBpbWcuYWxpZ25sZWZ0IHsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGZsZXg7IG1hcmdpbjogMjBweCBhdXRvOyB9IH1cblxuLmZhY3RzaGVldF9iYW5uZXJfY29udGFpbmVyIGltZyB7IGhlaWdodDogY2xhbXAoMzUwcHgsIDQwMHB4LCA1MDBweCk7IHdpZHRoOiBhdXRvOyBvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG5cbmltZy5hcnRpY2xlX2ltYWdlIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgfVxuXG4uY2FwdGlvbi13cmFwIHsgcGFkZGluZy10b3A6IDEwcHg7IHBhZGRpbmctYm90dG9tOiAwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNhcHRpb24td3JhcCB7IHBhZGRpbmctdG9wOiAyMHB4OyBwYWRkaW5nLWJvdHRvbTogMjBweDsgfSB9XG5cbnVsLnBhZ2UtbnVtYmVycyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGZsZXgtd3JhcDogd3JhcDsgfVxuXG51bC5wYWdlLW51bWJlcnMgYSwgdWwucGFnZS1udW1iZXJzIGxpLmN1cnJlbnQsIHVsLnBhZ2UtbnVtYmVycyBsaS5lbGxpcHNpcyB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG51bC5wYWdlLW51bWJlcnMgYTpob3ZlciwgdWwucGFnZS1udW1iZXJzIGEuYWN0aXZlLCB1bC5wYWdlLW51bWJlcnMgbGkuY3VycmVudDpob3ZlciwgdWwucGFnZS1udW1iZXJzIGxpLmVsbGlwc2lzOmhvdmVyIHsgY29sb3I6ICMwNDMyNjM7IH1cblxudWwucGFnZS1udW1iZXJzIGxpIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBoZWlnaHQ6IDMxcHg7IH1cblxudWwucGFnZS1udW1iZXJzIGxpIC5jdXJyZW50IHsgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMwRjU4OUE7IH1cblxudWwucGFnZS1udW1iZXJzIC5wcmV2OmFmdGVyLCB1bC5wYWdlLW51bWJlcnMgLm5leHQ6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBkaXNwbGF5OiBmbGV4OyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6IDExcHggMTdweDsgd2lkdGg6IDExcHg7IGhlaWdodDogMTdweDsgfVxuXG5Ac3VwcG9ydHMgKG1hc2staW1hZ2U6IHVybChcIlwiKSkgeyB1bC5wYWdlLW51bWJlcnMgLnByZXY6YWZ0ZXIsIHVsLnBhZ2UtbnVtYmVycyAubmV4dDphZnRlciB7IG1hc2stc2l6ZTogY29udGFpbjsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgbWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfSB9XG5cbnVsLnBhZ2UtbnVtYmVycyAucHJldjphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pY29ucy9wcmV2LWJ0bi5zdmcpOyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IHVsLnBhZ2UtbnVtYmVycyAucHJldjphZnRlciB7IGJhY2tncm91bmQ6ICMwNDMyNjM7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9wcmV2LWJ0bi5zdmcpOyB9IH1cblxudWwucGFnZS1udW1iZXJzIC5uZXh0OmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ljb25zL25leHQtYnRuLnN2Zyk7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgdWwucGFnZS1udW1iZXJzIC5uZXh0OmFmdGVyIHsgYmFja2dyb3VuZDogIzA0MzI2MzsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL25leHQtYnRuLnN2Zyk7IH0gfVxuXG4uc2VhcmNoX3dyYXBwZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0ICFpbXBvcnRhbnQ7IH1cblxuLnNlYXJjaF93cmFwcGVyIC5zZWFyY2ggaW5wdXQsIC5zZWFyY2hfd3JhcHBlciAuc2VhcmNoIGlucHV0OmZvY3VzIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgY29sb3I6ICM3NjcxNzU7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgYm9yZGVyOiBub25lOyBib3gtc2hhZG93OiBub25lOyB9XG5cbi5zZWFyY2hfd3JhcHBlciAuc2VhcmNoIGlucHV0LCAuc2VhcmNoX3dyYXBwZXIgLnNlYXJjaCBzZWxlY3QsIC5zZWFyY2hfd3JhcHBlciAuc2VhcmNoIDo6cGxhY2Vob2xkZXIgeyBmb250LXNpemU6IDEuMjVyZW07IGNvbG9yOiAjNzY3MTc1OyBib3JkZXI6IG5vbmU7IGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnNlYXJjaF93cmFwcGVyIC5zZWFyY2ggZGl2LnNlYXJjaF9faW5wdXQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNlYXJjaF93cmFwcGVyIC5zZWFyY2ggZGl2LnNlYXJjaF9faW5wdXQ6OmFmdGVyIHsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL3NlYXJjaC1pY29uLWdyZXkuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluOyBoZWlnaHQ6IDIwcHg7IHdpZHRoOiAyMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTBweDsgcmlnaHQ6IDEwcHg7IH1cblxuLnNlYXJjaF93cmFwcGVyIC5zZWFyY2ggLnNlYXJjaF9fZmlsdGVycyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5zZWFyY2hfd3JhcHBlciAuc2VhcmNoIC5zZWFyY2hfX2ZpbHRlcnMgeyBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLnNlYXJjaF93cmFwcGVyIC5zZWFyY2ggLnNlYXJjaF9fZmlsdGVycyBzZWxlY3QgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpOyBiYWNrZ3JvdW5kLXNpemU6IDE1cHggOHB4OyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IC5zZWFyY2hfd3JhcHBlciAuc2VhcmNoIC5zZWFyY2hfX2ZpbHRlcnMgc2VsZWN0IHsgYmFja2dyb3VuZDogIzA0MzI2MzsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTsgbWFzay1zaXplOiAxNXB4IDhweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuc2VhcmNoX3dyYXBwZXIgLnNlYXJjaCAuc2VhcmNoX19maWx0ZXJzIGxhYmVsIHsgZmxleDogMTsgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gIC5zZWFyY2hfd3JhcHBlciAuc2VhcmNoIC5zZWFyY2hfX2ZpbHRlcnMgbGFiZWwubGFzdCB7IG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbiNteS1jdXN0b20tc2VhcmNoZm9ybSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jbXktY3VzdG9tLXNlYXJjaGZvcm0gaW5wdXRbdHlwZT10ZXh0XSB7IGJvcmRlcjogbm9uZTsgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4jbXktY3VzdG9tLXNlYXJjaGZvcm0gc2VsZWN0IHsgcGFkZGluZy10b3A6IDA7IHBhZGRpbmctYm90dG9tOiAwOyB3aWR0aDogNDklOyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbiNteS1jdXN0b20tc2VhcmNoZm9ybSBzZWxlY3Q6bnRoLWNoaWxkKG9kZCkgeyBmbG9hdDogcmlnaHQ7IH1cblxuI215LWN1c3RvbS1zZWFyY2hmb3JtIGlucHV0W3R5cGU9c3VibWl0XSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IGhlaWdodDogNDBweDsgd2lkdGg6IDQwcHg7IHRleHQtaW5kZW50OiAtOTk5OTlweDsgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlcjogbm9uZTsgei1pbmRleDogOTk5OTk5OTk5OTk5OTsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL3NlYXJjaC1pY29uLXJlZC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB0b3A6IDBweDsgfVxuXG4uc2VhcmNoLWZvcm0geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNlYXJjaC1mb3JtIGlucHV0W3R5cGU9c2VhcmNoXTphY3RpdmUsIC5zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMgeyBib3JkZXI6IG5vbmU7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNDRTAwM0E7IH1cblxuLnNlYXJjaF9yZXN1bHRzIC5yZXN1bHRzX3RvdGFsIHsgbWFyZ2luLXRvcDogMjBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuc2VhcmNoX3Jlc3VsdHMgLnJlc3VsdHNfdG90YWwgeyBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cblxuLnNlYXJjaF9yZXN1bHRzIC5yZXN1bHRzX2luZm8geyBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5zZWFyY2hfcmVzdWx0cyAucGlua190ZXh0IHsgY29sb3I6ICMwNDMyNjM7IGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBXMDFfODUgSGVhdnkxNDc1NTQ0XCI7IH1cblxuLnNlYXJjaF9yZXN1bHRzIHVsIHsgbGlzdC1zdHlsZTogbm9uZTsgbWFyZ2luOiAwcHggIWltcG9ydGFudDsgfVxuXG4uc2VhcmNoX3Jlc3VsdHMgdWwgbGkgeyBsaXN0LXN0eWxlOiBub25lOyBib3JkZXItbGVmdDogM3B4IHNvbGlkICMwNDMyNjM7IHBhZGRpbmctbGVmdDogMXJlbTsgfVxuXG4uc2VhcmNoX3Jlc3VsdHMgdWwgbGkgaDIgeyBtYXJnaW4tdG9wOiA2MHB4OyB9XG5cbi5zZWFyY2hfcmVzdWx0cyB1bCBsaSBoNSwgLnNlYXJjaF9yZXN1bHRzIHVsIGxpIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5zZWFyY2hfcmVzdWx0cyB1bCBsaSBwIHsgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi5zZWFyY2hfcmVzdWx0cyB1bCBsaSBwIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uc2VhcmNoX3Jlc3VsdHMgdWwgbGkgYSB7IGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLnNlYXJjaF9yZXN1bHRzIHVsIGxpIGE6OmFmdGVyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tbGVmdDogMTBweDsgaGVpZ2h0OiAxM3B4OyB3aWR0aDogOXB4OyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLWJsdWUuc3ZnKSBuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTogOXB4IDEzcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5Ac3VwcG9ydHMgKG1hc2staW1hZ2U6IHVybChcIlwiKSkgeyAuc2VhcmNoX3Jlc3VsdHMgdWwgbGkgYTo6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiAjMDQzMjYzOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLWJsdWUuc3ZnKTsgbWFzay1zaXplOiA5cHggMTNweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG5cbi5zZWFyY2hfcmVzdWx0cyB1bCBsaTpiZWZvcmUgeyBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7IH1cblxuI3NlYXJjaGZvcm0uc2VhcmNoX2Rlc2t0b3AgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbiNzZWFyY2hmb3JtLnNlYXJjaF9kZXNrdG9wIGlucHV0W3R5cGU9J3RleHQnXSB7IG1hcmdpbjogMDsgfVxuXG4jc2VhcmNoZm9ybS5zZWFyY2hfZGVza3RvcCAjc2VhcmNoLWxhbmcgeyBib3JkZXItcmFkaXVzOiAyM3B4OyBwYWRkaW5nOiAwLjdyZW0gMnJlbSAwLjdyZW0gMXJlbTsgbWFyZ2luOiAwIDAgMCAyMHB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxNXB4KSBjZW50ZXI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7ICNzZWFyY2hmb3JtLnNlYXJjaF9kZXNrdG9wIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7ICNzZWFyY2hmb3JtLnNlYXJjaF9kZXNrdG9wIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAjc2VhcmNoZm9ybS5zZWFyY2hfZGVza3RvcCBpbnB1dFt0eXBlPSd0ZXh0J10geyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICNzZWFyY2hmb3JtLnNlYXJjaF9kZXNrdG9wICNzZWFyY2gtbGFuZyB7IG1hcmdpbjogMCAwIDIwcHggMDsgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuLyoqIExpc3RzICovXG5zZWN0aW9uIC5jZWxsIHVsOm5vdCgucGFnaW5hdGlvbik6bm90KHVsLnBhZ2UtbnVtYmVycyk6bm90KC5wYWdlLW51bWJlcnMpOm5vdCgudGFicyk6bm90KC5hY2NvcmRpb24pOm5vdCguc29jaWFsLS1saXN0KTpub3QoLnNpZGViYXJfbGlzdCk6bm90KC5icmVhZGNydW1iLS1uYXZpZ2F0aW9uKTpub3QoLmRhc2hlZCk6bm90KC5nZm9ybV9maWVsZHMpIHsgbGlzdC1zdHlsZTogbm9uZTsgLyogUmVtb3ZlIGRlZmF1bHQgYnVsbGV0cyAqLyBtYXJnaW4tbGVmdDogMjRweDsgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbnNlY3Rpb24gLmNlbGwgdWw6bm90KC5wYWdpbmF0aW9uKTpub3QodWwucGFnZS1udW1iZXJzKTpub3QoLnBhZ2UtbnVtYmVycyk6bm90KC50YWJzKTpub3QoLmFjY29yZGlvbik6bm90KC5zb2NpYWwtLWxpc3QpOm5vdCguc2lkZWJhcl9saXN0KTpub3QoLmJyZWFkY3J1bWItLW5hdmlnYXRpb24pOm5vdCguZGFzaGVkKTpub3QoLmdmb3JtX2ZpZWxkcykgbGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMDIyXCI7IC8qIEFkZCBjb250ZW50OiBcXDIwMjIgaXMgdGhlIENTUyBDb2RlL3VuaWNvZGUgZm9yIGEgYnVsbGV0ICovIGNvbG9yOiAjMEY1ODlBOyAvKiBDaGFuZ2UgdGhlIGNvbG9yICovIGZvbnQtd2VpZ2h0OiBib2xkOyAvKiBJZiB5b3Ugd2FudCBpdCB0byBiZSBib2xkICovIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogTmVlZGVkIHRvIGFkZCBzcGFjZSBiZXR3ZWVuIHRoZSBidWxsZXQgYW5kIHRoZSB0ZXh0ICovIHdpZHRoOiAxLjVlbTsgLyogQWxzbyBuZWVkZWQgZm9yIHNwYWNlICh0d2VhayBpZiBuZWVkZWQpICovIG1hcmdpbi1sZWZ0OiAtMS41ZW07IC8qIEFsc28gbmVlZGVkIGZvciBzcGFjZSAodHdlYWsgaWYgbmVlZGVkKSAqLyB9XG5cbnNlY3Rpb24gLmNlbGwgdWwuYWNjb3JkaW9uIGxpOjpiZWZvcmUgeyBjb250ZW50OiBub25lOyB9XG5cbnNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHsgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW46IDQwcHggMDsgfVxuXG5zZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZTpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQ6ICMwNDMyNjM7IGJvcmRlci1yYWRpdXM6IDZweDsgfVxuXG4vKiogVGFicyAqL1xuLnRhYnMgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgYm9yZGVyOiBub25lOyB9XG5cbi50YWJzIGxpLnRhYnMtdGl0bGUgeyBtYXJnaW4tcmlnaHQ6IDRweDsgfVxuXG4udGFicyBsaS50YWJzLXRpdGxlID4gYSB7IGNvbG9yOiAjRkRDNDAwOyBmb250LXNpemU6IDFyZW07IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuXG4udGFicyBsaS50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPXRydWVdIHsgYmFja2dyb3VuZDogIzBGNTg5QTsgY29sb3I6ICMwRjU4OUE7IH1cblxuLnRhYnMgbGkudGFicy10aXRsZSBhOmZvY3VzIHsgYm9yZGVyLXJhZGl1czogMDsgb3V0bGluZTogbm9uZTsgYm94LXNoYWRvdzogMCAwIDJweCAjMEY1ODlBOyB9XG5cbi50YWJzLWNvbnRlbnQgeyBib3JkZXI6IG5vbmU7IH1cblxuLnRhYnMtY29udGVudCAudGFicy1wYW5lbCB7IHBhZGRpbmc6IDQwcHggMDsgbWFyZ2luOiAwOyB9XG5cbi8qKiBUeXBvZ3JhcGh5ICovXG5AZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFcwMV81NSBSb21hbjE0NzU1MjBcIjsgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1NTIwL2IyOTBlNzc1LWUwZjktNDk4MC05MTRiLWE0YzMyYTVlM2UzNi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTUyMC80Yjk3OGY3Mi1iYjQ4LTQ2YzMtOTA5YS0yYThjZDJmODgxOWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2UgeyBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgVzAxXzY1IE1lZGl1bTE0NzU1MzJcIjsgc3JjOiB1cmwoXCIuLi9mb250cy8xNDc1NTMyLzE3YjkwZWY1LWI2M2YtNDU3Yi1hOTgxLTUwM2JiN2FmZTNjMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvMTQ3NTUzMi9jOWFlZWFiZC1kZDY1LTQ5MWQtYjRiZS0zZTBkYjlhZTQ3YTAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2UgeyBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgVzAxXzg1IEhlYXZ5MTQ3NTU0NFwiOyBzcmM6IHVybChcIi4uL2ZvbnRzLzE0NzU1NDQvZDUxM2UxNWUtOGYzNS00MTI5LWFkMDUtNDgxODE1ZTUyNjI1LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8xNDc1NTQ0LzYxYmQzNjJlLTcxNjItNDZiZC1iNjdlLTI4ZjM2NmM0YWZiZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBXMDFfOTUgQmxhY2sxNDc1NTU2XCI7IHNyYzogdXJsKFwiLi4vZm9udHMvMTQ3NTU1Ni9jNzhlYjdhZi1hMWM4LTQ4OTItOTc0Yi01MjM3OTY0NmZlZjQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uZm9udHMvMTQ3NTU1Ni83NWIzNmM1OC0yYTAyLTQwNTctYTUzNy0wOWFmMDgzMmFlNDYud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbmJvZHkgeyBmb250LXNpemU6IDFyZW07IGxpbmUtaGVpZ2h0OiAxLjQ7IGxldHRlci1zcGFjaW5nOiAwOyBmb250LXdlaWdodDogNDAwOyB9XG5cbi5zdWJoZWFkaW5nIHsgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFcwMV84NSBIZWF2eTE0NzU1NDRcIjsgZm9udC1zaXplOiAwLjg3NXJlbTsgbGluZS1oZWlnaHQ6IDEuNDU7IGxldHRlci1zcGFjaW5nOiAwLjI3NWVtOyBtYXJnaW4tYm90dG9tOiA4cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiAjMEY1ODlBOyB9XG5cbi5zdGFuZGFyZC1saW5rIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXItYm90dG9tOiAzcHggc29saWQgI0ZEQzQwMDsgdHJhbnNpdGlvbjogYWxsIDAuM3M7IGNvbG9yOiAjMDQzMjYzOyB9XG5cbi5zdGFuZGFyZC1saW5rOmhvdmVyLCBhLnN0YW5kYXJkLWxpbmsuYWN0aXZlLCBidXR0b24uc3RhbmRhcmQtbGluay5hY3RpdmUgeyBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzQ1OTVFNjsgY29sb3I6ICMwNDMyNjM7IH1cblxucC5sYXJnZSB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgbWFyZ2luLWJvdHRvbTogMS4yNWVtOyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgaDYsIC51cGRhdGVkIC5kYXRlIHsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5odG1sIHsgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbiogaHRtbCBib2R5IHsgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi8qKiBTaXRlIEhlYWRlciAgKi9cbi5zaXRlLWhlYWRlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWF4LXdpZHRoOiAxMDAlOyB3aWR0aDogMTAwJTsgfVxuXG4uc2l0ZS1oZWFkZXIgPiAuZ3JpZC1jb250YWluZXIgeyBoZWlnaHQ6IDEwMCU7IH1cblxuLnNpdGUtaGVhZGVyIC5oZWFkZXItd3JhcCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNTVweDsgfVxuXG4uc2l0ZS1oZWFkZXIgYSB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLnNpdGUtaGVhZGVyIC5oYW1idXJnZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTBweDsgcmlnaHQ6IDE2cHg7IH1cblxuLnNpdGUtaGVhZGVyIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1ib3ggeyBoZWlnaHQ6IDEwcHg7IH1cblxuLnNpdGUtaGVhZGVyIC5oYW1idXJnZXIgLmhhbWJfY2xvc2UgeyBjb2xvcjogIzA0MzI2MzsgZm9udC1zaXplOiAxNHB4OyBvcGFjaXR5OiAwOyB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuXG4uc2l0ZS1oZWFkZXIgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJfY2xvc2UgeyBvcGFjaXR5OiAxOyB9XG5cbi5zaXRlLWhlYWRlciAuaGFtYnVyZ2VyLWlubmVyLCAuc2l0ZS1oZWFkZXIgLmhhbWJ1cmdlci1pbm5lcjphZnRlciwgLnNpdGUtaGVhZGVyIC5oYW1idXJnZXItaW5uZXI6YmVmb3JlLCAuc2l0ZS1oZWFkZXIgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjphZnRlciwgLnNpdGUtaGVhZGVyIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogIzA0MzI2MzsgfVxuXG4uc2l0ZS1oZWFkZXIgLmljb24geyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDMxcHg7IGhlaWdodDogMzFweDsgfVxuXG4uc2l0ZS1oZWFkZXIgLmljb24gaW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY29udGFpbjsgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgbGVmdDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuc2l0ZS1oZWFkZXIgLmljb24geyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA0NHB4OyBtYXJnaW46IDVweCAxNnB4IDVweCAwOyB9IH1cblxuLnNpdGUtaGVhZGVyIC5pY29uIHNwYW4geyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5OXB4OyB9XG5cbi5zaXRlLWhlYWRlciAuaWNvbi5pY29uLXNtYWxsIHsgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuOyBwb2ludGVyLWV2ZW50czogbm9uZTsgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMsIGhlaWdodCAwLjI1czsgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IC5zaXRlLWhlYWRlciAuaWNvbiB7IHdpZHRoOiA0MHB4OyB9IH1cblxuLnNpdGUtaGVhZGVyIC5zZWFyY2hfX3dyYXBwZXIgeyB3aWR0aDogMTAwJTsgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5zaXRlLWhlYWRlciAuc2VhcmNoX193cmFwcGVyIHsgd2lkdGg6IDg1JTsgcGFkZGluZy1sZWZ0OiAxMHB4OyBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi5zaXRlLWhlYWRlciAuc2VhcmNoX193cmFwcGVyIGZvcm0geyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNpdGUtaGVhZGVyIC5zZWFyY2hfX3dyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl0geyBtYXJnaW46IDBweDsgcGFkZGluZzogNHB4IDIwcHg7IGJvcmRlcjogMXB4IHNvbGlkICNlNGU1ZTk7IGJvcmRlci1yYWRpdXM6IDM1cHg7IGJveC1zaGFkb3c6IG5vbmU7IGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBXMDFfNTUgUm9tYW4xNDc1NTIwXCI7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnNpdGUtaGVhZGVyIC5zZWFyY2hfX3dyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl0geyBwYWRkaW5nOiAyNHB4IDIwcHg7IH0gfVxuXG4uc2l0ZS1oZWFkZXIgLm1lbnUgeyBkaXNwbGF5OiBub25lOyB3aWR0aDogMTAwJTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zaXRlLWhlYWRlciAubWVudSBsaSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5zaXRlLWhlYWRlciAubWVudSBsaTpmaXJzdC1jaGlsZCB7IHBhZGRpbmctbGVmdDogMHB4OyB9XG4gIC5zaXRlLWhlYWRlciAubWVudSBsaTpsYXN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogMHB4OyB9IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51IGxpOm5vdCguZmF1eC1idXR0b24pIGEsIC5zaXRlLWhlYWRlciAubWVudSBsaTpub3QoLmZhdXgtYnV0dG9uKSBoNiwgLnNpdGUtaGVhZGVyIC5tZW51IGxpOm5vdCguZmF1eC1idXR0b24pIC51cGRhdGVkIC5kYXRlLCAudXBkYXRlZCAuc2l0ZS1oZWFkZXIgLm1lbnUgbGk6bm90KC5mYXV4LWJ1dHRvbikgLmRhdGUgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDE2cHggMCA1cHg7IGZvbnQtc2l6ZTogMS4xMjVyZW07IGZvbnQtd2VpZ2h0OiA0MDA7IGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB0cmFuc3BhcmVudDsgbWFyZ2luLWJvdHRvbTogMDsgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51IGxpOm5vdCguZmF1eC1idXR0b24pIGE6aG92ZXIsIC5zaXRlLWhlYWRlciAubWVudSBsaTpub3QoLmZhdXgtYnV0dG9uKSBhLmFjdGl2ZSB7IGNvbG9yOiAjMEY1ODlBOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b20tY29sb3I6ICNGREM0MDA7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51IGxpOm5vdCguZmF1eC1idXR0b24pIGEuc2VhcmNoLS1saW5rIHsgd2lkdGg6IDIwcHg7IGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvc2VhcmNoLWljb24uc3ZnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0OyB0ZXh0LWluZGVudDogLTk5OTk5cHg7IG9wYWNpdHk6IDA7IGhlaWdodDogMDsgfVxuXG4uc2l0ZS1oZWFkZXIgLm1lbnUgbGk6bm90KC5mYXV4LWJ1dHRvbikgYS5zZWN0aW9uLWxhbmRpbmcgeyBwYWRkaW5nOiAwcHggMHB4IDVweCAwcHg7IGJvcmRlci1ib3R0b206IDA7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51IGxpOm5vdCguZmF1eC1idXR0b24pIGEuc2VjdGlvbi1sYW5kaW5nOmhvdmVyLCAuc2l0ZS1oZWFkZXIgLm1lbnUgbGk6bm90KC5mYXV4LWJ1dHRvbikgYS5zZWN0aW9uLWxhbmRpbmcuYWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uLCAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciAubWVudS5idXR0b24sIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuc2l0ZS1oZWFkZXIgYS5tZW51LCAuc2l0ZS1oZWFkZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSB7IG1hcmdpbjogMTBweCAwIDE3cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gPiBsaSwgLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgLm1lbnUuYnV0dG9uID4gbGksIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaSwgLnNpdGUtaGVhZGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51ID4gbGksIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nOiAwIDIxcHg7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpOm50aC1jaGlsZCgtbisyKSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uID4gbGk6bnRoLWNoaWxkKC1uKzIpLCAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciAubWVudS5idXR0b24gPiBsaTpudGgtY2hpbGQoLW4rMiksIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpOm50aC1jaGlsZCgtbisyKSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGk6bnRoLWNoaWxkKC1uKzIpLCAuc2l0ZS1oZWFkZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgPiBsaTpudGgtY2hpbGQoLW4rMiksIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpOm50aC1jaGlsZCgtbisyKSB7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNGU1ZTk7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpOm50aC1sYXN0LWNoaWxkKDIpLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gPiBsaTpudGgtbGFzdC1jaGlsZCgyKSwgLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgLm1lbnUuYnV0dG9uID4gbGk6bnRoLWxhc3QtY2hpbGQoMiksIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpOm50aC1sYXN0LWNoaWxkKDIpLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaTpudGgtbGFzdC1jaGlsZCgyKSwgLnNpdGUtaGVhZGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51ID4gbGk6bnRoLWxhc3QtY2hpbGQoMiksIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpOm50aC1sYXN0LWNoaWxkKDIpIHsgcGFkZGluZy1yaWdodDogMHB4OyBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uc2l0ZS1oZWFkZXIgLm1lbnUuc2Vjb25kYXJ5ID4gbGk6bGFzdC1jaGlsZCwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uID4gbGk6bGFzdC1jaGlsZCwgLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgLm1lbnUuYnV0dG9uID4gbGk6bGFzdC1jaGlsZCwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51ID4gbGk6bGFzdC1jaGlsZCwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGk6bGFzdC1jaGlsZCwgLnNpdGUtaGVhZGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51ID4gbGk6bGFzdC1jaGlsZCwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGk6bGFzdC1jaGlsZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpOm5vdCguZmF1eC1idXR0b24pIGEsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiA+IGxpOm5vdCguZmF1eC1idXR0b24pIGEsIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIC5tZW51LmJ1dHRvbiA+IGxpOm5vdCguZmF1eC1idXR0b24pIGEsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpOm5vdCguZmF1eC1idXR0b24pIGEsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpOm5vdCguZmF1eC1idXR0b24pIGEsIC5zaXRlLWhlYWRlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSA+IGxpOm5vdCguZmF1eC1idXR0b24pIGEsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpOm5vdCguZmF1eC1idXR0b24pIGEgeyBmb250LXNpemU6IDFyZW07IGJvcmRlci1ib3R0b206IG5vbmU7IHBhZGRpbmc6IDA7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpLmxhbmd1YWdlcywgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uID4gbGkubGFuZ3VhZ2VzLCAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciAubWVudS5idXR0b24gPiBsaS5sYW5ndWFnZXMsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpLmxhbmd1YWdlcywgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkubGFuZ3VhZ2VzLCAuc2l0ZS1oZWFkZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgPiBsaS5sYW5ndWFnZXMsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpLmxhbmd1YWdlcyB7IGJvcmRlcjogMDsgcGFkZGluZzogMDsgfVxuXG4uc2l0ZS1oZWFkZXIgLm1lbnUuc2Vjb25kYXJ5ID4gbGkubGFuZ3VhZ2VzID4gYSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uID4gbGkubGFuZ3VhZ2VzID4gYSwgLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgLm1lbnUuYnV0dG9uID4gbGkubGFuZ3VhZ2VzID4gYSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51ID4gbGkubGFuZ3VhZ2VzID4gYSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkubGFuZ3VhZ2VzID4gYSwgLnNpdGUtaGVhZGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51ID4gbGkubGFuZ3VhZ2VzID4gYSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkubGFuZ3VhZ2VzID4gYSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IG92ZXJmbG93OiBoaWRkZW47IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9nbG9iZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47IHRleHQtaW5kZW50OiAtOTk5OXB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiAxNnB4OyB9XG5cbi5zaXRlLWhlYWRlciAubWVudS5zZWNvbmRhcnkgPiBsaS5sYW5ndWFnZXMgPiBhOmFmdGVyLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gPiBsaS5sYW5ndWFnZXMgPiBhOmFmdGVyLCAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciAubWVudS5idXR0b24gPiBsaS5sYW5ndWFnZXMgPiBhOmFmdGVyLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLm1lbnUgPiBsaS5sYW5ndWFnZXMgPiBhOmFmdGVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaS5sYW5ndWFnZXMgPiBhOmFmdGVyLCAuc2l0ZS1oZWFkZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgPiBsaS5sYW5ndWFnZXMgPiBhOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaS5sYW5ndWFnZXMgPiBhOmFmdGVyIHsgY29udGVudDogJyc7IHdpZHRoOiA4cHg7IGhlaWdodDogNXB4OyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpLmxhbmd1YWdlczpob3ZlcjpiZWZvcmUsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiA+IGxpLmxhbmd1YWdlczpob3ZlcjpiZWZvcmUsIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIC5tZW51LmJ1dHRvbiA+IGxpLmxhbmd1YWdlczpob3ZlcjpiZWZvcmUsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpLmxhbmd1YWdlczpob3ZlcjpiZWZvcmUsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpLmxhbmd1YWdlczpob3ZlcjpiZWZvcmUsIC5zaXRlLWhlYWRlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSA+IGxpLmxhbmd1YWdlczpob3ZlcjpiZWZvcmUsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpLmxhbmd1YWdlczpob3ZlcjpiZWZvcmUsIC5zaXRlLWhlYWRlciAubWVudS5zZWNvbmRhcnkgPiBsaS5sYW5ndWFnZXM6Zm9jdXM6YmVmb3JlLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gPiBsaS5sYW5ndWFnZXM6Zm9jdXM6YmVmb3JlLCAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciAubWVudS5idXR0b24gPiBsaS5sYW5ndWFnZXM6Zm9jdXM6YmVmb3JlLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLm1lbnUgPiBsaS5sYW5ndWFnZXM6Zm9jdXM6YmVmb3JlLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaS5sYW5ndWFnZXM6Zm9jdXM6YmVmb3JlLCAuc2l0ZS1oZWFkZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgPiBsaS5sYW5ndWFnZXM6Zm9jdXM6YmVmb3JlLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaS5sYW5ndWFnZXM6Zm9jdXM6YmVmb3JlLCAuc2l0ZS1oZWFkZXIgLm1lbnUuc2Vjb25kYXJ5ID4gbGkubGFuZ3VhZ2VzOmZvY3VzLXdpdGhpbjpiZWZvcmUsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiA+IGxpLmxhbmd1YWdlczpmb2N1cy13aXRoaW46YmVmb3JlLCAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciAubWVudS5idXR0b24gPiBsaS5sYW5ndWFnZXM6Zm9jdXMtd2l0aGluOmJlZm9yZSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51ID4gbGkubGFuZ3VhZ2VzOmZvY3VzLXdpdGhpbjpiZWZvcmUsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpLmxhbmd1YWdlczpmb2N1cy13aXRoaW46YmVmb3JlLCAuc2l0ZS1oZWFkZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgPiBsaS5sYW5ndWFnZXM6Zm9jdXMtd2l0aGluOmJlZm9yZSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkubGFuZ3VhZ2VzOmZvY3VzLXdpdGhpbjpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMCU7IHJpZ2h0OiAtODBweDsgd2lkdGg6IDc1dnc7IGhlaWdodDogMjAwcHg7IHotaW5kZXg6IDk5ODsgfVxuXG4uc2l0ZS1oZWFkZXIgLm1lbnUuc2Vjb25kYXJ5ID4gbGkubGFuZ3VhZ2VzOmhvdmVyICNsYW5ndWFnZS1tZW51LCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gPiBsaS5sYW5ndWFnZXM6aG92ZXIgI2xhbmd1YWdlLW1lbnUsIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIC5tZW51LmJ1dHRvbiA+IGxpLmxhbmd1YWdlczpob3ZlciAjbGFuZ3VhZ2UtbWVudSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51ID4gbGkubGFuZ3VhZ2VzOmhvdmVyICNsYW5ndWFnZS1tZW51LCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaS5sYW5ndWFnZXM6aG92ZXIgI2xhbmd1YWdlLW1lbnUsIC5zaXRlLWhlYWRlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSA+IGxpLmxhbmd1YWdlczpob3ZlciAjbGFuZ3VhZ2UtbWVudSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkubGFuZ3VhZ2VzOmhvdmVyICNsYW5ndWFnZS1tZW51LCAuc2l0ZS1oZWFkZXIgLm1lbnUuc2Vjb25kYXJ5ID4gbGkubGFuZ3VhZ2VzOmZvY3VzICNsYW5ndWFnZS1tZW51LCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gPiBsaS5sYW5ndWFnZXM6Zm9jdXMgI2xhbmd1YWdlLW1lbnUsIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIC5tZW51LmJ1dHRvbiA+IGxpLmxhbmd1YWdlczpmb2N1cyAjbGFuZ3VhZ2UtbWVudSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51ID4gbGkubGFuZ3VhZ2VzOmZvY3VzICNsYW5ndWFnZS1tZW51LCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaS5sYW5ndWFnZXM6Zm9jdXMgI2xhbmd1YWdlLW1lbnUsIC5zaXRlLWhlYWRlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSA+IGxpLmxhbmd1YWdlczpmb2N1cyAjbGFuZ3VhZ2UtbWVudSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkubGFuZ3VhZ2VzOmZvY3VzICNsYW5ndWFnZS1tZW51LCAuc2l0ZS1oZWFkZXIgLm1lbnUuc2Vjb25kYXJ5ID4gbGkubGFuZ3VhZ2VzOmZvY3VzLXdpdGhpbiAjbGFuZ3VhZ2UtbWVudSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uID4gbGkubGFuZ3VhZ2VzOmZvY3VzLXdpdGhpbiAjbGFuZ3VhZ2UtbWVudSwgLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgLm1lbnUuYnV0dG9uID4gbGkubGFuZ3VhZ2VzOmZvY3VzLXdpdGhpbiAjbGFuZ3VhZ2UtbWVudSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51ID4gbGkubGFuZ3VhZ2VzOmZvY3VzLXdpdGhpbiAjbGFuZ3VhZ2UtbWVudSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkubGFuZ3VhZ2VzOmZvY3VzLXdpdGhpbiAjbGFuZ3VhZ2UtbWVudSwgLnNpdGUtaGVhZGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51ID4gbGkubGFuZ3VhZ2VzOmZvY3VzLXdpdGhpbiAjbGFuZ3VhZ2UtbWVudSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkubGFuZ3VhZ2VzOmZvY3VzLXdpdGhpbiAjbGFuZ3VhZ2UtbWVudSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zaXRlLWhlYWRlciAubWVudS5zZWNvbmRhcnkgPiBsaSAjbGFuZ3VhZ2UtbWVudSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uID4gbGkgI2xhbmd1YWdlLW1lbnUsIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIC5tZW51LmJ1dHRvbiA+IGxpICNsYW5ndWFnZS1tZW51LCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkgI2xhbmd1YWdlLW1lbnUsIC5zaXRlLWhlYWRlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51LCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudSB7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAxMzZweDsgbGVmdDogMDsgcmlnaHQ6IDA7IHotaW5kZXg6IDk5OTsgYmFja2dyb3VuZDogI2ZmZjsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMjBweCAwOyB0cmFuc2l0aW9uOiBkaXNwbGF5IDAgMnM7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpICNsYW5ndWFnZS1tZW51IGgzLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gPiBsaSAjbGFuZ3VhZ2UtbWVudSBoMywgLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgLm1lbnUuYnV0dG9uID4gbGkgI2xhbmd1YWdlLW1lbnUgaDMsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51IGgzLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudSBoMywgLnNpdGUtaGVhZGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51ID4gbGkgI2xhbmd1YWdlLW1lbnUgaDMsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51IGgzIHsgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNFNEU0RTQ7IHBhZGRpbmctYm90dG9tOiAxMHB4OyBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5zaXRlLWhlYWRlciAubWVudS5zZWNvbmRhcnkgPiBsaSAjbGFuZ3VhZ2UtbWVudSB1bCwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uID4gbGkgI2xhbmd1YWdlLW1lbnUgdWwsIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIC5tZW51LmJ1dHRvbiA+IGxpICNsYW5ndWFnZS1tZW51IHVsLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudSB1bCwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkgI2xhbmd1YWdlLW1lbnUgdWwsIC5zaXRlLWhlYWRlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51IHVsLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudSB1bCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgbWFyZ2luOiAwIDAgMTBweDsgfVxuXG4uc2l0ZS1oZWFkZXIgLm1lbnUuc2Vjb25kYXJ5ID4gbGkgI2xhbmd1YWdlLW1lbnUgdWwgbGksIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiA+IGxpICNsYW5ndWFnZS1tZW51IHVsIGxpLCAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciAubWVudS5idXR0b24gPiBsaSAjbGFuZ3VhZ2UtbWVudSB1bCBsaSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51ID4gbGkgI2xhbmd1YWdlLW1lbnUgdWwgbGksIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51IHVsIGxpLCAuc2l0ZS1oZWFkZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudSB1bCBsaSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkgI2xhbmd1YWdlLW1lbnUgdWwgbGkgeyB0ZXh0LWFsaWduOiBsZWZ0OyB3aWR0aDogMzMlOyBmbGV4OiAwIDAgYXV0bzsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5zaXRlLWhlYWRlciAubWVudS5zZWNvbmRhcnkgPiBsaSAjbGFuZ3VhZ2UtbWVudSB1bCBsaSAubGFiZWwsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiA+IGxpICNsYW5ndWFnZS1tZW51IHVsIGxpIC5sYWJlbCwgLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgLm1lbnUuYnV0dG9uID4gbGkgI2xhbmd1YWdlLW1lbnUgdWwgbGkgLmxhYmVsLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudSB1bCBsaSAubGFiZWwsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51IHVsIGxpIC5sYWJlbCwgLnNpdGUtaGVhZGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51ID4gbGkgI2xhbmd1YWdlLW1lbnUgdWwgbGkgLmxhYmVsLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudSB1bCBsaSAubGFiZWwgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBiYWNrZ3JvdW5kOiAjRjBGMEYwOyB3aWR0aDogNDZweDsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpICNsYW5ndWFnZS1tZW51IGEsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiA+IGxpICNsYW5ndWFnZS1tZW51IGEsIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIC5tZW51LmJ1dHRvbiA+IGxpICNsYW5ndWFnZS1tZW51IGEsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51IGEsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51IGEsIC5zaXRlLWhlYWRlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51IGEsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51IGEgeyBkaXNwbGF5OiBpbmxpbmU7IHdpZHRoOiBhdXRvOyB9XG5cbi5zaXRlLWhlYWRlciAubWVudS5zZWNvbmRhcnkgPiBsaSAjbGFuZ3VhZ2UtbWVudSBhW3RhcmdldD1cIl9ibGFua1wiXTphZnRlciwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uID4gbGkgI2xhbmd1YWdlLW1lbnUgYVt0YXJnZXQ9XCJfYmxhbmtcIl06YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIC5tZW51LmJ1dHRvbiA+IGxpICNsYW5ndWFnZS1tZW51IGFbdGFyZ2V0PVwiX2JsYW5rXCJdOmFmdGVyLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudSBhW3RhcmdldD1cIl9ibGFua1wiXTphZnRlciwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkgI2xhbmd1YWdlLW1lbnUgYVt0YXJnZXQ9XCJfYmxhbmtcIl06YWZ0ZXIsIC5zaXRlLWhlYWRlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51IGFbdGFyZ2V0PVwiX2JsYW5rXCJdOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudSBhW3RhcmdldD1cIl9ibGFua1wiXTphZnRlciB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7IG1hcmdpbi1sZWZ0OiA2cHg7IG1hcmdpbi1yaWdodDogMnB4OyBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pY29ucy9uZXctd2luZG93LWJsdWUuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpICNsYW5ndWFnZS1tZW51OmhvdmVyLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gPiBsaSAjbGFuZ3VhZ2UtbWVudTpob3ZlciwgLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgLm1lbnUuYnV0dG9uID4gbGkgI2xhbmd1YWdlLW1lbnU6aG92ZXIsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51OmhvdmVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudTpob3ZlciwgLnNpdGUtaGVhZGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51ID4gbGkgI2xhbmd1YWdlLW1lbnU6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51OmhvdmVyLCAuc2l0ZS1oZWFkZXIgLm1lbnUuc2Vjb25kYXJ5ID4gbGkgYSNsYW5ndWFnZS1tZW51LmFjdGl2ZSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uID4gbGkgYSNsYW5ndWFnZS1tZW51LmFjdGl2ZSwgLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgLm1lbnUuYnV0dG9uID4gbGkgYSNsYW5ndWFnZS1tZW51LmFjdGl2ZSwgLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpIGJ1dHRvbiNsYW5ndWFnZS1tZW51LmFjdGl2ZSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uID4gbGkgYnV0dG9uI2xhbmd1YWdlLW1lbnUuYWN0aXZlLCAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciAubWVudS5idXR0b24gPiBsaSBidXR0b24jbGFuZ3VhZ2UtbWVudS5hY3RpdmUsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpIGJ1dHRvbiNsYW5ndWFnZS1tZW51LmFjdGl2ZSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkgYnV0dG9uI2xhbmd1YWdlLW1lbnUuYWN0aXZlLCAuc2l0ZS1oZWFkZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgPiBsaSBidXR0b24jbGFuZ3VhZ2UtbWVudS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpIGJ1dHRvbiNsYW5ndWFnZS1tZW51LmFjdGl2ZSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51ID4gbGkgYSNsYW5ndWFnZS1tZW51LmFjdGl2ZSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkgYSNsYW5ndWFnZS1tZW51LmFjdGl2ZSwgLnNpdGUtaGVhZGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51ID4gbGkgYSNsYW5ndWFnZS1tZW51LmFjdGl2ZSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkgYSNsYW5ndWFnZS1tZW51LmFjdGl2ZSwgLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpICNsYW5ndWFnZS1tZW51OmZvY3VzLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gPiBsaSAjbGFuZ3VhZ2UtbWVudTpmb2N1cywgLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgLm1lbnUuYnV0dG9uID4gbGkgI2xhbmd1YWdlLW1lbnU6Zm9jdXMsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51OmZvY3VzLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudTpmb2N1cywgLnNpdGUtaGVhZGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51ID4gbGkgI2xhbmd1YWdlLW1lbnU6Zm9jdXMsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51OmZvY3VzLCAuc2l0ZS1oZWFkZXIgLm1lbnUuc2Vjb25kYXJ5ID4gbGkgI2xhbmd1YWdlLW1lbnU6Zm9jdXMtd2l0aGluLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gPiBsaSAjbGFuZ3VhZ2UtbWVudTpmb2N1cy13aXRoaW4sIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIC5tZW51LmJ1dHRvbiA+IGxpICNsYW5ndWFnZS1tZW51OmZvY3VzLXdpdGhpbiwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51ID4gbGkgI2xhbmd1YWdlLW1lbnU6Zm9jdXMtd2l0aGluLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaSAjbGFuZ3VhZ2UtbWVudTpmb2N1cy13aXRoaW4sIC5zaXRlLWhlYWRlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSA+IGxpICNsYW5ndWFnZS1tZW51OmZvY3VzLXdpdGhpbiwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkgI2xhbmd1YWdlLW1lbnU6Zm9jdXMtd2l0aGluIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LnNlY29uZGFyeSA+IGxpLmZhdXgtYnV0dG9uIGEsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiA+IGxpLmZhdXgtYnV0dG9uIGEsIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIC5tZW51LmJ1dHRvbiA+IGxpLmZhdXgtYnV0dG9uIGEsIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSA+IGxpLmZhdXgtYnV0dG9uIGEsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpLmZhdXgtYnV0dG9uIGEsIC5zaXRlLWhlYWRlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSA+IGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpLmZhdXgtYnV0dG9uIGEgeyBmb250LXNpemU6IDFyZW07IG1hcmdpbi1ib3R0b206IDA7IGJvcmRlcjogMDsgcGFkZGluZy1sZWZ0OiAyLjc1cmVtOyBwYWRkaW5nLXJpZ2h0OiAyLjc1cmVtOyB9XG5cbi5zaXRlLWhlYWRlciAubWVudS5zZWNvbmRhcnkgPiBsaS5mYXV4LWJ1dHRvbiBhOmFmdGVyLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gPiBsaS5mYXV4LWJ1dHRvbiBhOmFmdGVyLCAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciAubWVudS5idXR0b24gPiBsaS5mYXV4LWJ1dHRvbiBhOmFmdGVyLCAuc2l0ZS1oZWFkZXIgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLm1lbnUgPiBsaS5mYXV4LWJ1dHRvbiBhOmFmdGVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaS5mYXV4LWJ1dHRvbiBhOmFmdGVyLCAuc2l0ZS1oZWFkZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgPiBsaS5mYXV4LWJ1dHRvbiBhOmFmdGVyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciBhLm1lbnUgPiBsaS5mYXV4LWJ1dHRvbiBhOmFmdGVyIHsgY29udGVudDogbm9uZTsgfVxuXG4uc2l0ZS1oZWFkZXIgLm1lbnUuc2Vjb25kYXJ5ID4gbGkuc2VhcmNoLWl0ZW0sIC5zaXRlLWhlYWRlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiA+IGxpLnNlYXJjaC1pdGVtLCAuc2lnbnVwX19mb3JtIC5zaXRlLWhlYWRlciAubWVudS5idXR0b24gPiBsaS5zZWFyY2gtaXRlbSwgLnNpdGUtaGVhZGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51ID4gbGkuc2VhcmNoLWl0ZW0sIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gLnNpdGUtaGVhZGVyIGEubWVudSA+IGxpLnNlYXJjaC1pdGVtLCAuc2l0ZS1oZWFkZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgPiBsaS5zZWFyY2gtaXRlbSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAuc2l0ZS1oZWFkZXIgYS5tZW51ID4gbGkuc2VhcmNoLWl0ZW0geyBib3JkZXI6IDA7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LmhpZGUtZm9yLWxhcmdlIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4Njg2ODY7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LmRyb3Bkb3duIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBtYXJnaW4tdG9wOiAxMnB4OyBtYXJnaW4tYm90dG9tOiA2cHg7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LmRyb3Bkb3duLml0ZW1zLTIsIC5zaXRlLWhlYWRlciAubWVudS5kcm9wZG93bi5pdGVtcy0zIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyBjb2x1bW4tZ2FwOiA0MHB4OyB9XG5cbi5zaXRlLWhlYWRlciAubWVudS5kcm9wZG93bi5uYXZfY2hpbGQgbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTphZnRlciwgLnNpdGUtaGVhZGVyIC5tZW51LmRyb3Bkb3duLm5hdl9jaGlsZCBsaSBhOmFmdGVyIHsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTsgYmFja2dyb3VuZC1zaXplOiAxNXB4IDExcHg7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDExcHg7IHRvcDogMjBweDsgcmlnaHQ6IC0yNXB4OyBtYXJnaW4tdG9wOiAwOyBib3JkZXI6IG5vbmU7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLnNpdGUtaGVhZGVyIC5tZW51LmRyb3Bkb3duLm5hdl9jaGlsZCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOmFmdGVyLCAuc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpIGE6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiAjMDQzMjYzOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpOyBtYXNrLXNpemU6IDE1cHggMTFweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG5cbi5zaXRlLWhlYWRlciAubWVudS5kcm9wZG93bi5uYXZfY2hpbGQgbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTpob3ZlciwgLnNpdGUtaGVhZGVyIC5tZW51LmRyb3Bkb3duLm5hdl9jaGlsZCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhLmFjdGl2ZSwgLnNpdGUtaGVhZGVyIC5tZW51LmRyb3Bkb3duLm5hdl9jaGlsZCBsaSBhOmhvdmVyLCAuc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpIGEuYWN0aXZlIHsgY29sb3I6ICMwRjU4OUE7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnNpdGUtaGVhZGVyIC5tZW51LmRyb3Bkb3duLm5hdl9jaGlsZCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOmhvdmVyOmFmdGVyLCAuc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGEuYWN0aXZlOmFmdGVyLCAuc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpIGE6aG92ZXI6YWZ0ZXIsIC5zaXRlLWhlYWRlciAubWVudS5kcm9wZG93bi5uYXZfY2hpbGQgbGkgYS5hY3RpdmU6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy15ZWxsb3cuc3ZnKTsgYmFja2dyb3VuZC1zaXplOiAxNXB4IDExcHg7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDExcHg7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLnNpdGUtaGVhZGVyIC5tZW51LmRyb3Bkb3duLm5hdl9jaGlsZCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOmhvdmVyOmFmdGVyLCAuc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGEuYWN0aXZlOmFmdGVyLCAuc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpIGE6aG92ZXI6YWZ0ZXIsIC5zaXRlLWhlYWRlciAubWVudS5kcm9wZG93bi5uYXZfY2hpbGQgbGkgYS5hY3RpdmU6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiAjRkRDNDAwOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy15ZWxsb3cuc3ZnKTsgbWFzay1zaXplOiAxNXB4IDExcHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG4uc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5pcy1kcm9wZG93bi1zdWJtZW51LCAuc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHsgbWFyZ2luOiAwcHg7IGxpc3Qtc3R5bGU6IG5vbmU7IGJvcmRlcjogbm9uZTsgfVxuXG4uc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5pcy1kcm9wZG93bi1zdWJtZW51IGxpIGEsIC5zaXRlLWhlYWRlciAubWVudS5kcm9wZG93bi5uYXZfY2hpbGQgbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgbGkgYSB7IHRleHQtYWxpZ246IGxlZnQ7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMTBweCAyNXB4OyB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuXG4uc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5pcy1kcm9wZG93bi1zdWJtZW51IGxpIGE6OmFmdGVyLCAuc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IGxpIGE6OmFmdGVyIHsgY29udGVudDogbm9uZTsgfVxuXG4uc2l0ZS1oZWFkZXIgLm1lbnUuZHJvcGRvd24ubmF2X2NoaWxkIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5pcy1kcm9wZG93bi1zdWJtZW51IGxpIGE6aG92ZXIsIC5zaXRlLWhlYWRlciAubWVudS5kcm9wZG93bi5uYXZfY2hpbGQgbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgbGkgYS5hY3RpdmUsIC5zaXRlLWhlYWRlciAubWVudS5kcm9wZG93bi5uYXZfY2hpbGQgbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgbGkgYTpob3ZlciwgLnNpdGUtaGVhZGVyIC5tZW51LmRyb3Bkb3duLm5hdl9jaGlsZCBsaSAuaXMtZHJvcGRvd24tc3VibWVudSBsaSBhLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICMwNDMyNjM7IGNvbG9yOiAjRkZGOyB9XG5cbi5zaXRlLWhlYWRlciAubWVudS5kcm9wZG93bi5uYXZfY2hpbGQgbGk6bm90KC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCkgYTpob3ZlciwgLnNpdGUtaGVhZGVyIC5tZW51LmRyb3Bkb3duLm5hdl9jaGlsZCBsaTpub3QoLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50KSBhLmFjdGl2ZSB7IGNvbG9yOiAjMEY1ODlBOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b20tY29sb3I6ICNGREM0MDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnNpdGUtaGVhZGVyIC5tZW51IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsgd2lkdGg6IGF1dG87IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5zaXRlLWhlYWRlciAubWVudSBsaSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuLyoqIFBhbmVsICYmICBGaXhlZCBQb3NpdGlvbiBuYXZpZ2F0aW9uICovXG5ib2R5LnBhbmVsLW9wZW4geyB0cmFuc2l0aW9uOiBhbGwgMXMgYm91bmNlOyB9XG5cbmJvZHkucGFuZWwtb3BlbiAuc2l0ZS1oZWFkZXIgeyBoZWlnaHQ6IDE4NHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IGJvZHkucGFuZWwtb3BlbiAuc2l0ZS1oZWFkZXIgeyBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgbWF4LWhlaWdodDogMTAwdmg7IH1cbiAgYm9keS5wYW5lbC1vcGVuIC5zaXRlLWhlYWRlciAubWVudSB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIGJvZHkucGFuZWwtb3BlbiAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Y0RjRGNDsgfVxuICBib2R5LnBhbmVsLW9wZW4gLnNpdGUtaGVhZGVyIC5tZW51IGxpIGEgeyB0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXdlaWdodDogNzAwOyB9XG4gIGJvZHkucGFuZWwtb3BlbiAuc2l0ZS1oZWFkZXIgLm1lbnUgbGkgYTpob3ZlciwgYm9keS5wYW5lbC1vcGVuIC5zaXRlLWhlYWRlciAubWVudSBsaSBhLmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBib2R5LnBhbmVsLW9wZW4gLnNpdGUtaGVhZGVyIC5tZW51IGxpOmxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIGJvZHkucGFuZWwtb3BlbiAuc2l0ZS1oZWFkZXIgLm1lbnUgLmRyb3Bkb3duLXBhbmUgdWwgeyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgYm9keS5wYW5lbC1vcGVuIC5zaXRlLWhlYWRlciAubWVudSAuZHJvcGRvd24tcGFuZSB1bCBsaSBhIHsgZm9udC13ZWlnaHQ6IDQwMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiA1NXB4OyBsZWZ0OiAwOyBwYWRkaW5nOiAwIDIwcHg7IGhlaWdodDogY2FsYygxMDB2aCAtIDU1cHgpOyB9XG4gIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciAuZHJvcGRvd24tcGFuZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5ib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgLm1lbnUuc2Vjb25kYXJ5LCBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24sIC5zaWdudXBfX2Zvcm0gYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIC5tZW51LmJ1dHRvbiwgYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51LCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciBhLm1lbnUsIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgYS5tZW51IHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGJvcmRlci10b3A6IG5vbmU7IH1cblxuYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIC5tZW51LnNlY29uZGFyeSBsaSwgYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uIGxpLCAuc2lnbnVwX19mb3JtIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciAubWVudS5idXR0b24gbGksIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSBsaSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgYS5tZW51IGxpLCBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgbGksIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSBsaSB7IGJvcmRlci1yaWdodDogbm9uZTsgYm9yZGVyLWJvdHRvbTogbm9uZTsgd2lkdGg6IDQwJTsgfVxuXG5ib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgLm1lbnUuc2Vjb25kYXJ5IGxpLmZhdXgtYnV0dG9uLCBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gbGkuZmF1eC1idXR0b24sIC5zaWdudXBfX2Zvcm0gYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIC5tZW51LmJ1dHRvbiBsaS5mYXV4LWJ1dHRvbiwgYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51IGxpLmZhdXgtYnV0dG9uLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciBhLm1lbnUgbGkuZmF1eC1idXR0b24sIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSBsaS5mYXV4LWJ1dHRvbiwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgYS5tZW51IGxpLmZhdXgtYnV0dG9uIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDBweDsgd2lkdGg6IDYwJTsgfVxuXG5ib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgLm1lbnUuc2Vjb25kYXJ5IGxpLmZhdXgtYnV0dG9uIGEsIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiBsaS5mYXV4LWJ1dHRvbiBhLCAuc2lnbnVwX19mb3JtIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciAubWVudS5idXR0b24gbGkuZmF1eC1idXR0b24gYSwgYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51IGxpLmZhdXgtYnV0dG9uIGEsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSBsaS5mYXV4LWJ1dHRvbiBhLCBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgYS5tZW51IGxpLmZhdXgtYnV0dG9uIGEgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIC5tZW51LnNlY29uZGFyeSBsaS5sYW5ndWFnZXMgPiBhLCBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gbGkubGFuZ3VhZ2VzID4gYSwgLnNpZ251cF9fZm9ybSBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgLm1lbnUuYnV0dG9uIGxpLmxhbmd1YWdlcyA+IGEsIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSBsaS5sYW5ndWFnZXMgPiBhLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciBhLm1lbnUgbGkubGFuZ3VhZ2VzID4gYSwgYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51IGxpLmxhbmd1YWdlcyA+IGEsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSBsaS5sYW5ndWFnZXMgPiBhIHsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2dsb2JlLnN2Zykgbm8tcmVwZWF0IGxlZnQgY2VudGVyL2NvbnRhaW47IHdpZHRoOiAxMDAlOyBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDsgfVxuXG5ib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgLm1lbnUuc2Vjb25kYXJ5IGxpLmxhbmd1YWdlcyA+IGE6YWZ0ZXIsIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiBsaS5sYW5ndWFnZXMgPiBhOmFmdGVyLCAuc2lnbnVwX19mb3JtIGJvZHkucGFuZWwtb3BlbiAjbWVnYV9fbWVudV9fd3JhcHBlciAubWVudS5idXR0b24gbGkubGFuZ3VhZ2VzID4gYTphZnRlciwgYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51IGxpLmxhbmd1YWdlcyA+IGE6YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYm9keS5wYW5lbC1vcGVuICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSBsaS5sYW5ndWFnZXMgPiBhOmFmdGVyLCBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgbGkubGFuZ3VhZ2VzID4gYTphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBib2R5LnBhbmVsLW9wZW4gI21lZ2FfX21lbnVfX3dyYXBwZXIgYS5tZW51IGxpLmxhbmd1YWdlcyA+IGE6YWZ0ZXIgeyBtYXJnaW4tbGVmdDogMjVweDsgfVxuXG5ib2R5LmZpeGVkLW1lbnUgLnNpdGUtaGVhZGVyLWZpeGVkIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IHotaW5kZXg6IDk5NzsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgaGVpZ2h0OiA1NXB4OyB9XG5cbkBtZWRpYSBvbmx5IHByaW50IHsgYm9keS5maXhlZC1tZW51IC5zaXRlLWhlYWRlci1maXhlZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyBib2R5LmZpeGVkLW1lbnUgLnNpdGUtaGVhZGVyLWZpeGVkIHsgaGVpZ2h0OiAxODRweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IGJvZHkuZml4ZWQtbWVudSAuc2l0ZS1oZWFkZXIuY2hpbGRfaGVhZGVyIHsgaGVpZ2h0OiAxNzBweDsgfSB9XG5cbmJvZHkuZml4ZWQtbWVudSAuc2l0ZS1jb250ZW50IHsgbWFyZ2luLXRvcDogNTVweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyBib2R5LmZpeGVkLW1lbnUgLnNpdGUtY29udGVudCB7IG1hcmdpbi10b3A6IDE4NHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgcHJpbnQgeyBib2R5LmZpeGVkLW1lbnUgLnNpdGUtY29udGVudCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IGJvZHkuZml4ZWQtbWVudSAuc2l0ZS1jb250ZW50LmNoaWxkX3RoZW1lIHsgbWFyZ2luLXRvcDogMTcwcHg7IH0gfVxuXG4vKiBNZWdhIE1lbnUgKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7ICNtZWdhX19tZW51X193cmFwcGVyIHsgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICNtZWdhX19tZW51X193cmFwcGVyICNtZW51LWV5ZWJyb3ctbGlua3MtMSB7IHBhZGRpbmc6IDE1cHggMHB4OyBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICNtZWdhX19tZW51X193cmFwcGVyICNtZW51LWV5ZWJyb3ctbGlua3MtMSBsaSBhIHsgZm9udC13ZWlnaHQ6IDQwMDsgfSB9XG5cbiNtZWdhX19tZW51X193cmFwcGVyLnNocmlua2VkX21lbnUgLm1lZ2EtbWVudSAubWVnYV9tZW51X2lubmVyLmRyb3Bkb3duLXBhbmUgeyB0b3A6IDEyNnB4ICFpbXBvcnRhbnQ7IH1cblxuI21lZ2FfX21lbnVfX3dyYXBwZXIgLm1lbnUuc2Vjb25kYXJ5IC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iLCAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiwgLnNpZ251cF9fZm9ybSAjbWVnYV9fbWVudV9fd3JhcHBlciAubWVudS5idXR0b24gLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IsICNtZWdhX19tZW51X193cmFwcGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51IC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiwgI21lZ2FfX21lbnVfX3dyYXBwZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gI21lZ2FfX21lbnVfX3dyYXBwZXIgYS5tZW51IC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIHsgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IGZpeGVkOyBoZWlnaHQ6IDEwMCU7IHotaW5kZXg6IDk5OTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYmFja2dyb3VuZDogI2ZmZjsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMjBweCAwOyB9XG5cbiNtZWdhX19tZW51X193cmFwcGVyIC5tZW51LnNlY29uZGFyeSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBoMywgI21lZ2FfX21lbnVfX3dyYXBwZXIgLnNpZ251cF9fZm9ybSAubWVudS5idXR0b24gLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgaDMsIC5zaWdudXBfX2Zvcm0gI21lZ2FfX21lbnVfX3dyYXBwZXIgLm1lbnUuYnV0dG9uIC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIGgzLCAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBoMywgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAjbWVnYV9fbWVudV9fd3JhcHBlciBhLm1lbnUgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgaDMsICNtZWdhX19tZW51X193cmFwcGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51IC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIGgzLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBoMyB7IGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRTRFNEU0OyBwYWRkaW5nLWJvdHRvbTogMTBweDsgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4jbWVnYV9fbWVudV9fd3JhcHBlciAubWVudS5zZWNvbmRhcnkgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgdWwsICNtZWdhX19tZW51X193cmFwcGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uIC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIHVsLCAuc2lnbnVwX19mb3JtICNtZWdhX19tZW51X193cmFwcGVyIC5tZW51LmJ1dHRvbiAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiB1bCwgI21lZ2FfX21lbnVfX3dyYXBwZXIgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLm1lbnUgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgdWwsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gI21lZ2FfX21lbnVfX3dyYXBwZXIgYS5tZW51IC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIHVsLCAjbWVnYV9fbWVudV9fd3JhcHBlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiB1bCwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAjbWVnYV9fbWVudV9fd3JhcHBlciBhLm1lbnUgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgdWwgeyBmbGV4LXdyYXA6IHdyYXA7IG1hcmdpbjogMCAwIDEwcHg7IGRpc3BsYXk6IGZsZXg7IH1cblxuI21lZ2FfX21lbnVfX3dyYXBwZXIgLm1lbnUuc2Vjb25kYXJ5IC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIHVsIGxpLCAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiB1bCBsaSwgLnNpZ251cF9fZm9ybSAjbWVnYV9fbWVudV9fd3JhcHBlciAubWVudS5idXR0b24gLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgdWwgbGksICNtZWdhX19tZW51X193cmFwcGVyIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51IC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIHVsIGxpLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiB1bCBsaSwgI21lZ2FfX21lbnVfX3dyYXBwZXIgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLm1lbnUgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgdWwgbGksIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gI21lZ2FfX21lbnVfX3dyYXBwZXIgYS5tZW51IC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIHVsIGxpIHsgd2lkdGg6IDUwJTsgbWFyZ2luLWJvdHRvbTogMjBweDsgdGV4dC1hbGlnbjogbGVmdDsgZmxleDogMCAwIGF1dG87IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4jbWVnYV9fbWVudV9fd3JhcHBlciAubWVudS5zZWNvbmRhcnkgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgdWwgbGkgLmxhYmVsLCAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiB1bCBsaSAubGFiZWwsIC5zaWdudXBfX2Zvcm0gI21lZ2FfX21lbnVfX3dyYXBwZXIgLm1lbnUuYnV0dG9uIC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIHVsIGxpIC5sYWJlbCwgI21lZ2FfX21lbnVfX3dyYXBwZXIgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLm1lbnUgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgdWwgbGkgLmxhYmVsLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiB1bCBsaSAubGFiZWwsICNtZWdhX19tZW51X193cmFwcGVyIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51IC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIHVsIGxpIC5sYWJlbCwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAjbWVnYV9fbWVudV9fd3JhcHBlciBhLm1lbnUgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgdWwgbGkgLmxhYmVsIHsgbWFyZ2luLXJpZ2h0OiAxNXB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBiYWNrZ3JvdW5kOiAjRjBGMEYwOyB3aWR0aDogNDZweDsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNtZWdhX19tZW51X193cmFwcGVyIC5tZW51LnNlY29uZGFyeSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBhLCAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBhLCAuc2lnbnVwX19mb3JtICNtZWdhX19tZW51X193cmFwcGVyIC5tZW51LmJ1dHRvbiAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBhLCAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBhLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBhLCAjbWVnYV9fbWVudV9fd3JhcHBlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBhLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBhIHsgZGlzcGxheTogaW5saW5lOyB3aWR0aDogYXV0bzsgfVxuXG4jbWVnYV9fbWVudV9fd3JhcHBlciAubWVudS5zZWNvbmRhcnkgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgYVt0YXJnZXQ9XCJfYmxhbmtcIl06YWZ0ZXIsICNtZWdhX19tZW51X193cmFwcGVyIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uIC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIGFbdGFyZ2V0PVwiX2JsYW5rXCJdOmFmdGVyLCAuc2lnbnVwX19mb3JtICNtZWdhX19tZW51X193cmFwcGVyIC5tZW51LmJ1dHRvbiAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBhW3RhcmdldD1cIl9ibGFua1wiXTphZnRlciwgI21lZ2FfX21lbnVfX3dyYXBwZXIgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLm1lbnUgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgYVt0YXJnZXQ9XCJfYmxhbmtcIl06YWZ0ZXIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gI21lZ2FfX21lbnVfX3dyYXBwZXIgYS5tZW51IC5sYW5ndWFnZXMgI2xhbmd1YWdlLW1lbnVfbW9iIGFbdGFyZ2V0PVwiX2JsYW5rXCJdOmFmdGVyLCAjbWVnYV9fbWVudV9fd3JhcHBlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiBhW3RhcmdldD1cIl9ibGFua1wiXTphZnRlciwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAjbWVnYV9fbWVudV9fd3JhcHBlciBhLm1lbnUgLmxhbmd1YWdlcyAjbGFuZ3VhZ2UtbWVudV9tb2IgYVt0YXJnZXQ9XCJfYmxhbmtcIl06YWZ0ZXIgeyBjb250ZW50OiAnJzsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMTJweDsgaGVpZ2h0OiAxMnB4OyBtYXJnaW4tbGVmdDogNnB4OyBtYXJnaW4tcmlnaHQ6IDJweDsgYmFja2dyb3VuZDogdXJsKFwiLi4vaWNvbnMvbmV3LXdpbmRvdy1ibHVlLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluOyB9XG5cbiNtZWdhX19tZW51X193cmFwcGVyIC5tZW51LnNlY29uZGFyeSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiAubGFuZ3VhZ2VfbW9iaWxlX2Fycm93LCAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIC5tZW51LmJ1dHRvbiAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiAubGFuZ3VhZ2VfbW9iaWxlX2Fycm93LCAuc2lnbnVwX19mb3JtICNtZWdhX19tZW51X193cmFwcGVyIC5tZW51LmJ1dHRvbiAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiAubGFuZ3VhZ2VfbW9iaWxlX2Fycm93LCAjbWVnYV9fbWVudV9fd3JhcHBlciAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiAubGFuZ3VhZ2VfbW9iaWxlX2Fycm93LCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiAubGFuZ3VhZ2VfbW9iaWxlX2Fycm93LCAjbWVnYV9fbWVudV9fd3JhcHBlciBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiAubGFuZ3VhZ2VfbW9iaWxlX2Fycm93LCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtICNtZWdhX19tZW51X193cmFwcGVyIGEubWVudSAubGFuZ3VhZ2VzICNsYW5ndWFnZS1tZW51X21vYiAubGFuZ3VhZ2VfbW9iaWxlX2Fycm93IHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDY1cHg7IHJpZ2h0OiAzNXB4OyB9XG5cbi5tZWdhLW1lbnUgLm1lZ2FfbWVudV9pbm5lci5kcm9wZG93bi1wYW5lIHsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7IHRvcDogMTg0cHggIWltcG9ydGFudDsgbGVmdDogMCAhaW1wb3J0YW50OyByaWdodDogMCAhaW1wb3J0YW50OyBwb3NpdGlvbjogZml4ZWQ7IGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1lZ2EtbWVudSAubWVnYV9tZW51X2lubmVyLmRyb3Bkb3duLXBhbmUgLmdyaWQtY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IH1cblxuLm1lZ2EtbWVudSAubWVnYV9tZW51X2lubmVyLmRyb3Bkb3duLXBhbmUgbGkgeyBwYWRkaW5nOiAwcHg7IH1cblxuLm1lZ2EtbWVudSAubWVnYV9tZW51X2lubmVyLmRyb3Bkb3duLXBhbmUgbGkgYSB7IGJvcmRlci1ib3R0b206IG5vbmU7IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWdhLW1lbnUgLm1lZ2FfbWVudV9pbm5lci5kcm9wZG93bi1wYW5lIGxpIGEgeyBwYWRkaW5nOiA1cHggMTBweCAhaW1wb3J0YW50OyB9IH1cblxuLm1lZ2EtbWVudSAubWVnYV9tZW51X2lubmVyLmRyb3Bkb3duLXBhbmUgbGkgYTpob3ZlciwgLm1lZ2EtbWVudSAubWVnYV9tZW51X2lubmVyLmRyb3Bkb3duLXBhbmUgbGkgYS5hY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ubWVnYS1tZW51IC5tZW51IHsgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4ubWVnYS1tZW51IC5tZW51LnZlcnRpY2FsIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ubWVnYS1tZW51IC5tZW51LnZlcnRpY2FsIGxpIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4ubWVnYS1tZW51IC5tZW51LnZlcnRpY2FsIGxpOjpiZWZvcmUgeyBjb250ZW50OiBub25lOyB9XG5cbi5tZWdhLW1lbnUgLm1lZ2EtLXBhZGRpbmcgeyBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG4ubWVnYS1tZW51IC5tZW51LXN0cmV0Y2ggeyBtYXJnaW4tbGVmdDogLTIwcHg7IG1hcmdpbi1yaWdodDogLTIwcHg7IH1cblxuLm1lZ2EtbWVudSAuYmFubmVyLWxpbmsgeyBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubWVnYS1tZW51IC5zZWN0aW9uLS1ob21lIHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgbWFyZ2luLWJvdHRvbTogMjBweDsgcGFkZGluZzogMTBweCAwOyB9XG5cbi5tZWdhLW1lbnUgLnNlY3Rpb24tLWhvbWUgYSB7IGZvbnQtc2l6ZTogMXJlbTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLm1lZ2EtbWVudSAuYm9yZGVyLS1yaWdodCB7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNGU1ZTk7IGJvcmRlci1yaWdodDogbm9uZTsgfVxuXG4ubWVnYS1tZW51IC5zaWRlLS1wYW5lbCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLm1lZ2EtbWVudSAuc2lkZS0tcGFuZWwgeyBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuLm1lZ2EtbWVudSAuc2lkZS0tcGFuZWwgc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogI0ZGRjsgfVxuXG4ubWVnYS1tZW51IC5zaWRlLS1wYW5lbCBhIHsgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4ubWVnYS1tZW51IC5zaWRlLS1wYW5lbCAubWVudV9jdGFfYmxvY2sgeyBmbGV4OiAxIDAgYXV0bzsgYmFja2dyb3VuZC1jb2xvcjogIzBGNTg5QTsgcGFkZGluZzogMjJweDsgfVxuXG4ubWVnYS1tZW51IC5zaWRlLS1wYW5lbCAubWVudV9jdGFfYmxvY2sgYSB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyBjb2xvcjogI0ZGRiAhaW1wb3J0YW50OyBib3JkZXItYm90dG9tLWNvbG9yOiAjRkRDNDAwICFpbXBvcnRhbnQ7IH1cblxuLm1lZ2EtbWVudSAuc2lkZS0tcGFuZWwgLm1lbnVfY3RhX2Jsb2NrIGE6aG92ZXIsIC5tZWdhLW1lbnUgLnNpZGUtLXBhbmVsIC5tZW51X2N0YV9ibG9jayBhLmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubWVnYS1tZW51IC5zaWRlLS1wYW5lbCAubWVudV9jdGFfYmxvY2sgLm1vYmlsZV9iYW5uZXIgeyBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbi5tZWdhLW1lbnUgLmNvbCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luOiAwOyB3aWR0aDogMTAwJTsgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubWVnYS1tZW51IC5jb2wgeyB3aWR0aDogMzMlOyB9IH1cblxuLm1lZ2EtbWVudSAuY29sIHVsIHsgcGFkZGluZy1sZWZ0OiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG4ubWVnYS1tZW51IC5jb2wgdWwgbGkgYSB7IHBhZGRpbmc6IDVweCAxMHB4IDVweCAxMHB4OyBmb250LXNpemU6IDFyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm1lZ2EtbWVudSAuY29sIC5tZW51LS10aXRsZSB7IHBhZGRpbmc6IDAgMjBweCAwIDIwcHg7IH0gfVxuXG4ubWVnYS1tZW51IC5jb2wgLm1lbnUtLXRpdGxlIGEsIC5tZWdhLW1lbnUgLmNvbCAubWVudS0tdGl0bGUgaDYsIC5tZWdhLW1lbnUgLmNvbCAubWVudS0tdGl0bGUgLnVwZGF0ZWQgLmRhdGUsIC51cGRhdGVkIC5tZWdhLW1lbnUgLmNvbCAubWVudS0tdGl0bGUgLmRhdGUgeyBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm1lZ2EtbWVudSAuY29sIC5tZW51LS10aXRsZSBociB7IGhlaWdodDogMXB4OyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5tZWdhLW1lbnUgLmNvbCAubWVudS0tdGl0bGUgaHIgeyBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLm1lZ2EtbWVudSAubWVudS0tY3RhIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyB9XG5cbi5tZWdhLW1lbnUgLm1lbnUtLWN0YSAubWVudS0tYmFubmVyIHsgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDIwcHg7IH1cblxuLnNocmluay0taGlkZSB7IGhlaWdodDogYXV0bzsgb3BhY2l0eTogMTsgdHJhbnNpdGlvbjogaGVpZ2h0IDBtcyAwbXMsIG9wYWNpdHkgNjAwbXMgMG1zOyB9XG5cbiNzaXRlLWhlYWRlci5tZW51X19zbWFsbCB7IGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjMEY1ODlBOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNzaXRlLWhlYWRlci5tZW51X19zbWFsbCB7IGhlaWdodDogYXV0bzsgbWluLWhlaWdodDogMTMwcHg7IH0gfVxuXG4jc2l0ZS1oZWFkZXIubWVudV9fc21hbGwgLnNocmluay0taGlkZSB7IG9wYWNpdHk6IDA7IGhlaWdodDogMDsgdHJhbnNpdGlvbjogaGVpZ2h0IDBtcyAxMDBtcywgb3BhY2l0eSAxMDBtcyAwbXM7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI3NpdGUtaGVhZGVyLm1lbnVfX3NtYWxsIC5pY29uLmljb24tc21hbGwgeyBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBwb2ludGVyLWV2ZW50czogYWxsOyB3aWR0aDogNzBweDsgaGVpZ2h0OiA3MHB4OyB9IH1cblxuI3NpdGUtaGVhZGVyLm1lbnVfX3NtYWxsICNsYW5ndWFnZS1tZW51IHsgdG9wOiAxMjZweDsgfVxuXG4jc2l0ZS1oZWFkZXIubWVudV9fc21hbGwgLm1lbnUgbGkgYS5zZWFyY2gtLWxpbmsgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGhlaWdodDogMThweDsgb3BhY2l0eTogMTsgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyAwbXM7IHJpZ2h0OiAwOyB9XG5cbiNzaXRlLWhlYWRlci5tZW51X19zbWFsbCAubWVudS5kcm9wZG93biB7IGZsb2F0OiByaWdodDsgd2lkdGg6IDkwJTsgfVxuXG4jc2l0ZS1oZWFkZXIubWVudV9fc21hbGwgLm1lbnUuc2Vjb25kYXJ5ID4gbGk6bGFzdC1jaGlsZCwgI3NpdGUtaGVhZGVyLm1lbnVfX3NtYWxsIC5zaWdudXBfX2Zvcm0gLm1lbnUuYnV0dG9uID4gbGk6bGFzdC1jaGlsZCwgLnNpZ251cF9fZm9ybSAjc2l0ZS1oZWFkZXIubWVudV9fc21hbGwgLm1lbnUuYnV0dG9uID4gbGk6bGFzdC1jaGlsZCwgI3NpdGUtaGVhZGVyLm1lbnVfX3NtYWxsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5tZW51ID4gbGk6bGFzdC1jaGlsZCwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAjc2l0ZS1oZWFkZXIubWVudV9fc21hbGwgYS5tZW51ID4gbGk6bGFzdC1jaGlsZCwgI3NpdGUtaGVhZGVyLm1lbnVfX3NtYWxsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5tZW51ID4gbGk6bGFzdC1jaGlsZCwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSAjc2l0ZS1oZWFkZXIubWVudV9fc21hbGwgYS5tZW51ID4gbGk6bGFzdC1jaGlsZCB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogNDBweDsgcGFkZGluZzogMDsgfVxuXG4uZHJvcGRvd24tcGFuZS5jdXN0b20geyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyBib3JkZXI6IDA7IH1cblxuLmhlYWRlci1zcGFjZXIgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA4MHB4OyBkaXNwbGF5OiBncmlkOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5oZWFkZXItc3BhY2VyIHsgaGVpZ2h0OiAyMDBweDsgfSB9XG5cbi5iZ0ZpbHRlciB7IGJhY2tncm91bmQtY29sb3I6ICMwNDMyNjM7IG9wYWNpdHk6IDA7IHdpZHRoOiAxMDB2dzsgaGVpZ2h0OiAxMDB2aDsgei1pbmRleDogOTk2OyB9XG5cbi5oZWFkZXI0X3YyIC5oZWFkZXI0X3YyX3RyYWZmaWNMaWdodCB7IG1hcmdpbjogMnJlbSAwIDEuNXJlbSAwOyB9XG5cbi5oZWFkZXI0X3YyIC5oZWFkZXI0X3YyX3RyYWZmaWNMaWdodCAudHJhZmZpY0xpZ2h0X2dyZWVuIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgcGFkZGluZzogLjg1ZW0gMi4zZW07IGJhY2tncm91bmQtY29sb3I6ICNDQ0UwRDA7IHdpZHRoOiBmaXQtY29udGVudDsgfVxuXG4uaGVhZGVyNF92MiAuaGVhZGVyNF92Ml90cmFmZmljTGlnaHQgLnRyYWZmaWNMaWdodF9yZWQgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBwYWRkaW5nOiAuODVlbSAyLjNlbTsgYmFja2dyb3VuZC1jb2xvcjogI0ZBRTdFQzsgd2lkdGg6IGZpdC1jb250ZW50OyB9XG5cbi8qKiBGT09URVIgICovXG4uc2l0ZS1mb290ZXIgeyBjb2xvcjogI0ZGRjsgYmFja2dyb3VuZC1jb2xvcjogIzA0MzI2MzsgcGFkZGluZzogODBweCAwIDIwcHggMDsgfVxuXG4uc2l0ZS1mb290ZXIgaDYsIC5zaXRlLWZvb3RlciAudXBkYXRlZCAuZGF0ZSwgLnVwZGF0ZWQgLnNpdGUtZm9vdGVyIC5kYXRlIHsgY29sb3I6ICNGRkY7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNpdGUtZm9vdGVyIGE6bm90KC5idXR0b24pIHsgY29sb3I6ICNGRkY7IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiBhdXRvOyB9XG5cbi5zaXRlLWZvb3RlciAuYnV0dG9uLCAuc2l0ZS1mb290ZXIgbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gLnNpdGUtZm9vdGVyIGEgeyB3aWR0aDogMTAwJTsgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uc2l0ZS1mb290ZXIgLmNlbGwuYXV0byB7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5zaXRlLWZvb3RlciAuY2VsbC5hdXRvIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2l0ZS1mb290ZXIgdWwgeyBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuc2l0ZS1mb290ZXIgdWwuZm9vdGVyLS1saW5rcyB7IG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG4uc2l0ZS1mb290ZXIgdWwuZm9vdGVyLS1saW5rcyBsaSBhIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG5cbi5zaXRlLWZvb3RlciB1bC5mb290ZXItLWxpbmtzIGxpIGFbdGFyZ2V0PVwiX2JsYW5rXCJdOmFmdGVyIHsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2V4dGVybmFsLWxpbmstaWNvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47IHdpZHRoOiAzMHB4OyBoZWlnaHQ6IDExcHg7IG1hcmdpbi1yaWdodDogLTMwcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uc2l0ZS1mb290ZXIgdWwudGVybXMtbGlzdCB7IHdpZHRoOiAxMDAlOyBib3JkZXItdG9wOiAycHggc29saWQgIzBGNTg5QTsgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsgbWFyZ2luLXRvcDogNDBweDsgcGFkZGluZy10b3A6IDIwcHg7IH1cblxuLnNpdGUtZm9vdGVyIHVsLnRlcm1zLWxpc3QgbGkgeyBmbG9hdDogbGVmdDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG5cbi5zaXRlLWZvb3RlciB1bC50ZXJtcy1saXN0IGxpIGEgeyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRkZGOyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnNpdGUtZm9vdGVyIHVsLnRlcm1zLWxpc3QgbGkgYTpob3ZlciwgLnNpdGUtZm9vdGVyIHVsLnRlcm1zLWxpc3QgbGkgYS5hY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uc2l0ZS1mb290ZXIgdWwudGVybXMtbGlzdCBsaSBhLmxhc3QgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH1cblxuLnNpdGUtZm9vdGVyIHVsLnRlcm1zLWxpc3QgbGkgYTpsYXN0LWNoaWxkIGEgeyBib3JkZXItcmlnaHQ6IG5vbmU7IH1cblxuLnNpdGUtZm9vdGVyIHVsLnRlcm1zLWxpc3QgbGk6bGFzdC1jaGlsZCBhIHsgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG5cbi5zaXRlLWZvb3RlciB1bC5zb2NpYWwgeyBkaXNwbGF5OiBmbGV4OyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyBtYXJnaW4tdG9wOiAyMHB4OyBtYXJnaW4tbGVmdDogMHB4OyB9XG5cbi5zaXRlLWZvb3RlciB1bC5zb2NpYWwgbGkgeyB3aWR0aDogMjUlOyBtYXgtd2lkdGg6IDYwcHg7IG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5zaXRlLWZvb3RlciB1bC5zb2NpYWwgbGkgYSBpIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGNvbG9yOiAjMDQzMjYzOyBiYWNrZ3JvdW5kOiAjRkZGOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAwOyBwYWRkaW5nLWJvdHRvbTogMTAwJTsgYm9yZGVyLXJhZGl1czogNTAlOyBtYXJnaW46IDA7IHRyYW5zaXRpb246IGFsbCAwLjI1czsgfVxuXG4uc2l0ZS1mb290ZXIgdWwuc29jaWFsIGxpIGEgaTpiZWZvcmUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4uc2l0ZS1mb290ZXIgdWwuc29jaWFsIGxpIGE6aG92ZXIgaSwgLnNpdGUtZm9vdGVyIHVsLnNvY2lhbCBsaSBhLmFjdGl2ZSBpIHsgYmFja2dyb3VuZDogI0ZEQzQwMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuc2l0ZS1mb290ZXIgdWwuc29jaWFsIGxpIHsgbWFyZ2luLWxlZnQ6IDE1cHg7IH0gfVxuXG4uc2l0ZS1mb290ZXIgdWwuc29jaWFsIGxpOmZpcnN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDBweDsgfVxuXG4uc2l0ZS1mb290ZXIgLm1pY3Jvc2l0ZS1sb2dvIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zaXRlLWZvb3RlciAuZm9vdGVyX19sb2dvIHsgZGlzcGxheTogZmxleDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuc2l0ZS1mb290ZXIgLmZvb3Rlcl9fbG9nbyB7IHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uc2l0ZS1mb290ZXIgLmZvb3Rlcl9fbG9nbyBhLmljb246Zmlyc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDIwcHg7IHBhZGRpbmctcmlnaHQ6IDIwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7IH1cblxuLnNpdGUtZm9vdGVyIC5pY29uIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW46IDA7IG1heC13aWR0aDogMTAwJTsgd2lkdGg6IDIyOXB4OyBoZWlnaHQ6IDUzcHg7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLnNpdGUtZm9vdGVyIC5pY29uIGltZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7IG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuLnNpdGUtZm9vdGVyIC5pY29uIHNwYW4geyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5OXB4OyB9XG5cbi5zaXRlLWZvb3RlciAuYm9yZGVyLWNvbCB7IHBhZGRpbmctdG9wOiAyMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5zaXRlLWZvb3RlciAuYm9yZGVyLWNvbCB7IHBhZGRpbmctdG9wOiBpbml0aWFsOyBwYWRkaW5nLWxlZnQ6IDA7IGJvcmRlci10b3A6IDA7IH0gfVxuXG4uc2l0ZS1mb290ZXIgLmJvcmRlci1jb2wgc3BhbiB7IHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLnNpdGUtZm9vdGVyIC5zZWFyY2hfX3dyYXBwZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnNpdGUtZm9vdGVyIC5zZWFyY2hfX3dyYXBwZXIgeyBtYXJnaW4tYm90dG9tOiBhdXRvOyB9IH1cblxuLnNpdGUtZm9vdGVyIC5zZWFyY2hfX3dyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl0geyBwYWRkaW5nOiAyNHB4IDIwcHg7IHdpZHRoOiAxMDAlOyBib3JkZXItcmFkaXVzOiAyNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG5cbi5zaXRlLWZvb3RlciAuc2VhcmNoX193cmFwcGVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzIHsgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5zaXRlLWZvb3RlciAuc2VhcmNoX193cmFwcGVyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0geyByaWdodDogMTBweDsgfSB9XG5cbi5kaXNjbGFpbWVyX2Zvb3RlciB7IHBhZGRpbmc6IDIwcHggMHB4OyB9XG5cbi5kaXNjbGFpbWVyX2Zvb3RlciAuZGlzY2xhaW1lcl9jb250ZW50IHAgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiAjNzA3MDcwOyBtYXJnaW46IDBweDsgfVxuXG4uZGlzY2xhaW1lcl9mb290ZXIgLmRpc2NsYWltZXJfaW1ncyB7IGJvcmRlci1yYWRpdXM6IDA7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5kaXNjbGFpbWVyX2Zvb3RlciAuZGlzY2xhaW1lcl9pbWdzIGltZy5kaXNjbGFpbWVyX2ltZyB7IG1hcmdpbi10b3A6IDIwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmRpc2NsYWltZXJfZm9vdGVyIC5kaXNjbGFpbWVyX2ltZ3MgaW1nLmRpc2NsYWltZXJfaW1nIHsgbWFyZ2luLXRvcDogMHB4OyBtYXJnaW4tbGVmdDogMzBweDsgfSB9XG5cbmJvZHkubWljcm9zaXRlIC5zaXRlLWZvb3RlciB7IHBhZGRpbmc6IDM0cHggMCAzNHB4OyB9XG5cbi5oZWFkaW5nIHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uaGVhZGluZyBoMSwgLmhlYWRpbmcgaDIsIC5oZWFkaW5nIGgzLCAuaGVhZGluZyBoNCwgLmhlYWRpbmcgaDUsIC5oZWFkaW5nIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5oZWFkaW5nIHAsIC5oZWFkaW5nIGg2LCAuaGVhZGluZyAudXBkYXRlZCAuZGF0ZSwgLnVwZGF0ZWQgLmhlYWRpbmcgLmRhdGUsIC5oZWFkaW5nIHNwYW4sIC5oZWFkaW5nIGEgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmhlYWRpbmcgaDIgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5oZWFkaW5nIGhyIHsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uaGVhZGluZyBwIHsgY29sb3I6ICMwNDMyNjM7IH1cblxuLmhlYWRpbmcgLmhlYWRpbmctLXRhZyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5oZWFkaW5nIC50ZXh0LXJpZ2h0IHsgdGV4dC1hbGlnbjogdW5zZXQ7IG1hcmdpbi10b3A6IDEwcHg7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmhlYWRpbmcgLnRleHQtcmlnaHQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuYXJ0aWNsZSAuaGVhZGluZyB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuaHIgeyBib3JkZXI6IG5vbmU7IGhlaWdodDogMnB4OyBiYWNrZ3JvdW5kOiAjRTRFNEU0OyBtYXJnaW4tdG9wOiAzMHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5vdmVybGFwX19tYXJnaW4geyBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5vdmVybGFwX19tYXJnaW4geyBtYXJnaW4tdG9wOiAtNzJweDsgfSB9XG5cbi5vdmVybGFwX19tYXJnaW4gLnRleHRfX3dyYXBwZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG5cbi5vdmVybGFwX19tYXJnaW4gLnRleHRfX3dyYXBwZXIgaDUsIC5vdmVybGFwX19tYXJnaW4gLnRleHRfX3dyYXBwZXIgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLm92ZXJsYXBfX21hcmdpbiAudGV4dF9fd3JhcHBlciBwIHsgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZmlsdGVyX29wdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLmZpbHRlcl9vcHRpb25zIHNlbGVjdCwgLmZpbHRlcl9vcHRpb25zIGlucHV0IHsgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmZpbHRlcl9vcHRpb25zIHNlbGVjdCwgLmZpbHRlcl9vcHRpb25zIGlucHV0IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBmbGV4LWdyb3c6IDE7IH0gfVxuXG4uZmlsdGVyX29wdGlvbnMgc2VsZWN0LCAuZmlsdGVyX29wdGlvbnMgaW5wdXQgeyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiAxMDAlOyBoZWlnaHQ6IDQ1cHg7IG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZmlsdGVyX29wdGlvbnMgc2VsZWN0LCAuZmlsdGVyX29wdGlvbnMgaW5wdXQgeyB3aWR0aDogYXV0bzsgbWF4LXdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5maWx0ZXJfb3B0aW9ucyBpbnB1dFt0eXBlPXN1Ym1pdF0geyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiAyNjBweDsgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmdyZXlfb3V0ZXJfd3JhcCB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQgIWltcG9ydGFudDsgfVxuXG4udXBkYXRlZCBzcGFuIHsgZm9udC1zaXplOiAwLjg3NXJlbSAhaW1wb3J0YW50OyB9XG5cbi51cGRhdGVkIC5kYXRlIHsgY29sb3I6ICNCMUIxQjE7IH1cblxuLnRhZ3MgeyBmb250LXNpemU6IDAuODc1cmVtOyBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgVzAxXzU1IFJvbWFuMTQ3NTUyMFwiOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogIzA0MzI2MzsgfVxuXG4vKiogQnJlYWRjcnVtYiAqL1xuLmJyZWFkY3J1bWItd3JhcCB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IH1cblxuLmJyZWFkY3J1bWIgLmJyZWFkY3J1bWItLW5hdmlnYXRpb24geyBvdmVyZmxvdzogaGlkZGVuOyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDE1cHggMCAxNXB4OyBjb2xvcjogIzA0MzI2MzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuYnJlYWRjcnVtYiAuYnJlYWRjcnVtYi0tbmF2aWdhdGlvbiB7IG1hcmdpbi1sZWZ0OiAwcHg7IH0gfVxuXG4uYnJlYWRjcnVtYiAuYnJlYWRjcnVtYi0tbmF2aWdhdGlvbiBsaSBhIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmJyZWFkY3J1bWIgLmJyZWFkY3J1bWItLW5hdmlnYXRpb24gbGkgYS5hY3RpdmUsIC5icmVhZGNydW1iIC5icmVhZGNydW1iLS1uYXZpZ2F0aW9uIGxpIGE6aG92ZXIsIC5icmVhZGNydW1iIC5icmVhZGNydW1iLS1uYXZpZ2F0aW9uIGxpIGEuYWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbkBtZWRpYSBvbmx5IHByaW50IHsgLmJyZWFkY3J1bWIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBwcmludCB7ICNicmVhZGNydW1icyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5ob21lIHAjYnJlYWRjcnVtYnMgeyBkaXNwbGF5OiBub25lOyB9XG5cbiNzZWFyY2hfX3dyYXBwZXIgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogLTEwMCU7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBvcGFjaXR5OiAwOyB6LWluZGV4OiA5OTggIWltcG9ydGFudDsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuXG4jc2VhcmNoX193cmFwcGVyLnNob3cgeyBvcGFjaXR5OiAxOyB0b3A6IDA7IH1cblxuI3NlYXJjaF9fd3JhcHBlci5zaG93ICNzZWFyY2gtY2xvc2UgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4jc2VhcmNoX193cmFwcGVyIC5pY29uIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tdG9wOiA5cHg7IHdpZHRoOiAzMXB4OyBoZWlnaHQ6IDMxcHg7IH1cblxuI3NlYXJjaF9fd3JhcHBlciAuaWNvbiBzcGFuIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OTlweDsgfVxuXG4jc2VhcmNoX193cmFwcGVyIC5pY29uLmljb24tc21hbGwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0OyBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IGRpc3BsYXk6IG5vbmU7IH1cblxuI3NlYXJjaF9fd3JhcHBlciAjc2VhcmNoLWNsb3NlIHsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Nsb3NlLXBvcHVwLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvY29udGFpbjsgaGVpZ2h0OiAxN3B4OyB3aWR0aDogMTdweDsgdGV4dC1pbmRlbnQ6IC05OTk5cHg7IHBvc2l0aW9uOiBmaXhlZDsgcmlnaHQ6IDIwcHg7IHRvcDogMTlweDsgZGlzcGxheTogbm9uZTsgfVxuXG5Ac3VwcG9ydHMgKG1hc2staW1hZ2U6IHVybChcIlwiKSkgeyAjc2VhcmNoX193cmFwcGVyICNzZWFyY2gtY2xvc2UgeyBiYWNrZ3JvdW5kOiAjMDQzMjYzOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvY2xvc2UtcG9wdXAuc3ZnKTsgbWFzay1zaXplOiBjb250YWluOyBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyBtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI3NlYXJjaF9fd3JhcHBlciAjc2VhcmNoLWNsb3NlIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDM0cHg7IHJpZ2h0OiA5cHg7IH0gfVxuXG4jc2VhcmNoX193cmFwcGVyIGZvcm0geyBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbiNzZWFyY2hfX3dyYXBwZXIgLnNlYXJjaC1mb3JtIHsgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4jc2VhcmNoX193cmFwcGVyIC5jYXJkIHVsIHsgbWFyZ2luLWxlZnQ6IHVuc2V0OyB9XG5cbiNzZWFyY2hfX3dyYXBwZXIgLmNhcmQgdWwgbGk6YmVmb3JlIHsgY29udGVudDogdW5zZXQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI3NlYXJjaF9fd3JhcHBlciB7IG1pbi1oZWlnaHQ6IDE4NHB4OyB9IH1cblxuLnNlYXJjaF9fd3JhcHBlciBpbnB1dFt0eXBlPXN1Ym1pdF0sIC5zZWFyY2hfX3dyYXBwZXIgLnNlYXJjaC1pY29uIHsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL3NlYXJjaC1pY29uLnN2Zykgbm8tcmVwZWF0IGNlbnRlciByaWdodCAyMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyByaWdodDogMHB4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IGhlaWdodDogNTBweDsgd2lkdGg6IDEwMCU7IHRleHQtaW5kZW50OiAtOTk5OTlweDsgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlcjogbm9uZTsgb3V0bGluZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuc2VhcmNoX193cmFwcGVyIGlucHV0W3R5cGU9c3VibWl0XSwgLnNlYXJjaF9fd3JhcHBlciAuc2VhcmNoLWljb24geyB6LWluZGV4OiA5OTU7IH0gfVxuXG4vKiogQVJUSUNMRSAgKi9cbmFydGljbGUgeyBwYWRkaW5nLXRvcDogNDBweDsgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cblxuYXJ0aWNsZSAub3RoZXItdHJhbnNsYXRpb25zIHsgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IHBhZGRpbmc6IDQwcHggNTVweCAhaW1wb3J0YW50OyBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuYXJ0aWNsZSAub3RoZXItdHJhbnNsYXRpb25zIHNlbGVjdCB7IG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbmFydGljbGUgLmZhY3RzaGVldC1jb250ZW50IHsgbWFyZ2luLXRvcDogNTVweDsgfVxuXG5hcnRpY2xlICsgLnNpZ251cF9mb3JtIHsgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLyoqIFR5cG9ncmFwaHkgcGFnZSAqL1xuLmFydGljbGVfX3BhZ2UgLmFydGljbGVfX3RpdGxlLCAuYXJ0aWNsZV9fcGFnZSAuYnV0dG9uX190aXRsZSwgLmJ1dHRvbl9fcGFnZSAuYXJ0aWNsZV9fdGl0bGUsIC5idXR0b25fX3BhZ2UgLmJ1dHRvbl9fdGl0bGUgeyBtYXJnaW46IDYwcHggMDsgfVxuXG4uYXJ0aWNsZV9fcGFnZSAuYXJ0aWNsZV9fdGl0bGUgLmFydGljbGVfX3RpdGxlX2JvcmRlciwgLmFydGljbGVfX3BhZ2UgLmFydGljbGVfX3RpdGxlIC5idXR0b25fdGl0bGVfYm9yZGVyLCAuYXJ0aWNsZV9fcGFnZSAuYnV0dG9uX190aXRsZSAuYXJ0aWNsZV9fdGl0bGVfYm9yZGVyLCAuYXJ0aWNsZV9fcGFnZSAuYnV0dG9uX190aXRsZSAuYnV0dG9uX3RpdGxlX2JvcmRlciwgLmJ1dHRvbl9fcGFnZSAuYXJ0aWNsZV9fdGl0bGUgLmFydGljbGVfX3RpdGxlX2JvcmRlciwgLmJ1dHRvbl9fcGFnZSAuYXJ0aWNsZV9fdGl0bGUgLmJ1dHRvbl90aXRsZV9ib3JkZXIsIC5idXR0b25fX3BhZ2UgLmJ1dHRvbl9fdGl0bGUgLmFydGljbGVfX3RpdGxlX2JvcmRlciwgLmJ1dHRvbl9fcGFnZSAuYnV0dG9uX190aXRsZSAuYnV0dG9uX3RpdGxlX2JvcmRlciB7IGNvbG9yOiAjODk4OTg5OyBwYWRkaW5nLWJvdHRvbTogMjBweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4OTg5ODk7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLmFydGljbGVfX3BhZ2UgLmFydGljbGVfX2lubGluZSwgLmJ1dHRvbl9fcGFnZSAuYXJ0aWNsZV9faW5saW5lIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IG1hcmdpbjogMDsgfVxuXG4uYXJ0aWNsZV9fcGFnZSAuYXJ0aWNsZV9fY29sb3Jfc3BoZXJlLCAuYnV0dG9uX19wYWdlIC5hcnRpY2xlX19jb2xvcl9zcGhlcmUgeyBib3JkZXItcmFkaXVzOiA1MCU7IHdpZHRoOiA0MCU7IGhlaWdodDogMDsgcGFkZGluZy1ib3R0b206IDQwJTsgbWFyZ2luOiBhdXRvOyB9XG5cbi5hcnRpY2xlX19wYWdlIC5hcnRpY2xlX19jb2xvcl9zcGhlcmUucHJpbWFyeV9vbmUsIC5idXR0b25fX3BhZ2UgLmFydGljbGVfX2NvbG9yX3NwaGVyZS5wcmltYXJ5X29uZSB7IGJhY2tncm91bmQtY29sb3I6ICMwNDMyNjM7IH1cblxuLmFydGljbGVfX3BhZ2UgLmFydGljbGVfX2NvbG9yX3NwaGVyZS5wcmltYXJ5X3R3bywgLmJ1dHRvbl9fcGFnZSAuYXJ0aWNsZV9fY29sb3Jfc3BoZXJlLnByaW1hcnlfdHdvIHsgYmFja2dyb3VuZC1jb2xvcjogIzBGNTg5QTsgfVxuXG4uYXJ0aWNsZV9fcGFnZSAuYXJ0aWNsZV9fY29sb3Jfc3BoZXJlLnByaW1hcnlfdGhyZWUsIC5idXR0b25fX3BhZ2UgLmFydGljbGVfX2NvbG9yX3NwaGVyZS5wcmltYXJ5X3RocmVlIHsgYmFja2dyb3VuZC1jb2xvcjogIzBGNTg5QTsgfVxuXG4uYXJ0aWNsZV9fcGFnZSAuYXJ0aWNsZV9fY29sb3Jfc3BoZXJlLnNlY29uZGFyeV9vbmUsIC5idXR0b25fX3BhZ2UgLmFydGljbGVfX2NvbG9yX3NwaGVyZS5zZWNvbmRhcnlfb25lIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZEQzQwMDsgfVxuXG4uYXJ0aWNsZV9fcGFnZSAuYXJ0aWNsZV9fY29sb3JfaGV4X3ByaW1hcnksIC5hcnRpY2xlX19wYWdlIC5hcnRpY2xlX19jb2xvcl9oZXhfc2Vjb25kYXJ5LCAuYnV0dG9uX19wYWdlIC5hcnRpY2xlX19jb2xvcl9oZXhfcHJpbWFyeSwgLmJ1dHRvbl9fcGFnZSAuYXJ0aWNsZV9fY29sb3JfaGV4X3NlY29uZGFyeSB7IHdpZHRoOiA0MCU7IG1hcmdpbjogMzBweCBhdXRvOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmFydGljbGVfX3BhZ2UgLmFydGljbGVfX3RleHQgLmFydGljbGVfX3RleHRfbGFiZWwsIC5idXR0b25fX3BhZ2UgLmFydGljbGVfX3RleHQgLmFydGljbGVfX3RleHRfbGFiZWwgeyBjb2xvcjogIzg5ODk4OTsgbWFyZ2luLXRvcDogNDBweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uYXJ0aWNsZV9fcGFnZSAuYXJ0aWNsZV9fdGV4dCAuYXJ0aWNsZV9fdGV4dF9jb2xvciwgLmJ1dHRvbl9fcGFnZSAuYXJ0aWNsZV9fdGV4dCAuYXJ0aWNsZV9fdGV4dF9jb2xvciB7IHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgbWFyZ2luLXJpZ2h0OiAyMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjRkRDNDAwOyB9XG5cbi5hcnRpY2xlX19wYWdlIC5hcnRpY2xlX190ZXh0IC5hcnRpY2xlX190ZXh0X2NvbG9yLnRleHRfYmxhY2ssIC5idXR0b25fX3BhZ2UgLmFydGljbGVfX3RleHQgLmFydGljbGVfX3RleHRfY29sb3IudGV4dF9ibGFjayB7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuLmFydGljbGVfX3BhZ2UgLmFydGljbGVfX3RleHQgLmFydGljbGVfX3RleHRfY29sb3IudGV4dF93aGl0ZSwgLmJ1dHRvbl9fcGFnZSAuYXJ0aWNsZV9fdGV4dCAuYXJ0aWNsZV9fdGV4dF9jb2xvci50ZXh0X3doaXRlIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgfVxuXG4uYXJ0aWNsZV9fcGFnZSAuYXJ0aWNsZV9fdGV4dCAuYXJ0aWNsZV9fdGV4dF9jb2xvci50ZXh0X2NvYmFsdCwgLmJ1dHRvbl9fcGFnZSAuYXJ0aWNsZV9fdGV4dCAuYXJ0aWNsZV9fdGV4dF9jb2xvci50ZXh0X2NvYmFsdCB7IGJhY2tncm91bmQtY29sb3I6ICMwRjU4OUE7IH1cblxuLmFydGljbGVfX3BhZ2UgLmFydGljbGVfX3RleHQgLmFydGljbGVfX3RleHRfY29sb3IudGV4dF9ncmV5LCAuYnV0dG9uX19wYWdlIC5hcnRpY2xlX190ZXh0IC5hcnRpY2xlX190ZXh0X2NvbG9yLnRleHRfZ3JleSB7IGJhY2tncm91bmQtY29sb3I6ICNGREM0MDA7IH1cblxuLmFydGljbGVfX3BhZ2UgLmFydGljbGVfX3RleHQgLmFydGljbGVfX3RleHRfY29sb3IudGV4dF9ncmV5X2xpZ2h0LCAuYnV0dG9uX19wYWdlIC5hcnRpY2xlX190ZXh0IC5hcnRpY2xlX190ZXh0X2NvbG9yLnRleHRfZ3JleV9saWdodCB7IGJhY2tncm91bmQtY29sb3I6ICM3NjcxNzU7IH1cblxuLmFydGljbGVfX3BhZ2UgLmFydGljbGVfX3RleHQgLmFydGljbGVfX3RleHRfY29sb3IudGV4dF9ibHVlLCAuYnV0dG9uX19wYWdlIC5hcnRpY2xlX190ZXh0IC5hcnRpY2xlX190ZXh0X2NvbG9yLnRleHRfYmx1ZSB7IGJhY2tncm91bmQtY29sb3I6ICNGREM0MDA7IH1cblxuLmZyZWVfdGV4dCAuY2VsbCB7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmZyZWVfdGV4dCBoMiB7IGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBXMDFfODUgSGVhdnkxNDc1NTQ0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxLjI1cmVtOyBsaW5lLWhlaWdodDogMS42MjVyZW07IG1hcmdpbi1ib3R0b206IDE5cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmZyZWVfdGV4dCBoMiB7IGZvbnQtc2l6ZTogMS43NXJlbTsgbGluZS1oZWlnaHQ6IDJyZW07IG1hcmdpbi1ib3R0b206IDIycHg7IH0gfVxuXG4uYXJ0aWNsZV9fZmVhdHVyZSBoMTpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYXJ0aWNsZV9fZmVhdHVyZSBoMjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYXJ0aWNsZV9fZmVhdHVyZSBoMzpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYXJ0aWNsZV9fZmVhdHVyZSBoNDpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYXJ0aWNsZV9fZmVhdHVyZSBoNTpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYXJ0aWNsZV9fZmVhdHVyZSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwOm5vdCg6Zmlyc3Qtb2YtdHlwZSksIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5hcnRpY2xlX19mZWF0dXJlIHA6bm90KDpmaXJzdC1vZi10eXBlKSwgLmFydGljbGVfX2ZlYXR1cmUgaDY6bm90KDpmaXJzdC1vZi10eXBlKSwgLmFydGljbGVfX2ZlYXR1cmUgLnVwZGF0ZWQgLmRhdGU6bm90KDpmaXJzdC1vZi10eXBlKSwgLnVwZGF0ZWQgLmFydGljbGVfX2ZlYXR1cmUgLmRhdGU6bm90KDpmaXJzdC1vZi10eXBlKSwgLmFydGljbGVfX2ZlYXR1cmUgLmgxOm5vdCg6Zmlyc3Qtb2YtdHlwZSksIC5hcnRpY2xlX19mZWF0dXJlIC5oMjpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYXJ0aWNsZV9fZmVhdHVyZSAuaDM6bm90KDpmaXJzdC1vZi10eXBlKSwgLmFydGljbGVfX2ZlYXR1cmUgLmg0Om5vdCg6Zmlyc3Qtb2YtdHlwZSksIC5hcnRpY2xlX19mZWF0dXJlIC5oNTpub3QoOmZpcnN0LW9mLXR5cGUpLCAuYXJ0aWNsZV9fZmVhdHVyZSAuaDY6bm90KDpmaXJzdC1vZi10eXBlKSB7IG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLmFydGljbGVfX2ZlYXR1cmUgdWwgeyBtYXJnaW4tbGVmdDogNDBweDsgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbi5hcnRpY2xlX19mZWF0dXJlIG9sIHsgbWFyZ2luLWxlZnQ6IDEuNXJlbTsgbGlzdC1zdHlsZTogbm9uZTsgY291bnRlci1yZXNldDogbGk7IH1cblxuLmFydGljbGVfX2ZlYXR1cmUgb2wgbGkgeyBtYXJnaW4tbGVmdDogMS41cmVtOyBtYXJnaW4tYm90dG9tOiA1cHg7IGNvdW50ZXItaW5jcmVtZW50OiBsaTsgfVxuXG4uYXJ0aWNsZV9fZmVhdHVyZSBvbCBsaTo6YmVmb3JlIHsgY29udGVudDogY291bnRlcihsaSk7IGJhY2tncm91bmQtY29sb3I6ICMwRjU4OUE7IGNvbG9yOiAjRkZGOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiAxLjJyZW07IGhlaWdodDogMS4ycmVtOyBtYXJnaW4tbGVmdDogLTRlbTsgbWFyZ2luLXJpZ2h0OiAyLjRlbTsgdGV4dC1hbGlnbjogY2VudGVyOyBkaXJlY3Rpb246IHJ0bDsgYm9yZGVyLXJhZGl1czogNTAlOyBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLm5ld3NfaW50cm9fY29udGVudCB7IG1hcmdpbi10b3A6IDgwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm5ld3NfaW50cm9fY29udGVudCwgLm5ld3NfY29udGVudCB7IHBhZGRpbmctbGVmdDogMjBweDsgcGFkZGluZy1yaWdodDogMjBweDsgfSB9XG5cbi5jb250ZW50c190YWJsZSB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGJvcmRlci1yYWRpdXM6IDhweDsgfVxuXG4uY29udGVudHNfdGFibGUgLmFjY29yZGlvbiB7IGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmNvbnRlbnRzX3RhYmxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUgeyBtYXJnaW46IDMwcHggMjRweCAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50OyBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7IHRyYW5zaXRpb246IGJvcmRlciAwLjI1czsgfVxuXG4uY29udGVudHNfdGFibGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpiZWZvcmUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5jb250ZW50c190YWJsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYTNhM2EzOyB9XG5cbi5jb250ZW50c190YWJsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZTpiZWZvcmUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSgtMTgwZGVnKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY29udGVudHNfdGFibGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHsgcGFkZGluZzogMjBweCA1OHB4OyB9IH1cblxuLmNvbnRlbnRzX3RhYmxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uY29udGVudHNfdGFibGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IGEgLmFycm93LWJ0biB7IHRvcDogMnB4OyBoZWlnaHQ6IDE1cHg7IG1pbi13aWR0aDogMTVweDsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2J0bmFycm93LnN2Zyk7IGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmNvbnRlbnRzX3RhYmxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBhIC5hcnJvdy1idG4geyBiYWNrZ3JvdW5kOiAjMDQzMjYzOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYnRuYXJyb3cuc3ZnKTsgbWFzay1zaXplOiAxNXB4IDE1cHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG4uY29udGVudHNfdGFibGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IGE6aG92ZXIsIC5jb250ZW50c190YWJsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgYS5hY3RpdmUgeyBjb2xvcjogIzA0MzI2MzsgfVxuXG4uY29udGVudHNfdGFibGUgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IGE6aG92ZXIgLmFycm93LWJ0biwgLmNvbnRlbnRzX3RhYmxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBhLmFjdGl2ZSAuYXJyb3ctYnRuIHsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2J0bmFycm93LWhvdmVyLnN2Zyk7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmNvbnRlbnRzX3RhYmxlIC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBhOmhvdmVyIC5hcnJvdy1idG4sIC5jb250ZW50c190YWJsZSAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgYS5hY3RpdmUgLmFycm93LWJ0biB7IGJhY2tncm91bmQ6ICNGREM0MDA7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9idG5hcnJvdy1ob3Zlci5zdmcpOyBtYXNrLXNpemU6IDE1cHggMTVweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG5cbi8qKiBBV0FSRCAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmF3YXJkX19oZXJvIHsgcGFkZGluZy1sZWZ0OiAyMHB4OyBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuLmF3YXJkX19oZXJvIC5yZWdfb3BlbnMsIC5hd2FyZF9faGVybyAucmVnX2Nsb3NlcyB7IHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cblxuLmF3YXJkX19oZXJvIC5yZWdfb3BlbnMgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5hd2FyZF9faGVybyAucmVnX29wZW5zIHsgbWFyZ2luLWJvdHRvbTogdW5zZXQ7IH0gfVxuXG4uYXdhcmRfX2hlcm8gLmJ1dHRvbiwgLmF3YXJkX19oZXJvIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5hd2FyZF9faGVybyBhIHsgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4vKiogQ0FSRCAqL1xuLmNhcmQgeyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXItcmFkaXVzOiA1cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2FyZCB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmNhcmQgdWwgbGkgeyBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLmNhcmQgdWwgbGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNUNGXCI7IGNvbG9yOiAjNjQ5QURCOyBmb250LXdlaWdodDogYm9sZDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aWR0aDogMWVtOyBtYXJnaW4tbGVmdDogLTFlbTsgfVxuXG4uY2FyZCAuaW1nX2xpbmsgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmQgLmNhcmQtbGluayB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGluaXRpYWw7IH1cblxuLmNhcmQgLmNhcmQtbGluayA+IGRpdjpub3QoW2NsYXNzXSkgeyBoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmNhcmQgLmNhcmQtbGluayA+IGRpdjpub3QoW2NsYXNzXSkgLnRleHRfX3dyYXBwZXIgeyBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uY2FyZCAuY2FyZC1saW5rLm92ZXJyaWRlOmhvdmVyLCAuY2FyZCBhLmNhcmQtbGluay5vdmVycmlkZS5hY3RpdmUsIC5jYXJkIGJ1dHRvbi5jYXJkLWxpbmsub3ZlcnJpZGUuYWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNhcmQgLmNhcmQtbGluayBoNTpob3ZlciwgLmNhcmQgLmNhcmQtbGluayBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwOmhvdmVyLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZCAuY2FyZC1saW5rIHA6aG92ZXIsIC5jYXJkIC5jYXJkLWxpbmsgLmg1OmhvdmVyLCAuY2FyZCAuY2FyZC1saW5rIGEuaDUuYWN0aXZlLCAuY2FyZCAuY2FyZC1saW5rIGJ1dHRvbi5oNS5hY3RpdmUgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50OyB9XG5cbi5jYXJkIC5jYXJkLWxpbmsgLnRleHRfX3dyYXBwZXIgeyBjb2xvcjogIzA0MzI2MzsgdHJhbnNpdGlvbjogYWxsIDAuMjVzOyBwYWRkaW5nOiAyMHB4OyB9XG5cbi5jYXJkIC5jYXJkLWxpbmsgLnRleHRfX3dyYXBwZXIgLnN1YmhlYWRpbmcgeyB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7IH1cblxuLmNhcmQgLmNhcmQtbGluayAudGV4dF9fd3JhcHBlciBoNSwgLmNhcmQgLmNhcmQtbGluayAudGV4dF9fd3JhcHBlciBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZCAuY2FyZC1saW5rIC50ZXh0X193cmFwcGVyIHAsIC5jYXJkIC5jYXJkLWxpbmsgLnRleHRfX3dyYXBwZXIgLmg1IHsgdHJhbnNpdGlvbjogYWxsIDAuMjVzOyB9XG5cbi5jYXJkIC5jYXJkLWxpbms6aG92ZXIgLnRleHRfX3dyYXBwZXIsIC5jYXJkIGEuY2FyZC1saW5rLmFjdGl2ZSAudGV4dF9fd3JhcHBlciwgLmNhcmQgYnV0dG9uLmNhcmQtbGluay5hY3RpdmUgLnRleHRfX3dyYXBwZXIgeyBiYWNrZ3JvdW5kOiAjMDQzMjYzOyBjb2xvcjogI0ZGRjsgYm9yZGVyLWNvbG9yOiAjMDQzMjYzOyB9XG5cbi5jYXJkIC5jYXJkLWxpbms6aG92ZXIgLnRleHRfX3dyYXBwZXIgbGksIC5jYXJkIGEuY2FyZC1saW5rLmFjdGl2ZSAudGV4dF9fd3JhcHBlciBsaSwgLmNhcmQgYnV0dG9uLmNhcmQtbGluay5hY3RpdmUgLnRleHRfX3dyYXBwZXIgbGkgeyBjb2xvcjogI0ZGRjsgfVxuXG4uY2FyZCAuY2FyZC1saW5rOmhvdmVyIC50ZXh0X193cmFwcGVyIC5zdWJoZWFkaW5nLCAuY2FyZCBhLmNhcmQtbGluay5hY3RpdmUgLnRleHRfX3dyYXBwZXIgLnN1YmhlYWRpbmcsIC5jYXJkIGJ1dHRvbi5jYXJkLWxpbmsuYWN0aXZlIC50ZXh0X193cmFwcGVyIC5zdWJoZWFkaW5nIHsgY29sb3I6ICNGRkY7IH1cblxuLmNhcmQgLmNhcmQtbGluazpob3ZlciAudGV4dF9fd3JhcHBlciBoNSwgLmNhcmQgYS5jYXJkLWxpbmsuYWN0aXZlIC50ZXh0X193cmFwcGVyIGg1LCAuY2FyZCBidXR0b24uY2FyZC1saW5rLmFjdGl2ZSAudGV4dF9fd3JhcHBlciBoNSwgLmNhcmQgLmNhcmQtbGluazpob3ZlciAudGV4dF9fd3JhcHBlciBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZCAuY2FyZC1saW5rOmhvdmVyIC50ZXh0X193cmFwcGVyIHAsIC5jYXJkIGEuY2FyZC1saW5rLmFjdGl2ZSAudGV4dF9fd3JhcHBlciBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZCBhLmNhcmQtbGluay5hY3RpdmUgLnRleHRfX3dyYXBwZXIgcCwgLmNhcmQgYnV0dG9uLmNhcmQtbGluay5hY3RpdmUgLnRleHRfX3dyYXBwZXIgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQgYnV0dG9uLmNhcmQtbGluay5hY3RpdmUgLnRleHRfX3dyYXBwZXIgcCwgLmNhcmQgLmNhcmQtbGluazpob3ZlciAudGV4dF9fd3JhcHBlciAuaDUsIC5jYXJkIGEuY2FyZC1saW5rLmFjdGl2ZSAudGV4dF9fd3JhcHBlciAuaDUsIC5jYXJkIGJ1dHRvbi5jYXJkLWxpbmsuYWN0aXZlIC50ZXh0X193cmFwcGVyIC5oNSB7IGNvbG9yOiAjRkRDNDAwOyB9XG5cbi5jYXJkIC5jYXJkLWxpbms6aG92ZXIgLnRleHRfX3dyYXBwZXIgaDU6YWZ0ZXIsIC5jYXJkIGEuY2FyZC1saW5rLmFjdGl2ZSAudGV4dF9fd3JhcHBlciBoNTphZnRlciwgLmNhcmQgYnV0dG9uLmNhcmQtbGluay5hY3RpdmUgLnRleHRfX3dyYXBwZXIgaDU6YWZ0ZXIsIC5jYXJkIC5jYXJkLWxpbms6aG92ZXIgLnRleHRfX3dyYXBwZXIgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcDphZnRlciwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQgLmNhcmQtbGluazpob3ZlciAudGV4dF9fd3JhcHBlciBwOmFmdGVyLCAuY2FyZCBhLmNhcmQtbGluay5hY3RpdmUgLnRleHRfX3dyYXBwZXIgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcDphZnRlciwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQgYS5jYXJkLWxpbmsuYWN0aXZlIC50ZXh0X193cmFwcGVyIHA6YWZ0ZXIsIC5jYXJkIGJ1dHRvbi5jYXJkLWxpbmsuYWN0aXZlIC50ZXh0X193cmFwcGVyIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHA6YWZ0ZXIsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkIGJ1dHRvbi5jYXJkLWxpbmsuYWN0aXZlIC50ZXh0X193cmFwcGVyIHA6YWZ0ZXIsIC5jYXJkIC5jYXJkLWxpbms6aG92ZXIgLnRleHRfX3dyYXBwZXIgLmg1OmFmdGVyLCAuY2FyZCBhLmNhcmQtbGluay5hY3RpdmUgLnRleHRfX3dyYXBwZXIgLmg1OmFmdGVyLCAuY2FyZCBidXR0b24uY2FyZC1saW5rLmFjdGl2ZSAudGV4dF9fd3JhcHBlciAuaDU6YWZ0ZXIgeyAvKiAvLyBSZW1vdmVkIGR1ZSB0byBsb25nIHRpdGxlIGNvbmZsaWN0cyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmcpOyBAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IGJhY2tncm91bmQ6ICRzZWNvbmRhcnktb25lOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmcpOyBtYXNrLXNpemU6IDlweCAxM3B4OyBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyB9ICovIH1cblxuLmNhcmQgLm92ZXJsYXktbGluayB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB0ZXh0LWluZGVudDogLTk5OTk5cHg7IHotaW5kZXg6IDA7IH1cblxuLmNhcmQuaGFzLWltYWdlIHsgbWluLWhlaWdodDogMjU1cHg7IH1cblxuLmNhcmQuaGFzLWltYWdlOmhvdmVyIC5vdmVybGF5LWltYWdlLCBhLmNhcmQuaGFzLWltYWdlLmFjdGl2ZSAub3ZlcmxheS1pbWFnZSwgYnV0dG9uLmNhcmQuaGFzLWltYWdlLmFjdGl2ZSAub3ZlcmxheS1pbWFnZSB7IG9wYWNpdHk6IDA7IH1cblxuLmNhcmQuaGFzLWxpbmsgeyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzOyB9XG5cbi5jYXJkLmhhcy1saW5rOmhvdmVyLCBhLmNhcmQuaGFzLWxpbmsuYWN0aXZlLCBidXR0b24uY2FyZC5oYXMtbGluay5hY3RpdmUsIC5jYXJkLmhhcy1saW5rLmhhcy1pbWFnZSB7IGJhY2tncm91bmQtY29sb3I6ICMwNDMyNjM7IH1cblxuLmNhcmQuaGFzLWxpbms6aG92ZXIgYSwgYS5jYXJkLmhhcy1saW5rLmFjdGl2ZSBhLCBidXR0b24uY2FyZC5oYXMtbGluay5hY3RpdmUgYSwgLmNhcmQuaGFzLWxpbmsuaGFzLWltYWdlIGEgeyBjb2xvcjogI0ZEQzQwMDsgfVxuXG4uY2FyZC5oYXMtbGluazpob3ZlciBoNCwgYS5jYXJkLmhhcy1saW5rLmFjdGl2ZSBoNCwgYnV0dG9uLmNhcmQuaGFzLWxpbmsuYWN0aXZlIGg0LCAuY2FyZC5oYXMtbGluazpob3ZlciBoNSwgYS5jYXJkLmhhcy1saW5rLmFjdGl2ZSBoNSwgYnV0dG9uLmNhcmQuaGFzLWxpbmsuYWN0aXZlIGg1LCAuY2FyZC5oYXMtbGluazpob3ZlciBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZC5oYXMtbGluazpob3ZlciBwLCBhLmNhcmQuaGFzLWxpbmsuYWN0aXZlIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGEuY2FyZC5oYXMtbGluay5hY3RpdmUgcCwgYnV0dG9uLmNhcmQuaGFzLWxpbmsuYWN0aXZlIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGJ1dHRvbi5jYXJkLmhhcy1saW5rLmFjdGl2ZSBwLCBhLmNhcmQuaGFzLWxpbmsuYnV0dG9uLmFjdGl2ZSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBhLmNhcmQuaGFzLWxpbmsuYnV0dG9uLmFjdGl2ZSBwLCBsaS5mYXV4LWJ1dHRvbiBhLmNhcmQuaGFzLWxpbmsuYWN0aXZlIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGxpLmZhdXgtYnV0dG9uIGEuY2FyZC5oYXMtbGluay5hY3RpdmUgcCwgLmNhcmQuaGFzLWxpbms6aG92ZXIgcCwgYS5jYXJkLmhhcy1saW5rLmFjdGl2ZSBwLCBidXR0b24uY2FyZC5oYXMtbGluay5hY3RpdmUgcCwgLmNhcmQuaGFzLWxpbms6aG92ZXIgYVtocmVmXj1cIm1haWx0bzpcIl0sIGEuY2FyZC5oYXMtbGluay5hY3RpdmUgYVtocmVmXj1cIm1haWx0bzpcIl0sIGJ1dHRvbi5jYXJkLmhhcy1saW5rLmFjdGl2ZSBhW2hyZWZePVwibWFpbHRvOlwiXSwgLmNhcmQuaGFzLWxpbms6aG92ZXIgYVtocmVmXj1cInRlbDpcIl0sIGEuY2FyZC5oYXMtbGluay5hY3RpdmUgYVtocmVmXj1cInRlbDpcIl0sIGJ1dHRvbi5jYXJkLmhhcy1saW5rLmFjdGl2ZSBhW2hyZWZePVwidGVsOlwiXSwgLmNhcmQuaGFzLWxpbms6aG92ZXIgbGksIGEuY2FyZC5oYXMtbGluay5hY3RpdmUgbGksIGJ1dHRvbi5jYXJkLmhhcy1saW5rLmFjdGl2ZSBsaSwgLmNhcmQuaGFzLWxpbmsuaGFzLWltYWdlIGg0LCAuY2FyZC5oYXMtbGluay5oYXMtaW1hZ2UgaDUsIC5jYXJkLmhhcy1saW5rLmhhcy1pbWFnZSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZC5oYXMtbGluay5oYXMtaW1hZ2UgcCwgLmNhcmQuaGFzLWxpbmsuaGFzLWltYWdlIHAsIC5jYXJkLmhhcy1saW5rLmhhcy1pbWFnZSBhW2hyZWZePVwibWFpbHRvOlwiXSwgLmNhcmQuaGFzLWxpbmsuaGFzLWltYWdlIGFbaHJlZl49XCJ0ZWw6XCJdLCAuY2FyZC5oYXMtbGluay5oYXMtaW1hZ2UgbGkgeyBjb2xvcjogI0ZGRjsgfVxuXG4uY2FyZCAub3ZlcmxheS1pbWFnZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IGxlZnQ6IDUwJTsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IHRleHQtaW5kZW50OiAtOTk5OTlweDsgei1pbmRleDogMjsgb2JqZWN0LWZpdDogY292ZXI7IG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgcG9pbnRlci1ldmVudHM6IG5vbmU7IG9wYWNpdHk6IDE7IHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7IH1cblxuLmNhcmQudHJhbnNwYXJlbnQgeyBwYWRkaW5nLXRvcDogNzBweDsgcGFkZGluZy1sZWZ0OiAzMHB4OyBwYWRkaW5nLXJpZ2h0OiAzMHB4OyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLnRyYW5zcGFyZW50IC5jYXJkLWxpbmtzIHsgbWFyZ2luLWJvdHRvbTogNzBweDsgfVxuXG4uY2FyZC50cmFuc3BhcmVudCAuY2FyZC1saW5rcyBhLmxpbmstc2Vjb25kIHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jYXJkLnRyYW5zcGFyZW50IC50YWcsIC5jYXJkLnRyYW5zcGFyZW50IC5jYXJkLWxpbmtzIGEgeyBjb2xvcjogIzBGNTg5QTsgfVxuXG4uY2FyZC50cmFuc3BhcmVudCAudGFnIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmNhcmQudHJhbnNwYXJlbnQgLmNhcmQtbGlua3MgYSB7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmNhcmQuYm9yZGVyZWQgeyBib3JkZXItdG9wOiAxMnB4IHNvbGlkICMwNDMyNjM7IHRyYW5zaXRpb246IGFsbCAwLjI1czsgfVxuXG4uY2FyZC5ib3JkZXJlZDpob3ZlciwgYS5jYXJkLmJvcmRlcmVkLmFjdGl2ZSwgYnV0dG9uLmNhcmQuYm9yZGVyZWQuYWN0aXZlIHsgYm9yZGVyLXRvcC1jb2xvcjogI0ZEQzQwMDsgfVxuXG4uY2FyZC5jYXJkX19zaW1wbGUgeyBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uY2FyZC5jYXJkX19zaW1wbGUgLmJ1dHRvbl93cmFwIHsgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4uY2FyZC5jYXJkX19zaW1wbGUubWVkaXVtLTYgYSB7IG1pbi13aWR0aDogMTAwJTsgd2lkdGg6IDEwMCU7IG1hcmdpbjogMzBweCAwcHggMTBweCAwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmNhcmQuY2FyZF9fc2ltcGxlLmhlcm8tcGFkZGluZyBkaXYgeyBwYWRkaW5nLWxlZnQ6IDIwcHg7IHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuXG4uY2FyZC5jYXJkX19saW5rIHsgYm9yZGVyLXRvcDogc29saWQgNXB4ICNGREM0MDA7IHBhZGRpbmctdG9wOiAyMHB4OyB9XG5cbi5jYXJkLmNhcmRfX2xpc3QgaHIgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5jYXJkLmNhcmRfX2NhbGxvdXQgeyBwYWRkaW5nOiA1MHB4IDI1cHggIWltcG9ydGFudDsgfSB9XG5cbi5jYXJkLmNhcmRfX2NhbGxvdXQgLmJ1dHRvbiwgLmNhcmQuY2FyZF9fY2FsbG91dCBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuY2FyZC5jYXJkX19jYWxsb3V0IGEgeyBtYXJnaW4tdG9wOiB1bnNldDsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLmNhcmQuY2FyZF9fZXhwYW5kYWJsZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1czsgfVxuXG4uY2FyZC5jYXJkX19leHBhbmRhYmxlIC5jb250ZW50LXdyYXAgeyBwYWRkaW5nOiAxOHB4IDI0cHg7IH1cblxuLmNhcmQuY2FyZF9fZXhwYW5kYWJsZSAuYWNjb3JkaW9uLWNvbnRlbnQgeyBwYWRkaW5nLXRvcDogMDsgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmNhcmQuY2FyZF9fZXhwYW5kYWJsZSAuYWNjb3JkaW9uLWNvbnRlbnQgLmNvbnRlbnQgeyBib3JkZXItbGVmdDogNXB4IHNvbGlkICNGREM0MDA7IHBhZGRpbmctbGVmdDogMTZweDsgfVxuXG4uY2FyZC5jYXJkX19leHBhbmRhYmxlIC5hY2NvcmRpb24tY29udGVudCBoNjpub3QoOmZpcnN0LWNoaWxkKSwgLmNhcmQuY2FyZF9fZXhwYW5kYWJsZSAuYWNjb3JkaW9uLWNvbnRlbnQgLnVwZGF0ZWQgLmRhdGU6bm90KDpmaXJzdC1jaGlsZCksIC51cGRhdGVkIC5jYXJkLmNhcmRfX2V4cGFuZGFibGUgLmFjY29yZGlvbi1jb250ZW50IC5kYXRlOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uY2FyZC5jYXJkX19leHBhbmRhYmxlIC5hY2NvcmRpb24tY29udGVudCBwIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC5jYXJkX19leHBhbmRhYmxlIC5hY2NvcmRpb24tdGl0bGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgcmlnaHQ6IDA7IGhlaWdodDogMzAwcHg7IGxlZnQ6IDA7IHRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG5cbi5jYXJkLmNhcmRfX2V4cGFuZGFibGUgLmxpbmsgeyB6LWluZGV4OiAyOyBkaXNwbGF5OiBibG9jazsgY29sb3I6ICMwNDMyNjM7IG1hcmdpbi1ib3R0b206IDFyZW07IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyBjdXJzb3I6IHBvaW50ZXI7IG1hcmdpbi10b3A6IC0xOHB4OyBwYWRkaW5nOiAwcHggMThweCAyNHB4IDE4cHg7IH1cblxuLmNhcmQuY2FyZF9fZXhwYW5kYWJsZSAubGluazpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDBweDsgfVxuXG4uY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyLCBhLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUsIGJ1dHRvbi5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIHsgYmFja2dyb3VuZDogIzA0MzI2MzsgfVxuXG4uY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIGg1LCBhLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgaDUsIGJ1dHRvbi5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIGg1LCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6aG92ZXIgcCwgYS5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGEuY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBwLCBidXR0b24uY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBidXR0b24uY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBwLCBhLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5idXR0b24uYWN0aXZlIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGEuY2FyZC5jYXJkX19leHBhbmRhYmxlLmJ1dHRvbi5hY3RpdmUgcCwgbGkuZmF1eC1idXR0b24gYS5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGxpLmZhdXgtYnV0dG9uIGEuY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBwLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIC5oNSwgYS5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIC5oNSwgYnV0dG9uLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgLmg1LCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIC5oNiwgYS5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIC5oNiwgYnV0dG9uLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgLmg2LCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIGg2LCBhLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgaDYsIGJ1dHRvbi5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIGg2LCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIC51cGRhdGVkIC5kYXRlLCAudXBkYXRlZCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIC5kYXRlLCBhLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgLnVwZGF0ZWQgLmRhdGUsIC51cGRhdGVkIGEuY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSAuZGF0ZSwgYnV0dG9uLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgLnVwZGF0ZWQgLmRhdGUsIC51cGRhdGVkIGJ1dHRvbi5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIC5kYXRlLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIHAsIGEuY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBwLCBidXR0b24uY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBwLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIGEsIGEuY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBhLCBidXR0b24uY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBhLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIC5zdWJoZWFkaW5nLCBhLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgLnN1YmhlYWRpbmcsIGJ1dHRvbi5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIC5zdWJoZWFkaW5nLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIC5hY2NvcmRpb24tY29udGVudCAqLCBhLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgLmFjY29yZGlvbi1jb250ZW50ICosIGJ1dHRvbi5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIC5hY2NvcmRpb24tY29udGVudCAqLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmhvdmVyIC5saW5rLCBhLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgLmxpbmssIGJ1dHRvbi5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIC5saW5rLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIGg1LCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6Zm9jdXMgcCwgLmNhcmQuY2FyZF9fZXhwYW5kYWJsZTpmb2N1cyAuaDUsIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6Zm9jdXMgLmg2LCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIGg2LCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIC51cGRhdGVkIC5kYXRlLCAudXBkYXRlZCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIC5kYXRlLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIHAsIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6Zm9jdXMgYSwgLmNhcmQuY2FyZF9fZXhwYW5kYWJsZTpmb2N1cyAuc3ViaGVhZGluZywgLmNhcmQuY2FyZF9fZXhwYW5kYWJsZTpmb2N1cyAuYWNjb3JkaW9uLWNvbnRlbnQgKiwgLmNhcmQuY2FyZF9fZXhwYW5kYWJsZTpmb2N1cyAubGluayB7IGNvbG9yOiAjRkZGOyB9XG5cbi5jYXJkLmNhcmRfX2V4cGFuZGFibGU6aG92ZXIgaDU6YmVmb3JlLCBhLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgaDU6YmVmb3JlLCBidXR0b24uY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBoNTpiZWZvcmUsIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6aG92ZXIgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcDpiZWZvcmUsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6aG92ZXIgcDpiZWZvcmUsIGEuY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwOmJlZm9yZSwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgYS5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIHA6YmVmb3JlLCBidXR0b24uY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwOmJlZm9yZSwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgYnV0dG9uLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgcDpiZWZvcmUsIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6aG92ZXIgLmg1OmJlZm9yZSwgYS5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIC5oNTpiZWZvcmUsIGJ1dHRvbi5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIC5oNTpiZWZvcmUsIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6Zm9jdXMgaDU6YmVmb3JlLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHA6YmVmb3JlLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIHA6YmVmb3JlLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIC5oNTpiZWZvcmUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy13aGl0ZS5zdmcpOyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6aG92ZXIgaDU6YmVmb3JlLCBhLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgaDU6YmVmb3JlLCBidXR0b24uY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBoNTpiZWZvcmUsIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6aG92ZXIgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcDpiZWZvcmUsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6aG92ZXIgcDpiZWZvcmUsIGEuY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwOmJlZm9yZSwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgYS5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIHA6YmVmb3JlLCBidXR0b24uY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwOmJlZm9yZSwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgYnV0dG9uLmNhcmQuY2FyZF9fZXhwYW5kYWJsZS5hY3RpdmUgcDpiZWZvcmUsIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6aG92ZXIgLmg1OmJlZm9yZSwgYS5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIC5oNTpiZWZvcmUsIGJ1dHRvbi5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIC5oNTpiZWZvcmUsIC5jYXJkLmNhcmRfX2V4cGFuZGFibGU6Zm9jdXMgaDU6YmVmb3JlLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHA6YmVmb3JlLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIHA6YmVmb3JlLCAuY2FyZC5jYXJkX19leHBhbmRhYmxlOmZvY3VzIC5oNTpiZWZvcmUgeyBiYWNrZ3JvdW5kOiAjRkZGOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy13aGl0ZS5zdmcpOyB9IH1cblxuLmNhcmQuY2FyZF9fZXhwYW5kYWJsZTpob3ZlciBoMy5oNSwgYS5jYXJkLmNhcmRfX2V4cGFuZGFibGUuYWN0aXZlIGgzLmg1LCBidXR0b24uY2FyZC5jYXJkX19leHBhbmRhYmxlLmFjdGl2ZSBoMy5oNSwgLmNhcmQuY2FyZF9fZXhwYW5kYWJsZTpmb2N1cyBoMy5oNSB7IGNvbG9yOiAjRkRDNDAwOyB9XG5cbi5jYXJkLmNhcmRfX3N0YXQgLnRleHRfX3dyYXBwZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBhZGRpbmctbGVmdDogMzBweDsgcGFkZGluZy1yaWdodDogMzBweDsgfVxuXG4uY2FyZC5jYXJkX19zdGF0IC50ZXh0X193cmFwcGVyIC5zdGF0X193cmFwcGVyX19vdXRlciB7IG1hcmdpbjogMCBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5jYXJkLmNhcmRfX3N0YXQgLnRleHRfX3dyYXBwZXIgLnN0YXRfX3dyYXBwZXJfX291dGVyIHsgbWF4LXdpZHRoOiAyMDBweDsgfSB9XG5cbi5jYXJkLmNhcmRfX3N0YXQgLnRleHRfX3dyYXBwZXIgLnN0YXRfX3dyYXBwZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogMDsgcGFkZGluZzogNTAlIDA7IGJvcmRlci1yYWRpdXM6IDUwJTsgbWFyZ2luLWJvdHRvbTogMzBweDsgYmFja2dyb3VuZDogI0U0RTRFNDsgfVxuXG4uY2FyZC5jYXJkX19zdGF0IC50ZXh0X193cmFwcGVyIC5zdGF0X193cmFwcGVyIC5zdGF0IHsgY29sb3I6ICMwRjU4OUE7IGZvbnQtc2l6ZTogMy4zNzVyZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi5jYXJkLmNhcmRfX2JnX19pbWcgeyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBjb2xvcjogIzBGNTg5QTsgcGFkZGluZy10b3A6IDgwcHg7IHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG5cbi5jYXJkLmNhcmRfX2JnX19pbWcgc3Bhbi5zdWJoZWFkaW5nLCAuY2FyZC5jYXJkX19iZ19faW1nIHAgPiBhIHsgY29sb3I6ICMwRjU4OUE7IH1cblxuLmNhcmQuY2FyZF9fYmdfX2ltZyAuY3RhX3dyYXAgeyBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbi5jYXJkLmNhcmRfX2JnX19pbWcuZGFya19fdGV4dCB7IGNvbG9yOiAjRkRDNDAwICFpbXBvcnRhbnQ7IH1cblxuLmNhcmQuY2FyZF9fYmdfX2ltZy5kYXJrX190ZXh0IHNwYW4uc3ViaGVhZGluZywgLmNhcmQuY2FyZF9fYmdfX2ltZy5kYXJrX190ZXh0IGE6bm90KC5idXR0b24pIHsgY29sb3I6ICNGREM0MDAgIWltcG9ydGFudDsgfVxuXG4uY2FyZC5jYXJkX19iZ19faW1nLmdyZXlCZyB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IH1cblxuLmNhcmQuY2FyZHMtaGVhZGluZy1tYXJnaW4tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uY2FyZC5jYXJkX19oZWFkaW5nIGgyLmgzIHNwYW4sIC5jYXJkLmNhcmRfX2hlYWRpbmdfX2lubmVyIGgyLmgzIHNwYW4geyBwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbi10b3A6IC0yMDBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuY2FyZC5jYXJkX19oZWFkaW5nIC5zdGFuZGFyZC1saW5rLCAuY2FyZC5jYXJkX19oZWFkaW5nX19pbm5lciAuc3RhbmRhcmQtbGluayB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLWJvdHRvbTogMTZweDsgfSB9XG5cbi5jYXJkLmNhcmRfX2hlYWRpbmdfX2lubmVyLm1hcmdpbi1ib3R0b20sIC5jYXJkLmNhcmRfX2hlYWRpbmdfX2lubmVyIC5tYXJnaW4tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uY2FyZC5jYXJkX19oZWFkaW5nX19pbm5lciAuaGVhZGluZyB7IHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG5cbi5jYXJkLmNhcmRfX2hlYWRpbmdfX2lubmVyIC5oZWFkaW5nIGEgeyBmbG9hdDogbm9uZTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi10b3A6IDIwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNhcmQuY2FyZF9faGVhZGluZ19faW5uZXIgLmhlYWRpbmcgeyBwYWRkaW5nLWJvdHRvbTogMHB4OyB9XG4gIC5jYXJkLmNhcmRfX2hlYWRpbmdfX2lubmVyIC5oZWFkaW5nIGEgeyBmbG9hdDogcmlnaHQ7IH1cbiAgLmNhcmQuY2FyZF9faGVhZGluZ19faW5uZXIgLmhlYWRpbmcgYTpob3ZlciwgLmNhcmQuY2FyZF9faGVhZGluZ19faW5uZXIgLmhlYWRpbmcgYS5hY3RpdmUgeyBjb2xvcjogIzA0MzI2MyAhaW1wb3J0YW50OyB9IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldyB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldyAuaDUsIC5jYXJkLmNhcmRfX3ByZXZpZXcgaDUsIC5jYXJkLmNhcmRfX3ByZXZpZXcgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQuY2FyZF9fcHJldmlldyBwIHsgbWFyZ2luLXRvcDogMTBweDsgbWF4LXdpZHRoOiAxMDAlOyBmb250LXNpemU6IDE4cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmNhcmQuY2FyZF9fcHJldmlldyAuaDUsIC5jYXJkLmNhcmRfX3ByZXZpZXcgaDUsIC5jYXJkLmNhcmRfX3ByZXZpZXcgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQuY2FyZF9fcHJldmlldyBwIHsgbWF4LXdpZHRoOiA5MiU7IH0gfVxuXG4uY2FyZC5jYXJkX19wcmV2aWV3IC5oNTo6YWZ0ZXIsIC5jYXJkLmNhcmRfX3ByZXZpZXcgaDU6OmFmdGVyLCAuY2FyZC5jYXJkX19wcmV2aWV3IHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHA6OmFmdGVyLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZC5jYXJkX19wcmV2aWV3IHA6OmFmdGVyIHsgLyogLy8gUmVtb3ZlZCBkdWUgdG8gbG9uZyB0aXRsZSBjb25mbGljdHMgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAxMHB4OyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGxlZnQ6IDMwcHg7IH0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLWJsdWUuc3ZnKTsgYmFja2dyb3VuZC1zaXplOiA5cHggMTNweDsgd2lkdGg6IDlweDsgaGVpZ2h0OiAxM3B4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8vdHJhbnNpdGlvbjogbGVmdCAwLjVzIGVhc2U7IEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgYmFja2dyb3VuZDogJHByaW1hcnktb25lOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLWJsdWUuc3ZnKTsgbWFzay1zaXplOiA5cHggMTNweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSAqLyB9XG5cbi5jYXJkLmNhcmRfX3ByZXZpZXcgLmg1IGEsIC5jYXJkLmNhcmRfX3ByZXZpZXcgaDUgYSwgLmNhcmQuY2FyZF9fcHJldmlldyBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwIGEsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkLmNhcmRfX3ByZXZpZXcgcCBhIHsgY29sb3I6ICMwNDMyNjM7IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldyBwIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uY2FyZC5jYXJkX19wcmV2aWV3IC5pbWFnZV9fcHJldmlldyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAwOyBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7IGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldyAuaW1hZ2VfX3ByZXZpZXcgaW1nIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBsZWZ0OiA1MCU7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldyAuaW1hZ2VfX3ByZXZpZXcgLnRhZ19pbWcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDE7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiA1cHggN3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1ODlBOyBjb2xvcjogI0ZGRjsgbGV0dGVyLXNwYWNpbmc6IC4yNzVlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFcwMV81NSBSb21hbjE0NzU1MjBcIjsgZm9udC1zaXplOiAuNzVyZW07IHdpZHRoOiAxMDAlOyB9XG5cbi5jYXJkLmNhcmRfX3ByZXZpZXcgLmltYWdlX19wcmV2aWV3LmVycy12aXNpb24gaW1nOjpiZWZvcmUgeyAvKiBwb3NpdGlvbjogcmVsYXRpdmU7IGxlZnQ6IDEwcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Fycm93LW5leHRAMngucG5nKTsgYmFja2dyb3VuZC1zaXplOiA5cHggMTNweDsgd2lkdGg6IDlweDsgaGVpZ2h0OiAxM3B4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8vdHJhbnNpdGlvbjogbGVmdCAwLjVzIGVhc2U7ICovIH1cblxuLmNhcmQuY2FyZF9fcHJldmlldyAuaW1hZ2VfX3ByZXZpZXcuYWlybGluZXMsIC5jYXJkLmNhcmRfX3ByZXZpZXcgLmltYWdlX19wcmV2aWV3LnBhdGllbnQtb3JnYW5pc2F0aW9uLCAuY2FyZC5jYXJkX19wcmV2aWV3IC5pbWFnZV9fcHJldmlldy5wYXJ0bmVyX3NvY2lldGllcywgLmNhcmQuY2FyZF9fcHJldmlldyAuaW1hZ2VfX3ByZXZpZXcuY29udGFpbiB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBiYWNrZ3JvdW5kOiAjRkZGOyBib3JkZXI6IDFweCBzb2xpZCAjRjBGMEYwOyBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5jYXJkLmNhcmRfX3ByZXZpZXcgLmltYWdlX19wcmV2aWV3LmFpcmxpbmVzIGltZywgLmNhcmQuY2FyZF9fcHJldmlldyAuaW1hZ2VfX3ByZXZpZXcucGF0aWVudC1vcmdhbmlzYXRpb24gaW1nLCAuY2FyZC5jYXJkX19wcmV2aWV3IC5pbWFnZV9fcHJldmlldy5wYXJ0bmVyX3NvY2lldGllcyBpbWcsIC5jYXJkLmNhcmRfX3ByZXZpZXcgLmltYWdlX19wcmV2aWV3LmNvbnRhaW4gaW1nIHsgd2lkdGg6IDUwJTsgb2JqZWN0LWZpdDogY29udGFpbjsgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG5cbi5jYXJkLmNhcmRfX3ByZXZpZXcgLnRleHRfX3dyYXBwZXIgeyBwYWRkaW5nOiAxNXB4OyBib3JkZXI6IDFweCBzb2xpZCAjRjBGMEYwOyBib3JkZXItdG9wOiAwOyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7IGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNhcmQuY2FyZF9fcHJldmlldyAudGV4dF9fd3JhcHBlciB7IHBhZGRpbmctdG9wOiAyMHB4OyB9IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldyAudGV4dF9fd3JhcHBlciAuaDUsIC5jYXJkLmNhcmRfX3ByZXZpZXcgLnRleHRfX3dyYXBwZXIgaDUsIC5jYXJkLmNhcmRfX3ByZXZpZXcgLnRleHRfX3dyYXBwZXIgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQuY2FyZF9fcHJldmlldyAudGV4dF9fd3JhcHBlciBwIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldy5wb2RjYXN0X2Jsb2NrIC50ZXh0X193cmFwcGVyIGEgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uY2FyZC5jYXJkX19wcmV2aWV3LnBvZGNhc3RfYmxvY2sgLnRleHRfX3dyYXBwZXIgLmg1OjphZnRlciB7IGNvbnRlbnQ6IG5vbmU7IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldyAuZmF1eC0tbGluayB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBtYXJnaW4tbGVmdDogNHB4OyB9XG5cbi5jYXJkLmNhcmRfX3ByZXZpZXcgLmRhdGUsIC5jYXJkLmNhcmRfX3ByZXZpZXcgLmNhdGVnb3J5IHsgY29sb3I6ICM3NjcxNzU7IGZvbnQtc2l6ZTogMC43NXJlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldyAuY2F0ZWdvcnkgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jYXJkLmNhcmRfX3ByZXZpZXcgLmNhdGVnb3J5OjpiZWZvcmUgeyB0b3A6IDZweDsgaGVpZ2h0OiAyMXB4OyB3aWR0aDogMTlweDsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1yaWdodDogMTBweDsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2FydGljbGUtaWNvbkAyeC5wbmcpOyBiYWNrZ3JvdW5kLXNpemU6IDE5cHggMjFweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jYXJkLmNhcmRfX3ByZXZpZXcgLmNhcHRpb24geyBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG5cbi5jYXJkLmNhcmRfX3ByZXZpZXcgLmNhcHRpb24ubGFzdCB7IG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldyBzcGFuLmNhcHRpb246OmJlZm9yZSB7IHRvcDogNnB4OyBoZWlnaHQ6IDIxcHg7IHdpZHRoOiAxOXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXJpZ2h0OiAxMHB4OyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvYXJ0aWNsZS1pY29uQDJ4LnBuZyk7IGJhY2tncm91bmQtc2l6ZTogMTlweCAyMXB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldy5wcmV2aWV3X19kZXRhaWxzIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgcGFkZGluZzogMjBweCAzMHB4OyB9XG5cbi5jYXJkLmNhcmRfX3ByZXZpZXcucHJldmlld19fZGV0YWlscyB1bCB7IG1hcmdpbjogMHB4OyBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jYXJkLmNhcmRfX3ByZXZpZXcucHJldmlld19fZGV0YWlscyB1bCBhOm50aC1jaGlsZChvZGQpIGxpIHsgYmFja2dyb3VuZDogI2Y3ZjdmNzsgfVxuXG4uY2FyZC5jYXJkX19wcmV2aWV3LnByZXZpZXdfX2RldGFpbHMgdWwgYSBsaS5kb3dubG9hZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDEwcHg7IG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG4uY2FyZC5jYXJkX19wcmV2aWV3LnByZXZpZXdfX2RldGFpbHMgdWwgYSBsaS5kb3dubG9hZDo6YmVmb3JlIHsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Rvd25sb2FkLnBuZyk7IGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4OyB3aWR0aDogMTVweDsgaGVpZ2h0OiAxNXB4OyByaWdodDogMTBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbWFyZ2luLXRvcDogLS41cmVtOyB9XG5cbi5jYXJkLmNhcmRfX3ByZXZpZXcucHJldmlld19fZGV0YWlscyB1bCBhIGxpLmRvd25sb2FkIGEgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY2FyZC5jYXJkX19wcmV2aWV3LmNhcmRfX3ByZXZpZXdfaG9tZSB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmNhcmQuY2FyZF9fcHJldmlldy5jYXJkX19wcmV2aWV3X2hvbWUgLmltYWdlX19wcmV2aWV3IHsgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjMEY1ODlBOyB9XG5cbi5jYXJkLmNhcmRfX3B1c2hkb3duIC5pbWFnZV9fcHJldmlldyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IG92ZXJmbG93OiBoaWRkZW47IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNhcmQuY2FyZF9fcHVzaGRvd24gLmltYWdlX19wcmV2aWV3IHsgbWF4LWhlaWdodDogMjMwcHg7IG1pbi1oZWlnaHQ6IDIzMHB4OyB9IH1cblxuLmNhcmQuY2FyZF9fcHVzaGRvd24gLmltYWdlX19wcmV2aWV3IGltZyB7IG9iamVjdC1maXQ6IGNvdmVyOyBoZWlnaHQ6IDIzMHB4OyB3aWR0aDogMTAwJTsgfVxuXG4uY2FyZC5jYXJkX19wdXNoZG93biAuaW1hZ2VfX3ByZXZpZXcuYWlybGluZXMsIC5jYXJkLmNhcmRfX3B1c2hkb3duIC5pbWFnZV9fcHJldmlldy5wYXRpZW50LW9yZ2FuaXNhdGlvbiwgLmNhcmQuY2FyZF9fcHVzaGRvd24gLmltYWdlX19wcmV2aWV3LnBhcnRuZXJfc29jaWV0aWVzLCAuY2FyZC5jYXJkX19wdXNoZG93biAuaW1hZ2VfX3ByZXZpZXcuY29udGFpbiB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBiYWNrZ3JvdW5kOiAjRkZGOyBib3JkZXI6IDFweCBzb2xpZCAjRjBGMEYwOyBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5jYXJkLmNhcmRfX3B1c2hkb3duIC5pbWFnZV9fcHJldmlldy5haXJsaW5lcyBpbWcsIC5jYXJkLmNhcmRfX3B1c2hkb3duIC5pbWFnZV9fcHJldmlldy5wYXRpZW50LW9yZ2FuaXNhdGlvbiBpbWcsIC5jYXJkLmNhcmRfX3B1c2hkb3duIC5pbWFnZV9fcHJldmlldy5wYXJ0bmVyX3NvY2lldGllcyBpbWcsIC5jYXJkLmNhcmRfX3B1c2hkb3duIC5pbWFnZV9fcHJldmlldy5jb250YWluIGltZyB7IHdpZHRoOiA1MCU7IG9iamVjdC1maXQ6IGNvbnRhaW47IG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuXG4uY2FyZC5jYXJkX19wdXNoZG93biAuaW1hZ2VfX3ByZXZpZXcucGF0aWVudC1vcmdhbmlzYXRpb24uZGVmYXVsdC1iZyB7IGJhY2tncm91bmQ6ICNGMEYwRjA7IH1cblxuLmNhcmQuY2FyZF9fcHVzaGRvd24uYWlybGluZXMgLmNvbnRlbnQtd3JhcCAuYWNjb3JkaW9uLWNvbnRlbnQgaDEsIC5jYXJkLmNhcmRfX3B1c2hkb3duLmFpcmxpbmVzIC5jb250ZW50LXdyYXAgLmFjY29yZGlvbi1jb250ZW50IGgyLCAuY2FyZC5jYXJkX19wdXNoZG93bi5haXJsaW5lcyAuY29udGVudC13cmFwIC5hY2NvcmRpb24tY29udGVudCBoMywgLmNhcmQuY2FyZF9fcHVzaGRvd24uYWlybGluZXMgLmNvbnRlbnQtd3JhcCAuYWNjb3JkaW9uLWNvbnRlbnQgaDQsIC5jYXJkLmNhcmRfX3B1c2hkb3duLmFpcmxpbmVzIC5jb250ZW50LXdyYXAgLmFjY29yZGlvbi1jb250ZW50IGg1LCAuY2FyZC5jYXJkX19wdXNoZG93bi5haXJsaW5lcyAuY29udGVudC13cmFwIC5hY2NvcmRpb24tY29udGVudCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZC5jYXJkX19wdXNoZG93bi5haXJsaW5lcyAuY29udGVudC13cmFwIC5hY2NvcmRpb24tY29udGVudCBwLCAuY2FyZC5jYXJkX19wdXNoZG93bi5haXJsaW5lcyAuY29udGVudC13cmFwIC5hY2NvcmRpb24tY29udGVudCBoNiwgLmNhcmQuY2FyZF9fcHVzaGRvd24uYWlybGluZXMgLmNvbnRlbnQtd3JhcCAuYWNjb3JkaW9uLWNvbnRlbnQgLnVwZGF0ZWQgLmRhdGUsIC51cGRhdGVkIC5jYXJkLmNhcmRfX3B1c2hkb3duLmFpcmxpbmVzIC5jb250ZW50LXdyYXAgLmFjY29yZGlvbi1jb250ZW50IC5kYXRlIHsgZm9udC1zaXplOiAxcmVtOyBsaW5lLWhlaWdodDogMS42OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmQuY2FyZF9fcHVzaGRvd24gLmNvbnRlbnQtd3JhcCBoMy5oNSB7IGZvbnQtc2l6ZTogMThweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY2FyZC5jYXJkX19wdXNoZG93bi5tZWRpdW0tNiAuaW1hZ2VfX3ByZXZpZXcgeyBtYXgtaGVpZ2h0OiAzMTJweDsgbWluLWhlaWdodDogMzEycHg7IH0gfVxuXG4uY2FyZC5jYXJkX19wdXNoZG93bi5tZWRpdW0tNiAuaW1hZ2VfX3ByZXZpZXcgaW1nIHsgaGVpZ2h0OiAzMTJweDsgfVxuXG4uY2FyZC5jYXJkX19wdXNoZG93biAudGV4dF9fd3JhcHBlciB7IC8qIC50YWcgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogJHByaW1hcnktdHdvOyBmb250LXNpemU6IHJlbS1jYWxjKDEyKTsgfSAqLyB9XG5cbi5jYXJkLmNhcmRfX3B1c2hkb3duIC50ZXh0X193cmFwcGVyIC5wdXNoZG93bl9faGVhZGluZyB7IG1hcmdpbi10b3A6IDEwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IGxlZnQ7IG1heC13aWR0aDogOTAlOyB9XG5cbi5jYXJkLmNhcmRfX3B1c2hkb3duIC50ZXh0X193cmFwcGVyIC5wdXNoZG93bl9faGVhZGluZzo6YWZ0ZXIgeyAvKiBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNXB4OyByaWdodDogMDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpOyBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMTFweDsgd2lkdGg6IDE1cHg7IGhlaWdodDogMTFweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAqLyB9XG5cbi5jYXJkLmNhcmRfX3B1c2hkb3duIC50ZXh0X193cmFwcGVyIC5yZWFkX19tb3JlIHsgY29sb3I6ICMwRjU4OUE7IGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uY2FyZC5jYXJkX19wdXNoZG93biAudGV4dF9fd3JhcHBlciBociB7IGJvcmRlcjogbm9uZTsgaGVpZ2h0OiAycHg7IGJhY2tncm91bmQ6ICNFNEU0RTQ7IH1cblxuLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSAuYWNjb3JkaW9uLWNvbnRlbnQgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSBoNCwgLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSAuaDQsIC5jYXJkLmNhcmRfX3B1c2hkb3duLmNhcmRfX3Byb2ZpbGUgaDUsIC5jYXJkLmNhcmRfX3B1c2hkb3duLmNhcmRfX3Byb2ZpbGUgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSBwLCAuY2FyZC5jYXJkX19wdXNoZG93bi5jYXJkX19wcm9maWxlIC5oNSwgLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSBoNiwgLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSAudXBkYXRlZCAuZGF0ZSwgLnVwZGF0ZWQgLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSAuZGF0ZSwgLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSAuaDYgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSBhIHsgZGlzcGxheTogdGFibGU7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luOiAwIGF1dG87IH1cblxuLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSBhLmJ1dHRvbiwgLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuY2FyZC5jYXJkX19wdXNoZG93bi5jYXJkX19wcm9maWxlIGEgeyBtYXJnaW4tdG9wOiAyMHB4OyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5jYXJkLmNhcmRfX3B1c2hkb3duLmNhcmRfX3Byb2ZpbGUgYS5zdGFuZGFyZF9saW5rIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXItYm90dG9tOiAzcHggc29saWQgI0ZEQzQwMDsgcGFkZGluZy1ib3R0b206IDRweDsgdHJhbnNpdGlvbjogYWxsIDAuM3M7IH1cblxuLmNhcmQuY2FyZF9fcHVzaGRvd24uY2FyZF9fcHJvZmlsZSBhLnN0YW5kYXJkX2xpbms6aG92ZXIsIC5jYXJkLmNhcmRfX3B1c2hkb3duLmNhcmRfX3Byb2ZpbGUgYS5zdGFuZGFyZF9saW5rLmFjdGl2ZSB7IGNvbG9yOiAjMDExNTQyOyBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzY0OUFEQjsgfVxuXG4uY2FyZC5jYXJkX19wdXNoZG93bi5jYXJkX19wcm9maWxlIC5wdXNoZG93bl9faGVhZGluZyB7IG1heC13aWR0aDogMTAwJTsgbWFyZ2luLWxlZnQ6IDQwcHg7IG1hcmdpbi1yaWdodDogNDBweDsgfVxuXG4uY2FyZC5jYXJkX19wdXNoZG93bi5jYXJkX19wcm9maWxlIC5wdXNoZG93bl9faGVhZGluZy5oNSB7IGZvbnQtc2l6ZTogMThweDsgfVxuXG4uY2FyZC5jYXJkX19tZWRpYSAuZmVhdHVyZWRfaW1nIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBoZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IHBhZGRpbmc6IDQwcHggMjBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY2FyZC5jYXJkX19tZWRpYSAuZmVhdHVyZWRfaW1nIHsgcGFkZGluZzogODBweCAxMDBweDsgfSB9XG5cbi5jYXJkLmNhcmRfX21lZGlhIC5mZWF0dXJlZF9pbWcgaDIsIC5jYXJkLmNhcmRfX21lZGlhIC5mZWF0dXJlZF9pbWcgcCB7IGNvbG9yOiAjRkZGOyB9XG5cbi5jYXJkLmNhcmRfX21lZGlhIC5mZWF0dXJlZF9pbWcgYSB7IG1hcmdpbi10b3A6IGNsYW1wKDIwcHgsIDUwcHgsIDcwcHgpOyBtYXJnaW4tYm90dG9tOiAwcHg7IH1cblxuLmNhcmQuY2FyZF9fbWVkaWEgKyAuY2VsbCBhIHsgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uY2FyZC5jYXJkX190aWxlIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nLWJvdHRvbTogMDsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uY2FyZC5jYXJkX190aWxlIGEgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2FyZC5jYXJkX190aWxlIC50aWxlLS13cmFwIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7IG1pbi1oZWlnaHQ6IDI3MHB4OyAvKiBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgKi8gfVxuXG4uY2FyZC5jYXJkX190aWxlIC50aWxlLS13cmFwIC50aWxlLS1pbm5lciB7IHRleHQtYWxpZ246IGNlbnRlcjsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLmNhcmQuY2FyZF9fdGlsZSAudGlsZS0td3JhcCAudGlsZS0taW5uZXIgaW1nLCAuY2FyZC5jYXJkX190aWxlIC50aWxlLS13cmFwIC50aWxlLS1pbm5lciBzcGFuIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jYXJkLmNhcmRfX3RpbGUgLnRpbGUtLXdyYXAgLnRpbGUtLWlubmVyIHNwYW4geyBmb250LXNpemU6IDEuMTI1cmVtOyBjb2xvcjogI0ZEQzQwMDsgfVxuXG4uY2FyZC5jYXJkX190aWxlIC50aWxlLS13cmFwIC50aWxlLS1pbm5lciBpbWcgeyBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5jYXJkLmNhcmRfX3RpbGUgLnRpbGUtLXdyYXAgLnRpbGUtLWhvdmVyIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGJvdHRvbTogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWFyZ2luOiAwOyBwYWRkaW5nOiA0NXB4IDMwcHggNDVweCAzMHB4OyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogIzBGNTg5QTsgZGlzcGxheTogbm9uZTsgfVxuXG4uY2FyZC5jYXJkX190aWxlIC50aWxlLS13cmFwIC50aWxlLS1ob3ZlciBzcGFuLnVuZGVybGluZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jYXJkLmNhcmRfX3RpbGUgLnRpbGUtLXdyYXAgLnRpbGUtLWhvdmVyIGg0LCAuY2FyZC5jYXJkX190aWxlIC50aWxlLS13cmFwIC50aWxlLS1ob3ZlciBwLCAuY2FyZC5jYXJkX190aWxlIC50aWxlLS13cmFwIC50aWxlLS1ob3ZlciBzcGFuIHsgY29sb3I6ICNmZmY7IH1cblxuLmNhcmQuY2FyZF9fdGlsZSAuY2FyZC1saW5rLmZhdXgtbGluazpob3ZlciAudGlsZS0td3JhcCA+IGEgLnRpbGUtLWhvdmVyLCAuY2FyZC5jYXJkX190aWxlIGEuY2FyZC1saW5rLmZhdXgtbGluay5hY3RpdmUgLnRpbGUtLXdyYXAgPiBhIC50aWxlLS1ob3ZlciwgLmNhcmQuY2FyZF9fdGlsZSBidXR0b24uY2FyZC1saW5rLmZhdXgtbGluay5hY3RpdmUgLnRpbGUtLXdyYXAgPiBhIC50aWxlLS1ob3ZlciB7IGRpc3BsYXk6IGJsb2NrOyBtaW4taGVpZ2h0OiAyNzBweDsgfVxuXG4uY2FyZC50ZXh0X19iZyB7IGJhY2tncm91bmQtY29sb3I6ICNGREM0MDA7IHBhZGRpbmc6IDMycHggNDBweDsgfVxuXG4uY2FyZC50ZXh0X19iZyBoMSwgLmNhcmQudGV4dF9fYmcgaDIsIC5jYXJkLnRleHRfX2JnIC5zdWJoZWFkaW5nLCAuY2FyZC50ZXh0X19iZyBwIHsgY29sb3I6ICMwNDMyNjM7IH1cblxuLmNhcmQudGV4dF9fYmcgLnN1YmhlYWRpbmcgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5jYXJkLnRleHRfX2JnIGgyIHsgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLmNhcmQudGV4dF9fYmcgLmJ1dHRvbi1ncm91cCB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmNhcmQudGV4dF9fYmcgLmJ1dHRvbi1ncm91cCBhOm5vdCguYnV0dG9uKSB7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LWFsaWduOiBsZWZ0OyBjb2xvcjogIzA0MzI2MzsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXItYm90dG9tOiAzcHggc29saWQgI0ZEQzQwMDsgcGFkZGluZy1ib3R0b206IDRweDsgdHJhbnNpdGlvbjogYWxsIDAuM3M7IH1cblxuLmNhcmQudGV4dF9fYmcgLmJ1dHRvbi1ncm91cCBhOm5vdCguYnV0dG9uKTpob3ZlciwgLmNhcmQudGV4dF9fYmcgLmJ1dHRvbi1ncm91cCBhLmFjdGl2ZTpub3QoLmJ1dHRvbikgeyBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzY0OUFEQjsgfVxuXG4uY2FyZC50ZXh0X19iZyAuYnV0dG9uLCAuY2FyZC50ZXh0X19iZyBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuY2FyZC50ZXh0X19iZyBhIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY2FyZC50ZXh0X19iZyAuYnV0dG9uLCAuY2FyZC50ZXh0X19iZyBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuY2FyZC50ZXh0X19iZyBhIHsgbWFyZ2luLXJpZ2h0OiAyNnB4OyBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmNhcmQudGV4dF9fYmcgLmNsZWFyZml4IHsgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmNhcmQudGV4dF9fYmcubmVnYXRpdmVfX21hcmdpbiB7IG1hcmdpbi1sZWZ0OiAtNXB4OyB9IH1cblxuLmNhcmQudGV4dF9fYmcgLmhpZ2hsb2dodF9fdmlkZW9fYnRuIHsgcGFkZGluZzogMTBweCAxMHB4IDBweCAwcHg7IH1cblxuLmNhcmQudGV4dF9fYmcuYmctbm9uZSB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBwYWRkaW5nOiAwOyB9XG5cbi5jYXJkLnRleHRfX2JnLmJnLW5vbmUgaDIsIC5jYXJkLnRleHRfX2JnLmJnLW5vbmUgcCB7IGNvbG9yOiAjRkZGOyBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG5cbi5jYXJkLnRleHRfX2JnLmJnLW5vbmUgLnN1YmhlYWRpbmcgeyBjb2xvcjogI0ZGRjsgbWFyZ2luLWJvdHRvbTogMThweDsgZGlzcGxheTogYmxvY2s7IH1cblxuLmNhcmQudGV4dF9fYmcuYmctbm9uZSAuYnV0dG9uLWdyb3VwIHsgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbi5jYXJkLnRleHRfX2JnLmJnLWJsdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1ODlBOyB9XG5cbi5jYXJkLnRleHRfX2JnLmJnLWJsdWUgLnN1YmhlYWRpbmcsIC5jYXJkLnRleHRfX2JnLmJnLWJsdWUgaDIsIC5jYXJkLnRleHRfX2JnLmJnLWJsdWUgcCwgLmNhcmQudGV4dF9fYmcuYmctYmx1ZSBhOm5vdCguYnV0dG9uKSB7IGNvbG9yOiAjRkZGOyB9XG5cbi5jYXJkLnRleHRfX2JnLmJnLXllbGxvdyAuYnV0dG9uLWdyb3VwIGE6bm90KC5idXR0b24pIHsgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMwNDMyNjM7IHRyYW5zaXRpb246IGFsbCAwLjNzOyB9XG5cbi5jYXJkLnRleHRfX2JnLmJnLXllbGxvdyAuYnV0dG9uLWdyb3VwIGE6bm90KC5idXR0b24pOmhvdmVyLCAuY2FyZC50ZXh0X19iZy5iZy15ZWxsb3cgLmJ1dHRvbi1ncm91cCBhLmFjdGl2ZTpub3QoLmJ1dHRvbikgeyBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzY0OUFEQjsgfVxuXG4uY2FyZC5jYXJkX19zaW1wbGVIZWFkaW5nIHsgcGFkZGluZzogMDsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC5jYXJkX19zaW1wbGVIZWFkaW5nIC5oZWFkaW5nIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IHdpZHRoOiAxMDAlOyBtYXJnaW46IDA7IH1cblxuLmNhcmQuY2FyZF9fc2ltcGxlSGVhZGluZyAuaGVhZGluZyAuaDQgeyBtYXJnaW46IGF1dG8gMDsgfVxuXG4uY2FyZC5jYXJkX19zaW1wbGVIZWFkaW5nIC5oZWFkaW5nIGEgeyBtYXJnaW46IGF1dG8gMCBhdXRvIGF1dG87IH1cblxuLmNhcmQuY2FyZF9fc2ltcGxlSGVhZGluZ19mZWF0dXJlZCAuaGVhZGluZyB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC5jYXJkX19zaW1wbGVIZWFkaW5nX2ZlYXR1cmVkIC5oZWFkaW5nIC5oNCB7IG1hcmdpbjogYXV0byAwOyB9XG5cbi5jYXJkLmNhcmRfX3NpbXBsZUhlYWRpbmdfZmVhdHVyZWQgLmhlYWRpbmcgYSB7IG1hcmdpbjogYXV0byAwIGF1dG8gYXV0bzsgfVxuXG4uY2FyZC5jYXJkX19mZWF0dXJlZCwgLmNhcmQuY2FyZF9fc2ltcGxlSGVhZGluZ19pbWcgeyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NhcmRzL2NhcmQtaGVhZGluZy5wbmcpIG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4uY2FyZC5jYXJkX19mZWF0dXJlZCB7IG1pbi1oZWlnaHQ6IDIzMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5jYXJkLmNhcmRfX2ZlYXR1cmVkIHsgbWluLWhlaWdodDogNDAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuY2FyZC5jYXJkX19mZWF0dXJlZCB7IG1hcmdpbi1ib3R0b206IDBweDsgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwcHggMHB4OyB9IH1cblxuLmNhcmQuY2FyZF9fZmVhdHVyZWQgYSAubGluay1ibG9jayB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuY2FyZC5jYXJkX19mZWF0dXJlZF9fdGV4dCB7IG1hcmdpbi10b3A6IDBweDsgcGFkZGluZzogMjBweDsgYm9yZGVyOiAxcHggc29saWQgI0YwRjBGMDsgYm9yZGVyLXJhZGl1czogMHB4IDBweCA1cHggNXB4OyB9IH1cblxuLmNhcmQuY2FyZF9fZmVhdHVyZWRfX3RleHQgYS5pbm5lci13cmFwIHsgZGlzcGxheTogYmxvY2s7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY2FyZC5jYXJkX19mZWF0dXJlZF9fdGV4dCAuY2FwdGlvbiB7IG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLmNhcmQuY2FyZF9fZmVhdHVyZWRfX3RleHQgLmNhcHRpb24ubGFzdCB7IG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLmNhcmQuY2FyZF9fZmVhdHVyZWRfX3RleHQgLmNhcHRpb24uZGF0ZSwgLmNhcmQuY2FyZF9fZmVhdHVyZWRfX3RleHQgLmNhcHRpb24uYXV0aG9yIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAwIDEycHg7IH1cblxuLmNhcmQuY2FyZF9fZmVhdHVyZWRfX3RleHQgLmNhcHRpb24uZGF0ZSB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4uY2FyZC5jYXJkX19mZWF0dXJlZF9fdGV4dCAuY2FwdGlvbi5hdXRob3IgeyBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgVzAxXzg1IEhlYXZ5MTQ3NTU0NFwiOyB9XG5cbi5jYXJkLmNhcmRfX2ZlYXR1cmVkX190ZXh0IC5jYXB0aW9uLmRhdGUgKyAuYXV0aG9yIHsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTRlNWU5OyB9XG5cbi5jYXJkLmNhcmRfX2ZlYXR1cmVkX190ZXh0IHNwYW4uY2FwdGlvbjo6YmVmb3JlIHsgdG9wOiA2cHg7IGhlaWdodDogMjFweDsgd2lkdGg6IDE5cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBtYXJnaW4tcmlnaHQ6IDEwcHg7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9hcnRpY2xlLWljb25AMngucG5nKTsgYmFja2dyb3VuZC1zaXplOiAxOXB4IDIxcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuY2FyZC5jYXJkX19mZWF0dXJlZF9fdGV4dCB7IHBhZGRpbmc6IDQwcHg7IH0gfVxuXG4uY2FyZC5jYXJkX19ibHVlIC5jZWxsOm5vdCguY2FyZF9faGVhZGluZ19faW5uZXIpLCAuY2FyZC5jYXJkX19ncmV5IC5jZWxsOm5vdCguY2FyZF9faGVhZGluZ19faW5uZXIpIHsgYmFja2dyb3VuZC1jb2xvcjogIzBGNTg5QTsgfVxuXG4uY2FyZC5jYXJkX19ibHVlIC5jZWxsOm5vdCguY2FyZF9faGVhZGluZ19faW5uZXIpICo6bm90KGEpLCAuY2FyZC5jYXJkX19ncmV5IC5jZWxsOm5vdCguY2FyZF9faGVhZGluZ19faW5uZXIpICo6bm90KGEpIHsgY29sb3I6ICMwRjU4OUE7IH1cblxuLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbDpub3QoLmNhcmRfX2hlYWRpbmdfX2lubmVyKSBwLCAuY2FyZC5jYXJkX19ncmV5IC5jZWxsOm5vdCguY2FyZF9faGVhZGluZ19faW5uZXIpIHAgeyBmb250LXNpemU6IDEuMTI1cmVtOyBsaW5lLWhlaWdodDogMS41cmVtOyBsZXR0ZXItc3BhY2luZzogMDsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY2FyZC5jYXJkX19ibHVlIC5jZWxsOm5vdCguY2FyZF9faGVhZGluZ19faW5uZXIpIHAsIC5jYXJkLmNhcmRfX2dyZXkgLmNlbGw6bm90KC5jYXJkX19oZWFkaW5nX19pbm5lcikgcCB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9IH1cblxuLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbC5sYXJnZS1vcmRlci0xLCAuY2FyZC5jYXJkX19ncmV5IC5jZWxsLmxhcmdlLW9yZGVyLTEgeyBwYWRkaW5nLWJvdHRvbTogOTBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAuY2FyZC5jYXJkX19ibHVlIC5jZWxsLmxhcmdlLW9yZGVyLTEsIC5jYXJkLmNhcmRfX2dyZXkgLmNlbGwubGFyZ2Utb3JkZXItMSB7IG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uY2FyZC5jYXJkX19ibHVlIC5pbWdfX2ZlYXR1cmVkLCAuY2FyZC5jYXJkX19ncmV5IC5pbWdfX2ZlYXR1cmVkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC5jYXJkX19ibHVlIC5pbWdfX2ZlYXR1cmVkIGltZywgLmNhcmQuY2FyZF9fZ3JleSAuaW1nX19mZWF0dXJlZCBpbWcgeyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4uY2FyZC5jYXJkX19ibHVlIC52ZXJ0aWNhbF9fYWxpZ24sIC5jYXJkLmNhcmRfX2dyZXkgLnZlcnRpY2FsX19hbGlnbiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uY2FyZC5jYXJkX19ibHVlIC52ZXJ0aWNhbF9fYWxpZ24gaDIsIC5jYXJkLmNhcmRfX2dyZXkgLnZlcnRpY2FsX19hbGlnbiBoMiB7IG1hcmdpbi1ib3R0b206IDAuN3JlbTsgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbi5jYXJkLmNhcmRfX2JsdWUgLnZlcnRpY2FsX19hbGlnbiBhLmJ1dHRvbiwgLmNhcmQuY2FyZF9fYmx1ZSAudmVydGljYWxfX2FsaWduIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5jYXJkLmNhcmRfX2JsdWUgLnZlcnRpY2FsX19hbGlnbiBhLCAuY2FyZC5jYXJkX19ncmV5IC52ZXJ0aWNhbF9fYWxpZ24gYS5idXR0b24sIC5jYXJkLmNhcmRfX2dyZXkgLnZlcnRpY2FsX19hbGlnbiBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuY2FyZC5jYXJkX19ncmV5IC52ZXJ0aWNhbF9fYWxpZ24gYSB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQuY2FyZF9fYmx1ZSAudmVydGljYWxfX2FsaWduIHAudGV4dC1saW5rLCAuY2FyZC5jYXJkX19ncmV5IC52ZXJ0aWNhbF9fYWxpZ24gcC50ZXh0LWxpbmsgeyBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5jYXJkLmNhcmRfX2JsdWUgLnZlcnRpY2FsX19hbGlnbiBwLnRleHQtbGluayBhLCAuY2FyZC5jYXJkX19ncmV5IC52ZXJ0aWNhbF9fYWxpZ24gcC50ZXh0LWxpbmsgYSB7IGNvbG9yOiAjMEY1ODlBOyB9XG5cbi5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgLmJ1dHRvbi50ZXJ0aWFyeSwgLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbCBsaS5mYXV4LWJ1dHRvbiBhLnRlcnRpYXJ5LCBsaS5mYXV4LWJ1dHRvbiAuY2FyZC5jYXJkX19ibHVlIC5jZWxsIGEudGVydGlhcnkgeyBib3JkZXI6IDFweCBzb2xpZCAjMEY1ODlBOyB9XG5cbi5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgLmJ1dHRvbi50ZXJ0aWFyeTpob3ZlciwgLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbCBhLmJ1dHRvbi50ZXJ0aWFyeS5hY3RpdmUsIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgbGkuZmF1eC1idXR0b24gYS50ZXJ0aWFyeS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgYS50ZXJ0aWFyeS5hY3RpdmUsIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgYnV0dG9uLmJ1dHRvbi50ZXJ0aWFyeS5hY3RpdmUsIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgbGkuZmF1eC1idXR0b24gYS50ZXJ0aWFyeTpob3ZlciwgbGkuZmF1eC1idXR0b24gLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbCBhLnRlcnRpYXJ5OmhvdmVyIHsgYm9yZGVyOiAxcHggc29saWQgI0ZEQzQwMDsgfVxuXG4uY2FyZC5jYXJkX19ibHVlIC5jZWxsIC5idXR0b24uc2Vjb25kYXJ5LCAuY2FyZC5jYXJkX19ibHVlIC5jZWxsIC5zaWdudXBfX2Zvcm0gLmJ1dHRvbiwgLnNpZ251cF9fZm9ybSAuY2FyZC5jYXJkX19ibHVlIC5jZWxsIC5idXR0b24sIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgYSwgLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbCBhLCAuY2FyZC5jYXJkX19ibHVlIC5jZWxsIGxpLmZhdXgtYnV0dG9uIGEuc2Vjb25kYXJ5LCBsaS5mYXV4LWJ1dHRvbiAuY2FyZC5jYXJkX19ibHVlIC5jZWxsIGEuc2Vjb25kYXJ5IHsgYm9yZGVyOiAxcHggc29saWQgIzBGNTg5QTsgfVxuXG4uY2FyZC5jYXJkX19ibHVlIC5jZWxsIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuY2FyZC5jYXJkX19ibHVlIC5jZWxsIC5zaWdudXBfX2Zvcm0gLmJ1dHRvbjpob3ZlciwgLnNpZ251cF9fZm9ybSAuY2FyZC5jYXJkX19ibHVlIC5jZWxsIC5idXR0b246aG92ZXIsIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgLnNpZ251cF9fZm9ybSBhLmJ1dHRvbi5hY3RpdmUsIC5zaWdudXBfX2Zvcm0gLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbCBhLmJ1dHRvbi5hY3RpdmUsIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLmFjdGl2ZSwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiAuY2FyZC5jYXJkX19ibHVlIC5jZWxsIGEuYWN0aXZlLCAuY2FyZC5jYXJkX19ibHVlIC5jZWxsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5hY3RpdmUsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbCBhLmFjdGl2ZSwgLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbCAuc2lnbnVwX19mb3JtIGJ1dHRvbi5idXR0b24uYWN0aXZlLCAuc2lnbnVwX19mb3JtIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgYnV0dG9uLmJ1dHRvbi5hY3RpdmUsIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhOmhvdmVyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgYTpob3ZlciwgLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGE6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbCBhOmhvdmVyLCAuY2FyZC5jYXJkX19ibHVlIC5jZWxsIGEuYnV0dG9uLnNlY29uZGFyeS5hY3RpdmUsIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnkuYWN0aXZlLCBsaS5mYXV4LWJ1dHRvbiAuY2FyZC5jYXJkX19ibHVlIC5jZWxsIGEuc2Vjb25kYXJ5LmFjdGl2ZSwgLmNhcmQuY2FyZF9fYmx1ZSAuY2VsbCBidXR0b24uYnV0dG9uLnNlY29uZGFyeS5hY3RpdmUsIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgbGkuZmF1eC1idXR0b24gYS5zZWNvbmRhcnk6aG92ZXIsIGxpLmZhdXgtYnV0dG9uIC5jYXJkLmNhcmRfX2JsdWUgLmNlbGwgYS5zZWNvbmRhcnk6aG92ZXIgeyBib3JkZXI6IDFweCBzb2xpZCAjMDQzMjYzOyB9XG5cbi5jYXJkLmNhcmRfX2hhbHZlcyAudmVydGljYWxfX2FsaWduIHsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5jYXJkLmNhcmRfX2hhbHZlcyAuaGFsdmVzX2xlZnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyBwYWRkaW5nLWxlZnQ6IDQwcHg7IHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgLmNhcmQuY2FyZF9faGFsdmVzIC5oYWx2ZXNfbGVmdCB7IHBhZGRpbmc6IDIwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY2FyZC5jYXJkX19oYWx2ZXMgLmhhbHZlc19sZWZ0IHAgeyBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG4uY2FyZC5jYXJkX19ncmV5IC5jZWxsOm5vdCguY2FyZF9faGVhZGluZ19faW5uZXIpIHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuXG4uY2FyZC5jYXJkX19ncmV5IC5jZWxsOm5vdCguY2FyZF9faGVhZGluZ19faW5uZXIpICo6bm90KGEpIHsgY29sb3I6ICNGREM0MDA7IH1cblxuLmNhcmQuY2FyZF9fZ3JleSAuY2VsbDpub3QoLmNhcmRfX2hlYWRpbmdfX2lubmVyKSBwIHsgY29sb3I6ICNGREM0MDA7IH1cblxuLmNhcmQuY2FyZF9fZ3JleSAuY2VsbDpub3QoLmNhcmRfX2hlYWRpbmdfX2lubmVyKSAuc3ViaGVhZGluZyB7IGNvbG9yOiAjMEY1ODlBOyB9XG5cbi5jYXJkLmNhcmRfX3NpbXBsZUhlYWRpbmdfZmVhdHVyZWRIYWxmIC5jYXJkX2ltZyB7IGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2FyZHMvY2FyZC1oZWFkaW5nLnBuZykgbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBoZWlnaHQ6IDM1MHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5jYXJkLmNhcmRfX3NpbXBsZUhlYWRpbmdfZmVhdHVyZWRIYWxmIC5jYXJkX2NvbnRlbnQgLmg1OmFmdGVyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvYXJyb3ctbmV4dEAyeC5wbmcpOyBiYWNrZ3JvdW5kLXNpemU6IDEycHggMTVweDsgd2lkdGg6IDEycHg7IGhlaWdodDogMTVweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG4uY2FyZC5jYXJkX19wcm9maWxlIHsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsgcGFkZGluZzogMHB4IDIwcHggMzBweCAyMHB4OyBtYXJnaW46IDAgYXV0byAzMHB4IGF1dG87IH1cblxuLmNhcmQuY2FyZF9fcHJvZmlsZSAucHJvZmlsZV9pbWcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiA1MCU7IGhlaWdodDogMDsgcGFkZGluZy1ib3R0b206IDUwJTsgbWFyZ2luOiAzMHB4IGF1dG87IHRleHQtYWxpZ246IGNlbnRlcjsgYm9yZGVyLXJhZGl1czogNTAlOyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jYXJkLmNhcmRfX3Byb2ZpbGUgLnByb2ZpbGVfaW1nIGltZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi5jYXJkLmNhcmRfX3Byb2ZpbGUgLnByb2ZpbGVfaW5mbyB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2FyZC5jYXJkX19wcm9maWxlIC5wcm9maWxlX2luZm8gc3BhbjphZnRlciB7IC8qIC8vIFJlbW92ZWQgZHVlIHRvIGxvbmcgdGl0bGUgY29uZmxpY3RzIGRpc3BsYXk6IGlubGluZS1ibG9jazsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTsgYmFja2dyb3VuZC1zaXplOiAxNXB4IDEwcHg7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDEwcHg7IG1hcmdpbi1ib3R0b206IDI5cHg7IEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgYmFja2dyb3VuZDogJHByaW1hcnktb25lOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpOyBtYXNrLXNpemU6IDE1cHggMTBweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSAqLyB9XG5cbi5jYXJkLmNhcmRfX3Byb2ZpbGUgLnByb2ZpbGVfbGluayB7IHRleHQtYWxpZ246IGNlbnRlcjsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNEN0Q3RDc7IH1cblxuLmNhcmQuY2FyZF9fcHJvZmlsZSAucHJvZmlsZV9saW5rIGEgeyBtYXJnaW46IDIycHggMDsgfVxuXG4uY2FyZC5saXN0aW5nIHsgYmFja2dyb3VuZDogI0ZGRjsgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgIzA0MzI2MzsgcGFkZGluZzogMjBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRyYW5zaXRpb246IGFsbCAwLjNzOyB9XG5cbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyLCBhLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlLCBidXR0b24uY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzMjYzOyBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjRkRDNDAwOyB9XG5cbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgaDEsIGEuY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCBoMSwgYnV0dG9uLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgaDEsIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgaDIsIGEuY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCBoMiwgYnV0dG9uLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgaDIsIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgaDMsIGEuY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCBoMywgYnV0dG9uLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgaDMsIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgaDQsIGEuY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCBoNCwgYnV0dG9uLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgaDQsIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgaDUsIGEuY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCBoNSwgYnV0dG9uLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgaDUsIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQubGlzdGluZy5wb3N0X2xpc3Rpbmc6aG92ZXIgLmxpc3RpbmctY29udGVudCBwLCBhLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgYS5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IHAsIGJ1dHRvbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGJ1dHRvbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IHAsIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgaDYsIGEuY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCBoNiwgYnV0dG9uLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgaDYsIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgLnVwZGF0ZWQgLmRhdGUsIC51cGRhdGVkIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgLmRhdGUsIGEuY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCAudXBkYXRlZCAuZGF0ZSwgLnVwZGF0ZWQgYS5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IC5kYXRlLCBidXR0b24uY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCAudXBkYXRlZCAuZGF0ZSwgLnVwZGF0ZWQgYnV0dG9uLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgLmRhdGUsIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgcCwgYS5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IHAsIGJ1dHRvbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IHAsIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgYiwgYS5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IGIsIGJ1dHRvbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IGIsIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgYSwgYS5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IGEsIGJ1dHRvbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IGEsIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgc3VtbWFyeSwgYS5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IHN1bW1hcnksIGJ1dHRvbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IHN1bW1hcnksIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgZGl2LCBhLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgZGl2LCBidXR0b24uY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCBkaXYgeyBjb2xvcjogI0ZGRjsgfVxuXG4uY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZzpob3ZlciAubGlzdGluZy1jb250ZW50IGEuY2FyZCBoNSwgYS5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IGEuY2FyZCBoNSwgYnV0dG9uLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgYS5jYXJkIGg1LCAuY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZzpob3ZlciAubGlzdGluZy1jb250ZW50IGEuY2FyZCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZzpob3ZlciAubGlzdGluZy1jb250ZW50IGEuY2FyZCBwLCBhLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgYS5jYXJkIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGEuY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCBhLmNhcmQgcCwgYnV0dG9uLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgYS5jYXJkIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGJ1dHRvbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IGEuY2FyZCBwIHsgY29sb3I6ICMwNDMyNjM7IH1cblxuLmNhcmQubGlzdGluZy5wb3N0X2xpc3Rpbmc6aG92ZXIgLmxpc3RpbmctY29udGVudCBhLmNhcmQ6aG92ZXIgaDUsIGEuY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCBhLmNhcmQ6aG92ZXIgaDUsIGJ1dHRvbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IGEuY2FyZDpob3ZlciBoNSwgLmNhcmQubGlzdGluZy5wb3N0X2xpc3Rpbmc6aG92ZXIgLmxpc3RpbmctY29udGVudCBhLmNhcmQuYWN0aXZlIGg1LCBhLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgYS5jYXJkLmFjdGl2ZSBoNSwgYnV0dG9uLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgYS5jYXJkLmFjdGl2ZSBoNSwgLmNhcmQubGlzdGluZy5wb3N0X2xpc3Rpbmc6aG92ZXIgLmxpc3RpbmctY29udGVudCBhLmNhcmQ6aG92ZXIgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQubGlzdGluZy5wb3N0X2xpc3Rpbmc6aG92ZXIgLmxpc3RpbmctY29udGVudCBhLmNhcmQ6aG92ZXIgcCwgYS5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IGEuY2FyZDpob3ZlciBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBhLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgYS5jYXJkOmhvdmVyIHAsIGJ1dHRvbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IGEuY2FyZDpob3ZlciBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBidXR0b24uY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCBhLmNhcmQ6aG92ZXIgcCwgLmNhcmQubGlzdGluZy5wb3N0X2xpc3Rpbmc6aG92ZXIgLmxpc3RpbmctY29udGVudCBhLmNhcmQuYWN0aXZlIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgYS5jYXJkLmFjdGl2ZSBwLCBhLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgYS5jYXJkLmFjdGl2ZSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBhLmNhcmQubGlzdGluZy5wb3N0X2xpc3RpbmcuYWN0aXZlIC5saXN0aW5nLWNvbnRlbnQgYS5jYXJkLmFjdGl2ZSBwLCBidXR0b24uY2FyZC5saXN0aW5nLnBvc3RfbGlzdGluZy5hY3RpdmUgLmxpc3RpbmctY29udGVudCBhLmNhcmQuYWN0aXZlIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGJ1dHRvbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IGEuY2FyZC5hY3RpdmUgcCB7IGNvbG9yOiAjRkRDNDAwOyB9XG5cbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nOmhvdmVyIC5saXN0aW5nLWNvbnRlbnQgc3VtbWFyeTphZnRlciwgYS5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IHN1bW1hcnk6YWZ0ZXIsIGJ1dHRvbi5jYXJkLmxpc3RpbmcucG9zdF9saXN0aW5nLmFjdGl2ZSAubGlzdGluZy1jb250ZW50IHN1bW1hcnk6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy15ZWxsb3cuc3ZnKTsgYmFja2dyb3VuZC1zaXplOiAxNXB4IDExcHg7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDExcHg7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgcG9zaXRpb246IHJlbGF0aXZlOyB0b3A6IDBweDsgcmlnaHQ6IC0xMnB4OyBtYXJnaW4tdG9wOiAwOyB9XG5cbi5jYXJkLmxpc3RpbmcueWVsbG93X2xpc3RpbmcgeyBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjRkRDNDAwOyB9XG5cbi5jYXJkLmxpc3RpbmcgLmd1aWRlbGluZV9sYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogIzc2NzE3NTsgfVxuXG4uY2FyZC5saXN0aW5nIC5ndWlkZWxpbmVfbGFiZWwgc3BhbiB7IHRleHQtdHJhbnNmb3JtOiBub25lOyBjb2xvcjogI0ZEQzQwMDsgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFcwMV82NSBNZWRpdW0xNDc1NTMyXCIsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiA0MDA7IGZvbnQtc2l6ZTogMC44NzVyZW07IGxldHRlci1zcGFjaW5nOiBpbml0aWFsOyB9XG5cbi5jYXJkLmxpc3RpbmcgLmd1aWRlbGluZV9sYWJlbC55ZWFyIHsgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jYXJkLmxpc3RpbmcgLnRhZ3NfbGFiZWwgeyBjb2xvcjogIzc2NzE3NTsgfVxuXG4uY2FyZC5saXN0aW5nIC5saXN0aW5nLWNvbnRlbnQgeyB6LWluZGV4OiAxOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNhcmQubGlzdGluZyAubGlzdGluZy1jb250ZW50IC50YWdzIHsgbWFyZ2luLWJvdHRvbTogMThweDsgfVxuXG4uY2FyZC5saXN0aW5nIC5saXN0aW5nLWNvbnRlbnQgLmF1dGhvcnMsIC5jYXJkLmxpc3RpbmcgLmxpc3RpbmctY29udGVudCAucHVibGlzaGVkLXR5cGUsIC5jYXJkLmxpc3RpbmcgLmxpc3RpbmctY29udGVudCAucHVibGlzaGVkLXllYXIgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5jYXJkLmxpc3RpbmcgLm92ZXJsYXktbGluayB+IC5saXN0aW5nLWNvbnRlbnQgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgeyBib3JkZXItdG9wOiAycHggc29saWQgI0U0RTRFNDsgcGFkZGluZy10b3A6IDdweDsgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgdWwgeyBtYXJnaW46IDQ2cHggMCAwIDI2cHggIWltcG9ydGFudDsgfVxuXG4uY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgdWwgbGk6YmVmb3JlIHsgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyBzdW1tYXJ5IHsgb3V0bGluZTogbm9uZTsgfVxuXG4uY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgLmNhcmQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4OiAxIDAgYXV0bzsgYWxpZ24taXRlbXM6IGNlbnRlcjsgYmFja2dyb3VuZDogI0YwRjBGMDsgcGFkZGluZzogMThweCA2MHB4IDE4cHggMjBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBwb2ludGVyLWV2ZW50czogYWxsOyB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7IH1cblxuLmNhcmQubGlzdGluZyAudHJhbnNsYXRpb25zIC5jYXJkIHNwYW4ubGFiZWwgeyBtYXJnaW4tcmlnaHQ6IDE0cHg7IHRyYW5zaXRpb246IGFsbCAwLjI1czsgfVxuXG4uY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgLmNhcmQgLmxhbmcgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyAuY2FyZCBoNSwgLmNhcmQubGlzdGluZyAudHJhbnNsYXRpb25zIC5jYXJkIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyAuY2FyZCBwIHsgbWFyZ2luLWJvdHRvbTogMDsgdHJhbnNpdGlvbjogYWxsIDAuMjVzOyB9XG5cbi5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyAuY2FyZDphZnRlciB7IGNvbnRlbnQ6ICcnOyBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pY29ucy9uZXctd2luZG93LWJsdWUuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDIwcHg7IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmNhcmQubGlzdGluZyAudHJhbnNsYXRpb25zIC5jYXJkOmFmdGVyIHsgYmFja2dyb3VuZDogIzA0MzI2MzsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL25ldy13aW5kb3ctYmx1ZS5zdmcpOyBtYXNrLXNpemU6IGNvbnRhaW47IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG4uY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgLmNhcmQ6aG92ZXIsIC5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyBhLmNhcmQuYWN0aXZlLCAuY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgYnV0dG9uLmNhcmQuYWN0aXZlLCAuY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgLmNhcmQ6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAjMDQzMjYzOyB9XG5cbi5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyAuY2FyZDpob3ZlciBzcGFuLmxhYmVsLCAuY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgYS5jYXJkLmFjdGl2ZSBzcGFuLmxhYmVsLCAuY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgYnV0dG9uLmNhcmQuYWN0aXZlIHNwYW4ubGFiZWwsIC5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyAuY2FyZDpmb2N1cyBzcGFuLmxhYmVsIHsgYmFja2dyb3VuZDogI0ZEQzQwMDsgfVxuXG4uY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgLmNhcmQ6aG92ZXIgaDUsIC5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyBhLmNhcmQuYWN0aXZlIGg1LCAuY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgYnV0dG9uLmNhcmQuYWN0aXZlIGg1LCAuY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgLmNhcmQ6aG92ZXIgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQubGlzdGluZyAudHJhbnNsYXRpb25zIC5jYXJkOmhvdmVyIHAsIC5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyBhLmNhcmQuYWN0aXZlIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyBhLmNhcmQuYWN0aXZlIHAsIC5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyBidXR0b24uY2FyZC5hY3RpdmUgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQubGlzdGluZyAudHJhbnNsYXRpb25zIGJ1dHRvbi5jYXJkLmFjdGl2ZSBwLCAuY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgLmNhcmQ6Zm9jdXMgaDUsIC5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyAuY2FyZDpmb2N1cyBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgLmNhcmQ6Zm9jdXMgcCB7IGNvbG9yOiAjRkRDNDAwOyB9XG5cbi5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyAuY2FyZDpob3ZlcjphZnRlciwgLmNhcmQubGlzdGluZyAudHJhbnNsYXRpb25zIGEuY2FyZC5hY3RpdmU6YWZ0ZXIsIC5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyBidXR0b24uY2FyZC5hY3RpdmU6YWZ0ZXIsIC5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyAuY2FyZDpmb2N1czphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ljb25zL25ldy13aW5kb3cteWVsbG93LnN2Z1wiKTsgfVxuXG5Ac3VwcG9ydHMgKG1hc2staW1hZ2U6IHVybChcIlwiKSkgeyAuY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgLmNhcmQ6aG92ZXI6YWZ0ZXIsIC5jYXJkLmxpc3RpbmcgLnRyYW5zbGF0aW9ucyBhLmNhcmQuYWN0aXZlOmFmdGVyLCAuY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgYnV0dG9uLmNhcmQuYWN0aXZlOmFmdGVyLCAuY2FyZC5saXN0aW5nIC50cmFuc2xhdGlvbnMgLmNhcmQ6Zm9jdXM6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiAjRkRDNDAwOyBtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvbmV3LXdpbmRvdy15ZWxsb3cuc3ZnKTsgfSB9XG5cbi5jYXJkLmNhcmRfX2V2ZW50IC50ZXh0X193cmFwcGVyIC5kYXRlIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLmNhcmQuY2FyZF9fZXZlbnQgLnRleHRfX3dyYXBwZXIgLmNhdGVnb3J5IHsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6ICM3NjcxNzU7IG1hcmdpbi1ib3R0b206IDI1cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2FyZC5jYXJkX19ldmVudCAudGV4dF9fd3JhcHBlciAuY2F0ZWdvcnkubG9jYXRpb246OmJlZm9yZSB7IHRvcDogNHB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7IGhlaWdodDogMTlweDsgd2lkdGg6IDE5cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZ2xvYmUtaWNvbkAyeC5wbmcpIG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOiAxOXB4IDE5cHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY2FyZC5jYXJkX19ldmVudCAudGV4dF9fd3JhcHBlci5jb2wtLWZpcnN0IHsgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNhcmQuY2FyZF9fZXZlbnQgLnRleHRfX3dyYXBwZXIuY29sLS1maXJzdCB7IHBhZGRpbmctYm90dG9tOiB1bnNldDsgfSB9XG5cbi5jYXJkLmNhcmRfX2V2ZW50IC5idXR0b25fX3dyYXAgYSB7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbjogMCBhdXRvIDIwcHggYXV0bzsgcGFkZGluZy1sZWZ0OiA0MHB4OyBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9XG5cbi5jYXJkLmNhcmRfX2V2ZW50LmNhcmRfX2V2ZW50X3NpbXBsZSB7IG1pbi1oZWlnaHQ6IDExMHB4OyB9XG5cbi5jYXJkLmNhcmRfX2V2ZW50LmNhcmRfX2V2ZW50X3NpbXBsZSAuY29sLS1maXJzdCB7IGRpc3BsYXk6IGZsZXg7IGhlaWdodDogMTAwJTsgfVxuXG4uY2FyZC5jYXJkX19ldmVudC5jYXJkX19ldmVudF9zaW1wbGUgLmNvbC0tZmlyc3QgLmRhdGUgeyBtYXJnaW46IGF1dG87IH1cblxuLmNhcmQuY2FyZF9fZXZlbnQuY2FyZF9fZXZlbnRfaW1hZ2UgeyBtaW4taGVpZ2h0OiAxNTBweDsgfVxuXG4uY2FyZC5jYXJkX19ldmVudC5jYXJkX19ldmVudF9pbWFnZSAuZXZlbnRfaW1nX2JnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHBhZGRpbmc6IDE4cHggMjRweDsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rOmhvdmVyLCBhLmNhcmQuY2FyZF9fZGV0YWlscy5oYXMtbGluay5hY3RpdmUsIGJ1dHRvbi5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuICAuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rOmhvdmVyIGg0LCBhLmNhcmQuY2FyZF9fZGV0YWlscy5oYXMtbGluay5hY3RpdmUgaDQsIGJ1dHRvbi5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsuYWN0aXZlIGg0LCAuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rOmhvdmVyIGg1LCBhLmNhcmQuY2FyZF9fZGV0YWlscy5oYXMtbGluay5hY3RpdmUgaDUsIGJ1dHRvbi5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsuYWN0aXZlIGg1LCAuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rOmhvdmVyIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbms6aG92ZXIgcCwgYS5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsuYWN0aXZlIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGEuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rLmFjdGl2ZSBwLCBidXR0b24uY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rLmFjdGl2ZSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBidXR0b24uY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rLmFjdGl2ZSBwLCAuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rOmhvdmVyIHAsIGEuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rLmFjdGl2ZSBwLCBidXR0b24uY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rLmFjdGl2ZSBwLCAuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rOmhvdmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLCBhLmNhcmQuY2FyZF9fZGV0YWlscy5oYXMtbGluay5hY3RpdmUgYVtocmVmXj1cIm1haWx0bzpcIl0sIGJ1dHRvbi5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsuYWN0aXZlIGFbaHJlZl49XCJtYWlsdG86XCJdLCAuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rOmhvdmVyIGFbaHJlZl49XCJ0ZWw6XCJdLCBhLmNhcmQuY2FyZF9fZGV0YWlscy5oYXMtbGluay5hY3RpdmUgYVtocmVmXj1cInRlbDpcIl0sIGJ1dHRvbi5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsuYWN0aXZlIGFbaHJlZl49XCJ0ZWw6XCJdLCAuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rOmhvdmVyIGxpLCBhLmNhcmQuY2FyZF9fZGV0YWlscy5oYXMtbGluay5hY3RpdmUgbGksIGJ1dHRvbi5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsuYWN0aXZlIGxpLCAuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rOmhvdmVyIGEsIGEuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rLmFjdGl2ZSBhLCBidXR0b24uY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rLmFjdGl2ZSBhIHsgY29sb3I6ICMwNDMyNjM7IH0gfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzIC5jYXJkX19kZXRhaWxzX2xpbmsgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsgaDQsIC5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsgaDUsIC5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmQuY2FyZF9fZGV0YWlscy5oYXMtbGluayBwLCAuY2FyZC5jYXJkX19kZXRhaWxzLmhhcy1saW5rIHAsIC5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsgYVtocmVmXj1cIm1haWx0bzpcIl0sIC5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsgYVtocmVmXj1cInRlbDpcIl0sIC5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsgbGksIC5jYXJkLmNhcmRfX2RldGFpbHMuaGFzLWxpbmsgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzIC50ZXh0X193cmFwcGVyIGg1LCAuY2FyZC5jYXJkX19kZXRhaWxzIC50ZXh0X193cmFwcGVyIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5jYXJkLmNhcmRfX2RldGFpbHMgLnRleHRfX3dyYXBwZXIgcCB7IGZvbnQtc2l6ZTogMThweDsgfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzIC50ZXh0X193cmFwcGVyIC5zdWJoZWFkaW5nIHsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLmNhcmQuY2FyZF9fZGV0YWlscyAudGV4dF9fd3JhcHBlciAuZGF0ZSB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMgLnRleHRfX3dyYXBwZXIgLmNhdGVnb3J5IHsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6ICM3NjcxNzU7IG1hcmdpbi1ib3R0b206IDI1cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzIC50ZXh0X193cmFwcGVyIC5jYXRlZ29yeS5sb2NhdGlvbjo6YmVmb3JlIHsgdG9wOiA0cHg7IG1hcmdpbi1yaWdodDogMTBweDsgaGVpZ2h0OiAxOXB4OyB3aWR0aDogMTlweDsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9nbG9iZS1pY29uQDJ4LnBuZykgbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IDE5cHggMTlweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMgLnRleHRfX3dyYXBwZXIgLmNhcmRfX2RldGFpbHNfY29udGFjdHMgeyBtYXJnaW46IDEwcHggMHB4OyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMgLnRleHRfX3dyYXBwZXIgLmNhcmRfX2RldGFpbHNfY29udGFjdHMgaSB7IG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzIC50ZXh0X193cmFwcGVyIC5jYXJkX19kZXRhaWxzX2NvbnRhY3RzIGEgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzIC50ZXh0X193cmFwcGVyLmNvbC0tZmlyc3QgeyBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY2FyZC5jYXJkX19kZXRhaWxzIC50ZXh0X193cmFwcGVyLmNvbC0tZmlyc3QgeyBwYWRkaW5nLWJvdHRvbTogdW5zZXQ7IH0gfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzIC50ZXh0X193cmFwcGVyIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjRkRDNDAwOyBwYWRkaW5nLWJvdHRvbTogNHB4OyB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzIC50ZXh0X193cmFwcGVyIGE6aG92ZXIsIC5jYXJkLmNhcmRfX2RldGFpbHMgLnRleHRfX3dyYXBwZXIgYS5hY3RpdmUgeyBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzY0OUFEQjsgfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzIGEuc2ltcGxlX2xpbmsgeyBmb250LXdlaWdodDogYm9sZDsgZGlzcGxheTogYmxvY2s7IG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLmNhcmQuY2FyZF9fZGV0YWlscyAuYnV0dG9uX193cmFwIGEgeyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiAxMDAlOyBtYXJnaW46IDAgYXV0byAyMHB4IGF1dG87IHBhZGRpbmctbGVmdDogNDBweDsgcGFkZGluZy1yaWdodDogNDBweDsgfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzIC5idXR0b25fX3dyYXAgYTpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMgLmNvbnRlbnRfX3dyYXAgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMubWVkaXVtLTYgeyBwYWRkaW5nOiAyMHB4OyBkaXNwbGF5OiBncmlkOyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMuY2FyZF9fZGV0YWlsc19zaW1wbGUgeyBib3JkZXItdG9wOiA1cHggc29saWQgI0ZEQzQwMDsgfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzLmNhcmRfX2RldGFpbHNfc2ltcGxlIGEgeyBmb250LXdlaWdodDogYm9sZDsgbGluZS1oZWlnaHQ6IDMzcHg7IH1cblxuLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NpbmdsZSB7IHBhZGRpbmctdG9wOiA0MHB4OyBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY2FyZC5jYXJkX19kZXRhaWxzLmNhcmRfX2RldGFpbHNfc2luZ2xlIC5jb2wtLWZpcnN0IHsgcGFkZGluZy1yaWdodDogMjBweDsgfSB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMuY2FyZF9fZGV0YWlsc19zaW5nbGUgLmNvbC0tZmlyc3QgLmJ1dHRvbi50YWcsIC5jYXJkLmNhcmRfX2RldGFpbHMuY2FyZF9fZGV0YWlsc19zaW5nbGUgLmNvbC0tZmlyc3QgbGkuZmF1eC1idXR0b24gYS50YWcsIGxpLmZhdXgtYnV0dG9uIC5jYXJkLmNhcmRfX2RldGFpbHMuY2FyZF9fZGV0YWlsc19zaW5nbGUgLmNvbC0tZmlyc3QgYS50YWcgeyBtYXJnaW4tdG9wOiA1cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NpbmdsZSAuY29sLS1maXJzdCAuYnV0dG9uLnRhZywgLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NpbmdsZSAuY29sLS1maXJzdCBsaS5mYXV4LWJ1dHRvbiBhLnRhZywgbGkuZmF1eC1idXR0b24gLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NpbmdsZSAuY29sLS1maXJzdCBhLnRhZyB7IHBhZGRpbmc6IDVweCAyMHB4IDVweCAyMHB4OyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NpbmdsZSAuY29sLS1maXJzdCAuZGF0ZSB7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NvY2lldHkgeyBwYWRkaW5nOiA1MHB4IDIwcHggMjBweCAyMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NvY2lldHkgLmJ1dHRvbi50YWcubm9fbGluaywgLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NvY2lldHkgbGkuZmF1eC1idXR0b24gYS50YWcubm9fbGluaywgbGkuZmF1eC1idXR0b24gLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NvY2lldHkgYS50YWcubm9fbGluayB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyBib3JkZXI6IG5vbmU7IH1cblxuLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NvY2lldHkgLmNvbnRlbnRfX3dyYXAgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMuY2FyZF9fZGV0YWlsc19zb2NpZXR5IC5jb250ZW50X193cmFwIGg1LCAuY2FyZC5jYXJkX19kZXRhaWxzLmNhcmRfX2RldGFpbHNfc29jaWV0eSAuY29udGVudF9fd3JhcCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSAuY2FyZC5jYXJkX19kZXRhaWxzLmNhcmRfX2RldGFpbHNfc29jaWV0eSAuY29udGVudF9fd3JhcCBwIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzLmNhcmRfX2RldGFpbHNfc29jaWV0eSAuYnV0dG9uX193cmFwIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwJTsgcGFkZGluZzogMHB4IDIwcHg7IGxlZnQ6IDBweDsgYm90dG9tOiAyMHB4OyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMuY2FyZF9fZGV0YWlsc19zY2llbmNlIHsgcGFkZGluZzogMzBweCAyMHB4OyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMuY2FyZF9fZGV0YWlsc19zY2llbmNlIC5vcmdhbml6ZXIgeyBjb2xvcjogIzBGNTg5QTsgfVxuXG4uY2FyZC5jYXJkX19kZXRhaWxzLmNhcmRfX2RldGFpbHNfc2NpZW5jZSAuYnV0dG9uX193cmFwIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NjaWVuY2UgLmJ1dHRvbl9fd3JhcCBhOmJlZm9yZSB7IHRvcDogMnB4OyBtYXJnaW4tcmlnaHQ6IDEwcHg7IGhlaWdodDogMTVweDsgd2lkdGg6IDE1cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBjb250ZW50OiBcIlwiOyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvc2NpZW5jZV9iYXJyb3cuc3ZnKSBuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmNhcmQuY2FyZF9fZGV0YWlscy5jYXJkX19kZXRhaWxzX3NjaWVuY2UgLmJ1dHRvbl9fd3JhcCBhOmJlZm9yZSB7IGJhY2tncm91bmQ6ICMwNDMyNjM7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9zY2llbmNlX2JhcnJvdy5zdmcpOyBtYXNrLXNpemU6IDE1cHggMTVweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMuY2FyZF9fZGV0YWlsc190YWcgeyBwYWRkaW5nOiA0NnB4IDI0cHggMThweCAyNHB4OyB9XG5cbi5jYXJkLmNhcmRfX2RldGFpbHMgLnRhZy5ub19saW5rIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDVweCAyNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1ODlBOyBjb2xvcjogI0ZGRjsgbGV0dGVyLXNwYWNpbmc6IDAuMjc1ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBXMDFfNTUgUm9tYW4xNDc1NTIwXCI7IGZvbnQtc2l6ZTogMC43NXJlbTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiBtYXJnaW4tdG9wOiAtMThweDsgKi8gcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDBweDsgd2lkdGg6IDEwMCU7IGJvcmRlci1yYWRpdXM6IDBweDsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uY2FyZC5jYXJkX190ZWFtIC5pbWdfX3dyYXBwZXIgeyBib3JkZXItcmFkaXVzOiA1MCU7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2FyZC5jYXJkX190ZWFtIC5pbWdfX3dyYXBwZXIgaW1nIHsgbWF4LWhlaWdodDogNTBweDsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5jYXJkLmNhcmRfX3RlYW0gLnRleHRfX3dyYXBwZXIgeyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5jYXJkLmNhcmRfX3RlYW0gLnRleHRfX3dyYXBwZXIgcCB7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmNhcmQuY2FyZF9fdGVhbSAudGV4dF9fd3JhcHBlciBhIHsgZm9udC13ZWlnaHQ6IDEwMCAhaW1wb3J0YW50OyBjb2xvcjogIzc2NzE3NSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5jYXJkLmNhcmRfX3RlYW0gLmJ1dHRvbl9fc2ltcGxlIHsgcGFkZGluZy1sZWZ0OiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9IH1cblxuLmNhcmQuY2FyZF9fdGVhbV9pbWcgLmltZ19fd3JhcHBlciB7IGJvcmRlci1yYWRpdXM6IDUwJTsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5jYXJkLmNhcmRfX3RlYW1faW1nIC50ZXh0X193cmFwcGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyBwYWRkaW5nOiAyMHB4IDQwcHg7IH1cblxuLmNhcmQuY2FyZF9fdGVhbV9pbWcgLnRleHRfX3dyYXBwZXIgLmg2LCAuY2FyZC5jYXJkX190ZWFtX2ltZyAudGV4dF9fd3JhcHBlciBoNiwgLmNhcmQuY2FyZF9fdGVhbV9pbWcgLnRleHRfX3dyYXBwZXIgLnVwZGF0ZWQgLmRhdGUsIC51cGRhdGVkIC5jYXJkLmNhcmRfX3RlYW1faW1nIC50ZXh0X193cmFwcGVyIC5kYXRlIHsgY29sb3I6ICMwRjU4OUE7IH1cblxuLmNhcmQuY2FyZF9faW1nX2RldGFpbHMgLmltYWdlX193cmFwcGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyB9XG5cbi5jYXJkLmNhcmRfX2ltZ19kZXRhaWxzIGg0IHsgcGFkZGluZzogMjAwcHggMjBweCAyMHB4IDIwcHg7IG1hcmdpbjogMHB4OyB9XG5cbi5jYXJkLmNhcmRfX2FjY29yZGlhbi1uZXh0IHsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uY2FyZC5jYXJkX2Rvd25sb2FkX2xpc3QgeyBwYWRkaW5nLXRvcDogMzBweDsgfVxuXG4uY2FyZC5jYXJkX2Rvd25sb2FkX2xpc3QgLmRvd25sb2FkX2xpc3QsIC5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAubm9ybWFsX2xpc3QgeyBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG4uY2FyZC5jYXJkX2Rvd25sb2FkX2xpc3QgLmRvd25sb2FkX2xpc3QgbGksIC5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAubm9ybWFsX2xpc3QgbGkgeyBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAuZG93bmxvYWRfbGlzdCBsaTpsYXN0LWNoaWxkLCAuY2FyZC5jYXJkX2Rvd25sb2FkX2xpc3QgLm5vcm1hbF9saXN0IGxpOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAuZG93bmxvYWRfbGlzdCBsaTo6YmVmb3JlLCAuY2FyZC5jYXJkX2Rvd25sb2FkX2xpc3QgLm5vcm1hbF9saXN0IGxpOjpiZWZvcmUgeyBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmNhcmQuY2FyZF9kb3dubG9hZF9saXN0IC5kb3dubG9hZF9saXN0IGxpIGEsIC5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAubm9ybWFsX2xpc3QgbGkgYSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBwYWRkaW5nOiAxNXB4IDUwcHggMTVweCAxNXB4OyB3aWR0aDogMTAwJTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBwb3NpdGlvbjogcmVsYXRpdmU7IGJvdHRvbTogMDsgbGVmdDogMDsgY29sb3I6ICMwNDMyNjM7IGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBXMDFfODUgSGVhdnkxNDc1NTQ0XCI7IGJhY2tncm91bmQtY29sb3I6ICNGMEYwRjA7IGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4uY2FyZC5jYXJkX2Rvd25sb2FkX2xpc3QgLmRvd25sb2FkX2xpc3QgbGkgYTphZnRlciwgLmNhcmQuY2FyZF9kb3dubG9hZF9saXN0IC5ub3JtYWxfbGlzdCBsaSBhOmFmdGVyIHsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZC1zaXplOiAyMHB4IDE4cHg7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDE4cHg7IHJpZ2h0OiAyMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyBtYXJnaW4tdG9wOiAtMC41cmVtOyB9XG5cbi5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAuZG93bmxvYWRfbGlzdCBsaSBhOmhvdmVyLCAuY2FyZC5jYXJkX2Rvd25sb2FkX2xpc3QgLmRvd25sb2FkX2xpc3QgbGkgYS5hY3RpdmUsIC5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAubm9ybWFsX2xpc3QgbGkgYTpob3ZlciwgLmNhcmQuY2FyZF9kb3dubG9hZF9saXN0IC5ub3JtYWxfbGlzdCBsaSBhLmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYmFja2dyb3VuZC1jb2xvcjogIzA0MzI2MzsgY29sb3I6ICNGREM0MDA7IH1cblxuLmNhcmQuY2FyZF9kb3dubG9hZF9saXN0IC5kb3dubG9hZF9saXN0IGxpIGE6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bmxvYWQtaWNvbi5zdmcpOyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IC5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAuZG93bmxvYWRfbGlzdCBsaSBhOmFmdGVyIHsgYmFja2dyb3VuZDogIzA0MzI2MzsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd25sb2FkLWljb24uc3ZnKTsgbWFzay1zaXplOiAyMHB4IDE4cHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG4uY2FyZC5jYXJkX2Rvd25sb2FkX2xpc3QgLmRvd25sb2FkX2xpc3QgbGkgYTpob3ZlcjphZnRlciwgLmNhcmQuY2FyZF9kb3dubG9hZF9saXN0IC5kb3dubG9hZF9saXN0IGxpIGEuYWN0aXZlOmFmdGVyIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd25sb2FkLWljb24teWVsbG93LnN2Zyk7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmNhcmQuY2FyZF9kb3dubG9hZF9saXN0IC5kb3dubG9hZF9saXN0IGxpIGE6aG92ZXI6YWZ0ZXIsIC5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAuZG93bmxvYWRfbGlzdCBsaSBhLmFjdGl2ZTphZnRlciB7IGJhY2tncm91bmQ6ICNGREM0MDA7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9kb3dubG9hZC1pY29uLXllbGxvdy5zdmcpOyBtYXNrLXNpemU6IDIwcHggMThweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG5cbi5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAubm9ybWFsX2xpc3QgbGkgYTphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pY29ucy9leHRlcm5hbC1saW5rLWljb24tYmx1ZS5zdmcpOyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IC5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAubm9ybWFsX2xpc3QgbGkgYTphZnRlciB7IGJhY2tncm91bmQ6ICMwNDMyNjM7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9leHRlcm5hbC1saW5rLWljb24tYmx1ZS5zdmcpOyBtYXNrLXNpemU6IDExcHggMTFweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG5cbi5jYXJkLmNhcmRfZG93bmxvYWRfbGlzdCAubm9ybWFsX2xpc3QgbGkgYTpob3ZlcjphZnRlciwgLmNhcmQuY2FyZF9kb3dubG9hZF9saXN0IC5ub3JtYWxfbGlzdCBsaSBhLmFjdGl2ZTphZnRlciB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pY29ucy9leHRlcm5hbC1saW5rLWljb24teWVsbG93LnN2Zyk7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmNhcmQuY2FyZF9kb3dubG9hZF9saXN0IC5ub3JtYWxfbGlzdCBsaSBhOmhvdmVyOmFmdGVyLCAuY2FyZC5jYXJkX2Rvd25sb2FkX2xpc3QgLm5vcm1hbF9saXN0IGxpIGEuYWN0aXZlOmFmdGVyIHsgYmFja2dyb3VuZDogI0ZEQzQwMDsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2V4dGVybmFsLWxpbmstaWNvbi15ZWxsb3cuc3ZnKTsgbWFzay1zaXplOiAxMXB4IDExcHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuXG4uY2FyZC5jYXJkX3N1Z2dlc3RlZCAuaW1hZ2VfX3dyYXBwZXIgeyBtaW4taGVpZ2h0OiAxMjBweDsgbWFyZ2luLWJvdHRvbTogMTBweDsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5jYXJkLmNhcmRfc3VnZ2VzdGVkIHAgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IC5jYXJkLmZlYXR1cmVkX2NhcmQgeyB3aWR0aDogMTAwdnc7IG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IC5jYXJkLnByb21vX2NhcmRfZnVsbCB7IGJvcmRlci1yYWRpdXM6IDA7IHBhZGRpbmc6IDI1cHg7IH1cbiAgLmNhcmQucHJvbW9fY2FyZF9mdWxsLnByb21vX2NhcmRfZnVsbF9pbWcgeyBtaW4taGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdDsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuY2FyZC5wcm9tb19jYXJkX2Z1bGwgaDIgeyBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cblxuLmNhcmQubGlzdGluZ19ub19wb3N0X21zZyB7IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZy10b3A6IDUwcHg7IH1cblxuLmNhcmRfdGFibGUgdGFibGUgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG5cbi5jYXJkX3RhYmxlIHRhYmxlIHRyIHRoIHsgcGFkZGluZzogMTBweDsgYmFja2dyb3VuZC1jb2xvcjogI0Q3RDdENzsgYm9yZGVyOiAxcHggc29saWQgIzcwNzA3MDsgfVxuXG4uY2FyZF90YWJsZSB0YWJsZSB0ciB0ZCB7IHBhZGRpbmc6IDEwcHg7IGJvcmRlcjogMXB4IHNvbGlkICM3MDcwNzA7IH1cblxuLmNhcmRfZmVhdHVyZWQgeyBtYXJnaW4tYm90dG9tOiAyMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjRjBGMEYwOyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jYXJkX2ZlYXR1cmVkIC5ncmlkLXggeyBoZWlnaHQ6IDEwMCU7IH1cblxuLmNhcmRfZmVhdHVyZWQgLmZlYXR1cmVkX2ltZyB7IGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2FyZHMvY2FyZC1oZWFkaW5nLnBuZykgbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50OyBoZWlnaHQ6IDEwMCU7IG1pbi1oZWlnaHQ6IDEzMHB4OyBtYXJnaW46IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNhcmRfZmVhdHVyZWQgLmZlYXR1cmVkX2ltZyB7IG1pbi1oZWlnaHQ6IDE1MHB4OyB9IH1cblxuLmNhcmRfZmVhdHVyZWQgLnRhZyB7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiA1cHggN3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1ODlBOyBjb2xvcjogI0ZGRjsgbGV0dGVyLXNwYWNpbmc6IDAuMjc1ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBXMDFfNTUgUm9tYW4xNDc1NTIwXCI7IGZvbnQtc2l6ZTogMC43NXJlbTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jYXJkX2ZlYXR1cmVkIC5mZWF0dXJlZF90ZXh0IHsgcGFkZGluZzogNHB4IDE2cHg7IHRyYW5zaXRpb246IGFsbCAwLjVzOyB9XG5cbi5jYXJkX2ZlYXR1cmVkIC5mZWF0dXJlZF90ZXh0IGgzLmg1IHsgZm9udC1zaXplOiAxOHB4OyB9XG5cbi5jYXJkX2ZlYXR1cmVkIC5mZWF0dXJlZF90ZXh0IGgzLmg1OmFmdGVyIHsgLyogLy8gUmVtb3ZlZCBkdWUgdG8gbG9uZyB0aXRsZSBjb25mbGljdHMgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAzMHB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9hcnJvdy1idG4tYmx1ZS5zdmcpOyBiYWNrZ3JvdW5kLXNpemU6IDlweCAxM3B4OyB3aWR0aDogOXB4OyBoZWlnaHQ6IDEzcHg7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgQHN1cHBvcnRzKG1hc2staW1hZ2U6IHVybChcIlwiKSkgeyBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1vbmU7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9hcnJvdy1idG4tYmx1ZS5zdmcpOyBtYXNrLXNpemU6IDlweCAxM3B4OyBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyB9ICovIH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNhcmRfZmVhdHVyZWQgLmZlYXR1cmVkX3RleHQgeyBwYWRkaW5nOiAyMHB4OyB9IH1cblxuLmNhcmRfZmVhdHVyZWQgLmZlYXR1cmVkX3RleHQuY2FyZF9fc21hbGwgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jYXJkX2ZlYXR1cmVkOmhvdmVyIC5mZWF0dXJlZF90ZXh0LCBhLmNhcmRfZmVhdHVyZWQuYWN0aXZlIC5mZWF0dXJlZF90ZXh0LCBidXR0b24uY2FyZF9mZWF0dXJlZC5hY3RpdmUgLmZlYXR1cmVkX3RleHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzMjYzOyB9XG5cbi5jYXJkX2ZlYXR1cmVkOmhvdmVyIC5mZWF0dXJlZF90ZXh0IC5zdWJoZWFkaW5nLCBhLmNhcmRfZmVhdHVyZWQuYWN0aXZlIC5mZWF0dXJlZF90ZXh0IC5zdWJoZWFkaW5nLCBidXR0b24uY2FyZF9mZWF0dXJlZC5hY3RpdmUgLmZlYXR1cmVkX3RleHQgLnN1YmhlYWRpbmcsIC5jYXJkX2ZlYXR1cmVkOmhvdmVyIC5mZWF0dXJlZF90ZXh0IC5jYXB0aW9uLCBhLmNhcmRfZmVhdHVyZWQuYWN0aXZlIC5mZWF0dXJlZF90ZXh0IC5jYXB0aW9uLCBidXR0b24uY2FyZF9mZWF0dXJlZC5hY3RpdmUgLmZlYXR1cmVkX3RleHQgLmNhcHRpb24geyBjb2xvcjogI0ZGRjsgfVxuXG4uY2FyZF9mZWF0dXJlZDpob3ZlciAuZmVhdHVyZWRfdGV4dCBhIC5oNSwgYS5jYXJkX2ZlYXR1cmVkLmFjdGl2ZSAuZmVhdHVyZWRfdGV4dCBhIC5oNSwgYnV0dG9uLmNhcmRfZmVhdHVyZWQuYWN0aXZlIC5mZWF0dXJlZF90ZXh0IGEgLmg1IHsgY29sb3I6ICNGREM0MDA7IH1cblxuLmNhcmRfZmVhdHVyZWQ6aG92ZXIgLmZlYXR1cmVkX3RleHQgYSAuaDU6YWZ0ZXIsIGEuY2FyZF9mZWF0dXJlZC5hY3RpdmUgLmZlYXR1cmVkX3RleHQgYSAuaDU6YWZ0ZXIsIGJ1dHRvbi5jYXJkX2ZlYXR1cmVkLmFjdGl2ZSAuZmVhdHVyZWRfdGV4dCBhIC5oNTphZnRlciB7IC8qIC8vIFJlbW92ZWQgZHVlIHRvIGxvbmcgdGl0bGUgY29uZmxpY3RzIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pY29ucy9hcnJvdy1idG4teWVsbG93LnN2Zyk7IEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgYmFja2dyb3VuZDogJHNlY29uZGFyeS1vbmU7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9hcnJvdy1idG4teWVsbG93LnN2Zyk7IG1hc2stc2l6ZTogOXB4IDEzcHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IH0gKi8gfVxuXG4uY2FyZF9fY2FsbG91dCB7IGJhY2tncm91bmQtY29sb3I6ICMwRjU4OUE7IH1cblxuLmNhcmRfX2NhbGxvdXQgLmNhcmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1ODlBOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiAjRkZGOyBwYWRkaW5nOiA1MHB4IDA7IGJvcmRlci1yYWRpdXM6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNhcmRfX2NhbGxvdXQgLmNhcmQgeyBwYWRkaW5nOiA3MHB4IDA7IH0gfVxuXG4uY2FyZF9fY2FsbG91dCAuY2FyZCBoMiwgLmNhcmRfX2NhbGxvdXQgLmNhcmQgLmgyLCAuY2FyZF9fY2FsbG91dCAuY2FyZCBoNCwgLmNhcmRfX2NhbGxvdXQgLmNhcmQgLmg0IHsgY29sb3I6ICNGRkY7IG1hcmdpbi1ib3R0b206IDIzcHg7IH1cblxuLmNhcmRfX2NhbGxvdXQgLmNhcmQgcCB7IGZvbnQtc2l6ZTogMThweDsgbWFyZ2luLWJvdHRvbTogMzVweDsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uY2FyZF9fY2FsbG91dCAuY2FyZCAuYnV0dG9uLCAuY2FyZF9fY2FsbG91dCAuY2FyZCBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuY2FyZF9fY2FsbG91dCAuY2FyZCBhIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZF9fY2FsbG91dC5mdWxsX3RleHQgLmNhcmQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jYXJkX19jYWxsb3V0LnNlY29uZGFyeSAuY2FyZCwgLnNpZ251cF9fZm9ybSAuY2FyZF9fY2FsbG91dC5idXR0b24gLmNhcmQsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5jYXJkX19jYWxsb3V0IC5jYXJkLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEuY2FyZF9fY2FsbG91dCAuY2FyZCB7IGNvbG9yOiAjMDQzMjYzOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkRDNDAwOyB9XG5cbi5jYXJkX19jYWxsb3V0LnNlY29uZGFyeSAuY2FyZCBoMiwgLnNpZ251cF9fZm9ybSAuY2FyZF9fY2FsbG91dC5idXR0b24gLmNhcmQgaDIsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5jYXJkX19jYWxsb3V0IC5jYXJkIGgyLCBsaS5mYXV4LWJ1dHRvbiAuc2lnbnVwX19mb3JtIGEuY2FyZF9fY2FsbG91dCAuY2FyZCBoMiwgLmNhcmRfX2NhbGxvdXQuc2Vjb25kYXJ5IC5jYXJkIC5oMiwgLnNpZ251cF9fZm9ybSAuY2FyZF9fY2FsbG91dC5idXR0b24gLmNhcmQgLmgyLCAuc2lnbnVwX19mb3JtIGxpLmZhdXgtYnV0dG9uIGEuY2FyZF9fY2FsbG91dCAuY2FyZCAuaDIsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5jYXJkX19jYWxsb3V0IC5jYXJkIC5oMiwgLmNhcmRfX2NhbGxvdXQuc2Vjb25kYXJ5IC5jYXJkIGg0LCAuc2lnbnVwX19mb3JtIC5jYXJkX19jYWxsb3V0LmJ1dHRvbiAuY2FyZCBoNCwgLnNpZ251cF9fZm9ybSBsaS5mYXV4LWJ1dHRvbiBhLmNhcmRfX2NhbGxvdXQgLmNhcmQgaDQsIGxpLmZhdXgtYnV0dG9uIC5zaWdudXBfX2Zvcm0gYS5jYXJkX19jYWxsb3V0IC5jYXJkIGg0LCAuY2FyZF9fY2FsbG91dC5zZWNvbmRhcnkgLmNhcmQgLmg0LCAuc2lnbnVwX19mb3JtIC5jYXJkX19jYWxsb3V0LmJ1dHRvbiAuY2FyZCAuaDQsIC5zaWdudXBfX2Zvcm0gbGkuZmF1eC1idXR0b24gYS5jYXJkX19jYWxsb3V0IC5jYXJkIC5oNCwgbGkuZmF1eC1idXR0b24gLnNpZ251cF9fZm9ybSBhLmNhcmRfX2NhbGxvdXQgLmNhcmQgLmg0IHsgY29sb3I6ICMwNDMyNjM7IH1cblxuLmNhcmRfX2ZhbWUgLmNlbGwuc2luZ2xlX19mYW1lIHsgcGFkZGluZzogNDBweCAyMHB4IDMwcHggMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5jYXJkX19mYW1lIC5jZWxsLnNpbmdsZV9fZmFtZSBoNCB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmNhcmRfX2ZhbWUgLmNlbGwuc2luZ2xlX19mYW1lIGg1LCAuY2FyZF9fZmFtZSAuY2VsbC5zaW5nbGVfX2ZhbWUgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLmNhcmRfX2ZhbWUgLmNlbGwuc2luZ2xlX19mYW1lIHAsIC5jYXJkX19mYW1lIC5jZWxsLnNpbmdsZV9fZmFtZSBoNiwgLmNhcmRfX2ZhbWUgLmNlbGwuc2luZ2xlX19mYW1lIC51cGRhdGVkIC5kYXRlLCAudXBkYXRlZCAuY2FyZF9fZmFtZSAuY2VsbC5zaW5nbGVfX2ZhbWUgLmRhdGUgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5jYXJkX19mYW1lIC5jZWxsLnNpbmdsZV9fZmFtZSBoNiwgLmNhcmRfX2ZhbWUgLmNlbGwuc2luZ2xlX19mYW1lIC51cGRhdGVkIC5kYXRlLCAudXBkYXRlZCAuY2FyZF9fZmFtZSAuY2VsbC5zaW5nbGVfX2ZhbWUgLmRhdGUgeyBjb2xvcjogIzBGNTg5QTsgfVxuXG4uY2FyZF9fZmFtZSAuY2VsbC5zaW5nbGVfX2ZhbWUgaHIgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5iZ19faW1nIHsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgcGFkZGluZy10b3A6IDcwcHg7IHBhZGRpbmctYm90dG9tOiA3MHB4OyBoZWlnaHQ6IGZpdC1jb250ZW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5iZ19faW1nIHsgcGFkZGluZy10b3A6IDUwcHg7IHBhZGRpbmctYm90dG9tOiA1MHB4OyBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9IH1cblxuLmJnX19pbWcuYWx0IHsgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAuYmdfX2ltZy5oZXJvX19jYXJvdXNlbCB7IG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmJnX19pbWcuaGVyb19fY2Fyb3VzZWwgaDEsIC5iZ19faW1nLmhlcm9fX2Nhcm91c2VsIGgyIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5iZ19faW1nLmhlcm9fX2Nhcm91c2VsIGgxLCAuYmdfX2ltZy5oZXJvX19jYXJvdXNlbCBoMiwgLmJnX19pbWcuaGVyb19fY2Fyb3VzZWwgaDIgc3BhbiB7IHdpZHRoOiAzNjBweDsgfSB9XG5cbi5iZ19faW1nIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiwgLmJnX19pbWcgLmJ1dHRvbi1ncm91cCBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuYmdfX2ltZyAuYnV0dG9uLWdyb3VwIGEgeyBtYXJnaW4tcmlnaHQ6IDI2cHg7IH1cblxuLmJnX19pbWcuYmdfX2hlcm8geyBwYWRkaW5nLXRvcDogMzBweDsgcGFkZGluZy1ib3R0b206IDMwcHg7IG1pbi1oZWlnaHQ6IDQ2MHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5iZ19faW1nLmJnX19oZXJvIGgxIHsgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07IH1cblxuLmJnX19pbWcuYmdfX2hlcm8gLmdyaWQtY29udGFpbmVyIHsgd2lkdGg6IDEwMCU7IH1cblxuLmJnX19pbWcuYmdfX2hlcm8gLmJ1dHRvbiBpLCAuYmdfX2ltZy5iZ19faGVybyBsaS5mYXV4LWJ1dHRvbiBhIGksIGxpLmZhdXgtYnV0dG9uIC5iZ19faW1nLmJnX19oZXJvIGEgaSB7IGZvbnQtc2l6ZTogMTRweDsgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuLmJnX19pbWcuYmdfX2hlcm8gYTpub3QoLmJ1dHRvbikgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjRkRDNDAwOyBwYWRkaW5nLWJvdHRvbTogNHB4OyB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuXG4uYmdfX2ltZy5iZ19faGVybyBhOm5vdCguYnV0dG9uKTpob3ZlciwgLmJnX19pbWcuYmdfX2hlcm8gYS5hY3RpdmU6bm90KC5idXR0b24pIHsgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICM2NDlBREI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmJnX19pbWcuYmdfX2hlcm8gYTpub3QoLmJ1dHRvbikgeyBtYXJnaW46IDAgNjBweDsgfSB9XG5cbi5iZ19faW1nLmJnX19oZXJvLmJnX19oZXJvX2hvbWUgeyBwYWRkaW5nLXRvcDogMjA4cHg7IHBhZGRpbmctYm90dG9tOiAzNnB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5iZ19faW1nLmJnX19oZXJvLmJnX19oZXJvX2hvbWUgeyBwYWRkaW5nLXRvcDogMTAwcHg7IHBhZGRpbmctYm90dG9tOiAxMDBweDsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIC5iZ19faW1nLmJnX19oZXJvLmJnX19oZXJvX2hvbWUgYSB7IGRpc3BsYXk6IHRhYmxlOyBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmJnX19pbWcuYmdfX2hlcm8uYmdfX2hlcm9faG9tZSB7IHBhZGRpbmctdG9wOiA2NHB4OyBwYWRkaW5nLWJvdHRvbTogMTQ4cHg7IH1cbiAgLmJnX19pbWcuYmdfX2hlcm8uYmdfX2hlcm9faG9tZSBhIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IG1hcmdpbi10b3A6IDBweDsgfSB9XG5cbi5iZ19faW1nLmJnX19oZXJvIC5jYXJkX19wcmV2aWV3IHsgYmFja2dyb3VuZC1jb2xvcjogIzBGNTg5QTsgfVxuXG4uZm9vdG5vdGVzX2NhcmQgeyBtYXJnaW46IDEuNXJlbSAuNzVyZW07IHBhZGRpbmctbGVmdDogMjBweDsgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI0I5QjlCOTsgfVxuXG4uZm9vdG5vdGVzX2NhcmQ6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwcmVtOyB9XG5cbi5tb3JlX25ld3MgeyBiYWNrZ3JvdW5kOiAjRjRGNEY0OyBwYWRkaW5nOiAxOHB4IDI0cHg7IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4ubW9yZV9uZXdzIGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubW9yZV9uZXdzIGEsIC5tb3JlX25ld3MgcCwgLm1vcmVfbmV3cyAuc2hvdyB7IGNvbG9yOiAjMDQzMjYzOyB0cmFuc2l0aW9uOiBjb2xvciAwLjI1czsgfVxuXG4ubW9yZV9uZXdzIHAgeyBtYXJnaW46IDEuN3JlbSAwIDIuNXJlbTsgY29sb3I6ICM1MjUyNDU7IH1cblxuLm1vcmVfbmV3cyBzcGFuLmZhdXgtbGluayB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBmb250LXdlaWdodDogNTAwOyBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgVzAxXzY1IE1lZGl1bTE0NzU1MzJcIjsgfVxuXG4ubW9yZV9uZXdzIHNwYW4uZmF1eC1saW5rOmhvdmVyIHsgY29sb3I6ICNGREM0MDA7IHRyYW5zaXRpb246IGFsbCAwLjI1czsgfVxuXG4ubW9yZV9uZXdzIGg0LnNob3cgeyBmb250LXNpemU6IDIzcHg7IH1cblxuLm1vcmVfbmV3czpob3ZlciwgYS5tb3JlX25ld3MuYWN0aXZlLCBidXR0b24ubW9yZV9uZXdzLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICMwNDMyNjM7IH1cblxuLm1vcmVfbmV3czpob3ZlciBhLCBhLm1vcmVfbmV3cy5hY3RpdmUgYSwgYnV0dG9uLm1vcmVfbmV3cy5hY3RpdmUgYSwgLm1vcmVfbmV3czpob3ZlciBwLCBhLm1vcmVfbmV3cy5hY3RpdmUgcCwgYnV0dG9uLm1vcmVfbmV3cy5hY3RpdmUgcCwgLm1vcmVfbmV3czpob3ZlciAuc2hvdywgYS5tb3JlX25ld3MuYWN0aXZlIC5zaG93LCBidXR0b24ubW9yZV9uZXdzLmFjdGl2ZSAuc2hvdyB7IGNvbG9yOiAjRkZGOyB9XG5cbi5uZXdzX2F1dGhvcl9pbmZvIC5pbWdfd3JhcHBlciB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgaGVpZ2h0OiAxMDBweDsgd2lkdGg6IDEwMHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IG1hcmdpbjogMHB4IGF1dG8gMjBweCBhdXRvOyB9XG5cbi5oZWFkaW5nX190ZWFtIGgzIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5oZWFkaW5nX190ZWFtIGgzIHsgcGFkZGluZy1sZWZ0OiAyMHB4OyBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuLmhlYWRpbmdfX3RlYW0gYSB7IGZsb2F0OiByaWdodDsgfVxuXG4uY2FyZF9fdm90aW5nX3N0YXQgeyBwYWRkaW5nOiAyMHB4IDQwcHg7IH1cblxuLmNhcmRfX3ZvdGluZ19zdGF0IHAsIC5jYXJkX192b3Rpbmdfc3RhdCBoMiwgLmNhcmRfX3ZvdGluZ19zdGF0IGg0IHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uY2FyZF9fdm90aW5nX3N0YXQgLmJ1dHRvbiwgLmNhcmRfX3ZvdGluZ19zdGF0IGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC5jYXJkX192b3Rpbmdfc3RhdCBhIHsgbWFyZ2luOiAxMHB4IDBweCAwcHggMHB4OyB9XG5cbi5jYXJkX19wb3B1cCB7IHBhZGRpbmc6IDIwcHg7IGJvcmRlcjogMXB4IHNvbGlkICNFRkVERTE7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLmNhcmRfX3BvcHVwLmluZm9jYXJkIHsgYm9yZGVyLXRvcDogbm9uZTsgYm9yZGVyLXJpZ2h0OiBub25lOyBib3JkZXItYm90dG9tOiBub25lOyBwYWRkaW5nLXRvcDogMDsgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmNhcmRfX3BvcHVwLmluZm9jYXJkIC5pbmZvY2FyZC1jb250ZW50IHAgeyBmb250LXNpemU6IDEuMTI1cmVtOyBsaW5lLWhlaWdodDogMS41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5jYXJkX19wb3B1cC5pbmZvY2FyZCAuaW5mb2NhcmQtY29udGVudCBwIHsgZm9udC1zaXplOiAxLjVyZW07IGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyB9IH1cblxuLmNhcmRfX3BvcHVwLnBvcHVwX2NoZWNrIHsgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgIzIxQTY3QTsgfVxuXG4uY2FyZF9fcG9wdXAucG9wdXBfaW5mbyB7IGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICMwRjU4OUE7IH1cblxuLmNhcmRfX3BvcHVwLnBvcHVwX3dhcm5pbmcgeyBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjQ0UwMDNBOyB9XG5cbi5jYXJkX19wb3B1cCAucG9wdXBfY2xvc2UgeyBoZWlnaHQ6IDE1cHg7IHdpZHRoOiAxNXB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9jbG9zZS1wb3B1cC5zdmcpOyBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMTVweDsgcmlnaHQ6IDMwcHg7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLmNhcmRfX3BvcHVwIC5wb3B1cF9jbG9zZSB7IGJhY2tncm91bmQ6ICMwNDMyNjM7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9jbG9zZS1wb3B1cC5zdmcpOyBtYXNrLXNpemU6IDE1cHggMTVweDsgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG5cbi5jYXJkX19wb3B1cCAucG9wdXAtaWNvbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5jYXJkX19wb3B1cCAucG9wdXAtaWNvbiAuaWNvbl9jaGVjayB7IGhlaWdodDogMzBweDsgd2lkdGg6IDMwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL3BvcHVwLWNoZWNrLnN2Zyk7IGJhY2tncm91bmQtc2l6ZTogMzBweCAzMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmRfX3BvcHVwIC5wb3B1cC1pY29uIC5pY29uX2luZm8geyBoZWlnaHQ6IDMwcHg7IHdpZHRoOiAzMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9wb3B1cC1pbmZvLnN2Zyk7IGJhY2tncm91bmQtc2l6ZTogMzBweCAzMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmRfX3BvcHVwIC5wb3B1cC1pY29uIC5pY29uX3dhcm5pbmcgeyBoZWlnaHQ6IDMwcHg7IHdpZHRoOiAzMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7IGNvbnRlbnQ6IFwiXCI7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9wb3B1cC13YXJuaW5nLnN2Zyk7IGJhY2tncm91bmQtc2l6ZTogMzBweCAzMHB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmRfX3BvcHVwIC5wb3B1cC1jb250ZW50IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5jYXJkX19wb3B1cCAucG9wdXAtY29udGVudCBwIHsgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5jYXJkX19jYXJvdXNlbCB7IGRpc3BsYXk6IGluaXRpYWw7IH0gfVxuXG4uY2FyZF9fY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7IG1hcmdpbi1ib3R0b206IDUwcHg7IH1cblxuLmNhcmRfX2Nhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIgLm93bC1pdGVtIC5jYXJvdXNlbF90ZXh0IHsgcGFkZGluZzogNjBweCAyMHB4IDAgMjBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY2FyZF9fY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciAub3dsLWl0ZW0gLmNhcm91c2VsX3RleHQgeyBwYWRkaW5nOiA2MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgLmNhcmRfX2Nhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIgLm93bC1pdGVtIC5jYXJvdXNlbF9pbWcgeyBwYWRkaW5nLWxlZnQ6IDIwcHg7IHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuXG4uY2FyZF9fY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciAub3dsLWl0ZW0gLmNhcm91c2VsX2ltZyBpbWcgeyBvYmplY3QtZml0OiBjb3ZlcjsgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jYXJkX19jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIC5vd2wtaXRlbSBwIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY2FyZF9fY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciAub3dsLWl0ZW0gcCB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbi5jYXJkX19jYXJvdXNlbCAub3dsLWRvdHMgeyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAtNTBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuY2FyZF9fY2Fyb3VzZWwgLm93bC1kb3RzIHsgbWFyZ2luLXRvcDogMTBweDsgfSB9XG5cbi5jYXJkX19jYXJvdXNlbCAub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7IGJhY2tncm91bmQ6ICM3NjcxNzUgIWltcG9ydGFudDsgfVxuXG4uY2FyZF9fY2Fyb3VzZWwgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuIHsgYmFja2dyb3VuZDogI0ZEQzQwMCAhaW1wb3J0YW50OyB9XG5cbi5ibHVlX19iZyB7IGJhY2tncm91bmQtY29sb3I6ICMwRjU4OUE7IH1cblxuLmV2ZW50c19uYXZfcmVnaXN0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1ODlBOyBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuXG4uZXZlbnRzX25hdl9yZWdpc3RlciAuY2FyZCB7IGRpc3BsYXk6IGZsZXg7IG1hcmdpbjogYXV0bzsgfVxuXG4uZXZlbnRzX25hdl9yZWdpc3RlciAuY2FyZCBwIHsgcGFkZGluZzogMS4yZW0gMWVtOyBjb2xvcjogd2hpdGU7IG1hcmdpbjogMHB4OyB9XG5cbi5ldmVudHNfbmF2X3JlZ2lzdGVyIC5jYXJkIGEgeyBtYXJnaW46IDBweDsgaGVpZ2h0OiBmaXQtY29udGVudDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmV2ZW50c19uYXZfbGlua3MgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyOyBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuXG4uZXZlbnRzX25hdl9saW5rcyB1bCB7IG1hcmdpbjogMHB4OyBwYWRkaW5nOiAxLjJlbSAxZW07IH1cblxuLmV2ZW50c19uYXZfbGlua3MgdWwgbGkgeyBkaXNwbGF5OiBpbmxpbmU7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgd2hpdGU7IHBhZGRpbmc6IDBweCAwcHggNXB4IDEwcHg7IG1hcmdpbi1yaWdodDogMjBweDsgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uZXZlbnRzX25hdl9saW5rcyB1bCBsaTo6YmVmb3JlIHsgY29udGVudDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5ldmVudHNfbmF2X2xpbmtzIHVsIGxpIGEgeyBjb2xvcjogd2hpdGU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZXZlbnRzX2hlYWRpbmdfbGlua3MgeyBtYXJnaW46IDMwcHggMHB4OyB9XG5cbi5ldmVudHNfaGVhZGluZ19saW5rcyAuZXZlbnRzX2hlYWRpbmdfbGluayB7IHBhZGRpbmc6IDEwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB0cmFuc2l0aW9uOiBhbGwgMC41czsgfVxuXG4uZXZlbnRzX2hlYWRpbmdfbGlua3MgLmV2ZW50c19oZWFkaW5nX2xpbms6aG92ZXIsIC5ldmVudHNfaGVhZGluZ19saW5rcyBhLmV2ZW50c19oZWFkaW5nX2xpbmsuYWN0aXZlLCAuZXZlbnRzX2hlYWRpbmdfbGlua3MgYnV0dG9uLmV2ZW50c19oZWFkaW5nX2xpbmsuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogIzcwNzA3MDsgfVxuXG4uZXZlbnRzX2hlYWRpbmdfbGlua3MgLmV2ZW50c19oZWFkaW5nX2xpbms6aG92ZXIgYSwgLmV2ZW50c19oZWFkaW5nX2xpbmtzIGEuZXZlbnRzX2hlYWRpbmdfbGluay5hY3RpdmUgYSwgLmV2ZW50c19oZWFkaW5nX2xpbmtzIGJ1dHRvbi5ldmVudHNfaGVhZGluZ19saW5rLmFjdGl2ZSBhIHsgY29sb3I6ICNGRkY7IH1cblxuLmZlYXRoZXJsaWdodCAuZmVhdGhlcmxpZ2h0LWNvbnRlbnQgeyBtYXgtaGVpZ2h0OiA5NSU7IG1pbi1oZWlnaHQ6IDgwJTsgd2lkdGg6IDkwJTsgfVxuXG4uZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtY29udGVudCAuZmVhdGhlcmxpZ2h0LWlubmVyIHsgaGVpZ2h0OiA5NSU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDk1JTsgfVxuXG4uZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtY29udGVudCAuZmVhdGhlcmxpZ2h0LWlubmVyIC52aWRlby1ib3ggeyBoZWlnaHQ6IDk1JTsgfVxuXG4uZmVhdGhlcmxpZ2h0IC5mZWF0aGVybGlnaHQtY29udGVudCAuZmVhdGhlcmxpZ2h0LWlubmVyIC52aWRlby1ib3ggaWZyYW1lIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfVxuXG4uZHluYW1pYy1tb2R1bGUgLm92ZXJsYXktbGluayB7IHotaW5kZXg6IDk4OTsgfVxuXG4uZHluYW1pYy1tb2R1bGUgLmNlbGwgLmltYWdlX19wcmV2aWV3IGltZyB7IHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZS1pbi1vdXQ7IH1cblxuLmR5bmFtaWMtbW9kdWxlIC5jZWxsLmltYWdlLXdyYXAgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5keW5hbWljLW1vZHVsZSAuY2VsbC5pbWFnZS13cmFwIC5mZWF0dXJlZF9pbWcgeyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UtaW4tb3V0OyB9XG5cbi5keW5hbWljLW1vZHVsZSAuY2VsbC5mZWF0dXJlZF90ZXh0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIFZlcnRpY2FsIGFsaWdubWVudCAqLyBoZWlnaHQ6IDEwMCU7IC8qIE9wdGlvbmFsLCBkZXBlbmRzIG9uIHBhcmVudCBjb250ZXh0ICovIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogOTkwOyB9XG5cbi5keW5hbWljLW1vZHVsZSAuY2VsbDpob3ZlciAuZmVhdHVyZWRfaW1nLCAuZHluYW1pYy1tb2R1bGUgYS5jZWxsLmFjdGl2ZSAuZmVhdHVyZWRfaW1nLCAuZHluYW1pYy1tb2R1bGUgYnV0dG9uLmNlbGwuYWN0aXZlIC5mZWF0dXJlZF9pbWcgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cblxuLmR5bmFtaWMtbW9kdWxlIC5jZWxsOmhvdmVyIC5pbWFnZV9fcHJldmlldyBpbWcsIC5keW5hbWljLW1vZHVsZSBhLmNlbGwuYWN0aXZlIC5pbWFnZV9fcHJldmlldyBpbWcsIC5keW5hbWljLW1vZHVsZSBidXR0b24uY2VsbC5hY3RpdmUgLmltYWdlX19wcmV2aWV3IGltZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMSk7IH1cblxuLmR5bmFtaWMtbW9kdWxlIC5sYXJnZS0xMCAuY2VsbC5zbWFsbC01LmltYWdlLXdyYXAgaW1nIHsgbWluLWhlaWdodDogMTMwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmR5bmFtaWMtbW9kdWxlIC5sYXJnZS0xMCAuY2VsbC5zbWFsbC01LmltYWdlLXdyYXAgeyBtaW4taGVpZ2h0OiAzMDBweDsgfSB9XG5cbmJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgLmNhcmQuY2FyZF9fcHJldmlldyAudGV4dF9fd3JhcHBlciBoNSwgYm9keS5taWNyb3NpdGUubGlnaHQtYnJhbmQtY29sb3VycyAuY2FyZC5jYXJkX19wcmV2aWV3IC50ZXh0X193cmFwcGVyIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGJvZHkubWljcm9zaXRlLmxpZ2h0LWJyYW5kLWNvbG91cnMgLmNhcmQuY2FyZF9fcHJldmlldyAudGV4dF9fd3JhcHBlciBwLCBib2R5Lm1pY3Jvc2l0ZS5saWdodC1icmFuZC1jb2xvdXJzIC5jYXJkLmNhcmRfX3ByZXZpZXcgLnRleHRfX3dyYXBwZXIgcCB7IGNvbG9yOiBibGFjazsgfVxuXG5ib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLmNhcmQuY2FyZF9fcHJldmlldyAudGV4dF9fd3JhcHBlciBoNSwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIC5jYXJkLmNhcmRfX3ByZXZpZXcgLnRleHRfX3dyYXBwZXIgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcCwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIC5jYXJkLmNhcmRfX3ByZXZpZXcgLnRleHRfX3dyYXBwZXIgcCwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIC5jYXJkLmNhcmRfX3ByZXZpZXcgLnRleHRfX3dyYXBwZXIgcCB7IGNvbG9yOiBibGFjazsgfVxuXG5ib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLmNhcmQuY2FyZF9fcHJldmlldzpob3ZlciAudGV4dF9fd3JhcHBlciBoNSwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGEuY2FyZC5jYXJkX19wcmV2aWV3LmFjdGl2ZSAudGV4dF9fd3JhcHBlciBoNSwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGJ1dHRvbi5jYXJkLmNhcmRfX3ByZXZpZXcuYWN0aXZlIC50ZXh0X193cmFwcGVyIGg1LCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLmNhcmQuY2FyZF9fcHJldmlldzpob3ZlciAudGV4dF9fd3JhcHBlciBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwLCBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLmNhcmQuY2FyZF9fcHJldmlldzpob3ZlciAudGV4dF9fd3JhcHBlciBwLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgYS5jYXJkLmNhcmRfX3ByZXZpZXcuYWN0aXZlIC50ZXh0X193cmFwcGVyIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBhLmNhcmQuY2FyZF9fcHJldmlldy5hY3RpdmUgLnRleHRfX3dyYXBwZXIgcCwgYm9keS5taWNyb3NpdGUuZGFyay1icmFuZC1jb2xvdXJzIGJ1dHRvbi5jYXJkLmNhcmRfX3ByZXZpZXcuYWN0aXZlIC50ZXh0X193cmFwcGVyIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBidXR0b24uY2FyZC5jYXJkX19wcmV2aWV3LmFjdGl2ZSAudGV4dF9fd3JhcHBlciBwLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgLmNhcmQuY2FyZF9fcHJldmlldzpob3ZlciAudGV4dF9fd3JhcHBlciBwLCBib2R5Lm1pY3Jvc2l0ZS5kYXJrLWJyYW5kLWNvbG91cnMgYS5jYXJkLmNhcmRfX3ByZXZpZXcuYWN0aXZlIC50ZXh0X193cmFwcGVyIHAsIGJvZHkubWljcm9zaXRlLmRhcmstYnJhbmQtY29sb3VycyBidXR0b24uY2FyZC5jYXJkX19wcmV2aWV3LmFjdGl2ZSAudGV4dF9fd3JhcHBlciBwIHsgY29sb3I6IHdoaXRlOyB9XG5cbi5jYXJvdXNlbCB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQgIWltcG9ydGFudDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIgeyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIC5vd2wtc3RhZ2UgeyBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciAub3dsLXN0YWdlIC5pdGVtIHsgbWFyZ2luLWxlZnQ6IDEwcHg7IG1hcmdpbi1yaWdodDogMTBweDsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciAub3dsLXN0YWdlIC5pdGVtIHsgbWF4LXdpZHRoOiA0NjBweDsgfSB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciAub3dsLXN0YWdlIC5pdGVtIGEgeyBjb2xvcjogIzBGNTg5QTsgZm9udC1zaXplOiAxcmVtOyBmb250LXdlaWdodDogbm9ybWFsOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiAyMHB4OyBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzc2NzE3NTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIgLm93bC1zdGFnZSAuaXRlbSBhOmhvdmVyLCAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIgLm93bC1zdGFnZSAuaXRlbSBhLmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICMwNDMyNjM7IGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMDQzMjYzOyB9XG5cbi5maWx0ZXJzLCBhcnRpY2xlIC5vdGhlci10cmFuc2xhdGlvbnMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGNvbG9yOiAjRkZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1ODlBOyBib3JkZXItcmFkaXVzOiA1cHg7IG1hcmdpbi10b3A6IC02MHB4OyBwYWRkaW5nOiAwIDIwcHg7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xNXB4KTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZmlsdGVycywgYXJ0aWNsZSAub3RoZXItdHJhbnNsYXRpb25zIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7IG1hcmdpbi10b3A6IC04MHB4OyB9IH1cblxuLmZpbHRlcnMgc2VsZWN0LCBhcnRpY2xlIC5vdGhlci10cmFuc2xhdGlvbnMgc2VsZWN0IHsgY29sb3I6ICNGRkY7IGJvcmRlci1jb2xvcjogI0ZGRjsgbWFyZ2luOiAzMHB4IDA7IG1heC13aWR0aDogMjg1cHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ljb25zL2Rvd24tYXJyb3ctd2hpdGUuc3ZnXCIpOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMTBweDsgYmFja2dyb3VuZC1zaXplOiAxNHB4IDdweDsgYmFja2dyb3VuZC1jb2xvcjogIzBGNTg5QTsgfVxuXG4uZmlsdGVycyBzZWxlY3Qgb3B0aW9uLCBhcnRpY2xlIC5vdGhlci10cmFuc2xhdGlvbnMgc2VsZWN0IG9wdGlvbiB7IGJhY2tncm91bmQtY29sb3I6ICMwRjU4OUE7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmZpbHRlcnMgc2VsZWN0LCBhcnRpY2xlIC5vdGhlci10cmFuc2xhdGlvbnMgc2VsZWN0IHsgbWF4LXdpZHRoOiAzMDVweDsgfSB9XG5cbi5maWx0ZXJzOmVtcHR5LCBhcnRpY2xlIC5vdGhlci10cmFuc2xhdGlvbnM6ZW1wdHkgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyBtYXJnaW4tdG9wOiAwOyB9XG5cbi5zbWFsbC10d28tdXAgLmZpbHRlcnMsIC5zbWFsbC10d28tdXAgYXJ0aWNsZSAub3RoZXItdHJhbnNsYXRpb25zLCBhcnRpY2xlIC5zbWFsbC10d28tdXAgLm90aGVyLXRyYW5zbGF0aW9ucyB7IHRyYW5zZm9ybTogbm9uZTsgbWFyZ2luLXRvcDogLTUwcHg7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLyoqIEhlcm8gKi9cbi5oZXJvX19iYW5uZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTogY292ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAyMDBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuaGVyb19fYmFubmVyIHsgaGVpZ2h0OiAzMDBweDsgfSB9XG5cbi50aWVyX29uZSAudGV4dF9fYmcgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzMjYzOyB9XG5cbi50aWVyX29uZSAudGV4dF9fYmcgaDEsIC50aWVyX29uZSAudGV4dF9fYmcgaDIsIC50aWVyX29uZSAudGV4dF9fYmcgLnN1YmhlYWRpbmcsIC50aWVyX29uZSAudGV4dF9fYmcgcCwgLnRpZXJfb25lIC50ZXh0X19iZyBhOm5vdCguYnV0dG9uKSB7IGNvbG9yOiAjRkZGOyB9XG5cbi50aWVyX29uZSAudGV4dF9fYmcgYS5idXR0b24sIC50aWVyX29uZSAudGV4dF9fYmcgbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gLnRpZXJfb25lIC50ZXh0X19iZyBhIHsgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAudGllcl9vbmUgLnRleHRfX2JnIGEuYnV0dG9uLCAudGllcl9vbmUgLnRleHRfX2JnIGxpLmZhdXgtYnV0dG9uIGEsIGxpLmZhdXgtYnV0dG9uIC50aWVyX29uZSAudGV4dF9fYmcgYSB7IG1hcmdpbi1ib3R0b206IDBweDsgfSB9XG5cbi50aWVyX29uZSAudGV4dF9fYmcgYTpvbmx5LW9mLXR5cGUgeyBtYXJnaW46IDBweDsgfVxuXG4ub3ZlcmxhcF9fbWFyZ2luIC5jYXJkLmNhcmRfX3ByZXZpZXcgLmNhcmQtbGluayAudGV4dF9fd3JhcHBlciBoNTpob3ZlciwgLm92ZXJsYXBfX21hcmdpbiAuY2FyZC5jYXJkX19wcmV2aWV3IC5jYXJkLWxpbmsgLnRleHRfX3dyYXBwZXIgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgcDpob3Zlciwgc2VjdGlvbiAuZnJlZV90ZXh0IGJsb2NrcXVvdGUgLm92ZXJsYXBfX21hcmdpbiAuY2FyZC5jYXJkX19wcmV2aWV3IC5jYXJkLWxpbmsgLnRleHRfX3dyYXBwZXIgcDpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50aWVyX3R3byAuaGVyb19fYmFubmVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzA0MzI2MzsgbWluLWhlaWdodDogMzAwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnRpZXJfdHdvIC5oZXJvX19iYW5uZXIgeyBtaW4taGVpZ2h0OiB1bnNldDsgfSB9XG5cbi50aWVyX3R3byAuaGVyb19fb2Zmc2V0IHsgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMDsgfVxuXG4udGllcl90d28gLmhlcm9fX29mZnNldCBoMSwgLnRpZXJfdHdvIC5oZXJvX19vZmZzZXQgLmgxLCAudGllcl90d28gLmhlcm9fX29mZnNldCBoMiwgLnRpZXJfdHdvIC5oZXJvX19vZmZzZXQgLmgyIHsgYmFja2dyb3VuZDogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAudGllcl90aHJlZSB7IHBhZGRpbmctdG9wOiAxOTBweCAhaW1wb3J0YW50OyB9IH1cblxuLnRpZXJfdGhyZWUgLmNhcmQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyBwYWRkaW5nOiAyOHB4IDI0cHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnRpZXJfdGhyZWUgLmNhcmQgeyBwYWRkaW5nLWxlZnQ6IDIwcHg7IHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuXG4udGllcl9vbmUgLmNhcmQsIC50aWVyX3R3byAuY2FyZCwgLmhlcm8tZXZlbnQgLmNhcmQgeyBwYWRkaW5nOiAzMnB4IDIwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnRpZXJfb25lIC5jYXJkLCAudGllcl90d28gLmNhcmQsIC5oZXJvLWV2ZW50IC5jYXJkIHsgcGFkZGluZzogMzJweCA0MHB4OyB9IH1cblxuLnRpZXJfb25lIHAsIC50aWVyX3R3byBwLCAudGllcl90aHJlZSBwIHsgZm9udC1mYW1pbHk6ICdBdmVuaXIgTFQgVzAxXzU1IFJvbWFuMTQ3NTUyMCc7IG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLnRpZXJfdHdvIHAsIC50aWVyX3R3byAubGFyZ2VfaW50cm8gc3BhbiwgLnRpZXJfdGhyZWUgcCwgLnRpZXJfdGhyZWUgLmxhcmdlX2ludHJvIHNwYW4geyBmb250LXNpemU6IDEuMjVyZW07IGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyBsZXR0ZXItc3BhY2luZzogMDsgY29sb3I6ICMwNDMyNjM7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnRpZXJfdHdvIHAsIC50aWVyX3R3byAubGFyZ2VfaW50cm8gc3BhbiwgLnRpZXJfdGhyZWUgcCwgLnRpZXJfdGhyZWUgLmxhcmdlX2ludHJvIHNwYW4geyBmb250LXNpemU6IDEuMjVyZW07IGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG5cbi5oZXJvLWV2ZW50IHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgcGFkZGluZy1ib3R0b206IDQycHg7IH1cblxuLmhlcm8tZXZlbnQgLnNoYXJlIHsgbWFyZ2luOiAyM3B4IDA7IH1cblxuLmhlcm8tZXZlbnQgLmNvbnRlbnQgLmNlbGwgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOyB9XG5cbi5oZXJvLWV2ZW50IC5jb250ZW50IC5jb250ZW50LXRleHQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5oZXJvLWV2ZW50IC5jb250ZW50IC5jb250ZW50LXRleHQgLmhlcm9fX2J1dHRvbl9fd3JhcCB7IG1hcmdpbi10b3A6IGF1dG87IH1cblxuLmhlcm8tZXZlbnQgLmNvbnRlbnQgLmNvbnRlbnQtdGV4dCAuaGVyb19fYnV0dG9uX193cmFwIC5idXR0b24sIC5oZXJvLWV2ZW50IC5jb250ZW50IC5jb250ZW50LXRleHQgLmhlcm9fX2J1dHRvbl9fd3JhcCBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuaGVyby1ldmVudCAuY29udGVudCAuY29udGVudC10ZXh0IC5oZXJvX19idXR0b25fX3dyYXAgYSB7IGRpc3BsYXk6IHRhYmxlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5oZXJvLWV2ZW50IC5jb250ZW50IC5jb250ZW50LXRleHQgeyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH0gfVxuXG4uaGVyb19fb2Zmc2V0IHsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxMDA7IG1hcmdpbi10b3A6IC0yMDBweDsgbWluLWhlaWdodDogMjcwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmhlcm9fX29mZnNldCB7IG1hcmdpbi10b3A6IC0yNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5oZXJvX19vZmZzZXQgeyBtYXJnaW4tdG9wOiAtMjAwcHg7IH0gfVxuXG4uaGVyb190aWVyM19sYXJnZSB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLmhlcm9fdGllcjNfaW1nIHsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uaGVhZGVyNF92MiAuY2FwdGlvbiB7IGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBXMDFfODUgSGVhdnkxNDc1NTQ0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAwLjg3NXJlbTsgY29sb3I6ICMwNDMyNjM7IG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLmhlYWRlcjRfdjIgLmNhcHRpb24uZGF0ZTpiZWZvcmUgeyBtYXJnaW4tdG9wOiAwcHg7IH1cblxuLmhlYWRlcjRfdjIgaW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuXG4uaGVyb19fbWVkaWEgeyBwYWRkaW5nOiAxMDBweCAwcHg7IGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYmFja2dyb3VuZHMvcGxhY2Vob2xkZXIuanBnKTsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5oZXJvX19tZWRpYSAuYnV0dG9uLCAuaGVyb19fbWVkaWEgbGkuZmF1eC1idXR0b24gYSwgbGkuZmF1eC1idXR0b24gLmhlcm9fX21lZGlhIGEgeyB3aWR0aDogdW5zZXQgIWltcG9ydGFudDsgfVxuXG4uaGVyb19fbWVkaWEgLnlvdXR1YmVfX2J0biB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmhlcm9fX21lZGlhIC55b3V0dWJlX19idG4gYSB7IGRpc3BsYXk6IHRhYmxlOyBtYXJnaW46IDAgYXV0bzsgfVxuXG4uaGVyb19fbWVkaWEgLmxpZ2h0Ym94IHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpOyBvdmVyZmxvdzogc2Nyb2xsOyBwb3NpdGlvbjogZml4ZWQ7IGRpc3BsYXk6IG5vbmU7IHotaW5kZXg6IDE7IGJvdHRvbTogMDsgcmlnaHQ6IDA7IGxlZnQ6IDA7IHRvcDogMDsgfVxuXG4uaGVyb19fbWVkaWEgLmxpZ2h0Ym94IC5saWdodGJveC1jb250YWluZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG1heC13aWR0aDogOTYwcHg7IG1hcmdpbjogNyUgYXV0bzsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDAgMyU7IGhlaWdodDogYXV0bzsgei1pbmRleDogMTA7IH1cblxuLmhlcm9fX21lZGlhIC5saWdodGJveCAubGlnaHRib3gtY29udGFpbmVyIC5saWdodGJveC1jb250ZW50IHsgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuXG4uaGVyb19fbWVkaWEgLmxpZ2h0Ym94IC5saWdodGJveC1jb250YWluZXIgLmxpZ2h0Ym94LWNvbnRlbnQgLmxpZ2h0Ym94LWNsb3NlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgZm9udC13ZWlnaHQ6IDMwMDsgZm9udC1zaXplOiAxMnB4OyBkaXNwbGF5OiBibG9jazsgYm9yZGVyOiBub25lOyBjb2xvcjogd2hpdGU7IHRvcDogLTIycHg7IHJpZ2h0OiAzJTsgfVxuXG4uaGVyb19fbWVkaWEgLmxpZ2h0Ym94IC5saWdodGJveC1jb250YWluZXIgLmxpZ2h0Ym94LWNvbnRlbnQgLnZpZGVvLWNvbnRhaW5lciB7IHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy10b3A6IDMwcHg7IG92ZXJmbG93OiBoaWRkZW47IGhlaWdodDogMDsgfVxuXG4uaGVyb19fbWVkaWEgLmxpZ2h0Ym94IC5saWdodGJveC1jb250YWluZXIgLmxpZ2h0Ym94LWNvbnRlbnQgLnZpZGVvLWNvbnRhaW5lciBpZnJhbWUsIC5oZXJvX19tZWRpYSAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRhaW5lciAubGlnaHRib3gtY29udGVudCAudmlkZW8tY29udGFpbmVyIG9iamVjdCwgLmhlcm9fX21lZGlhIC5saWdodGJveCAubGlnaHRib3gtY29udGFpbmVyIC5saWdodGJveC1jb250ZW50IC52aWRlby1jb250YWluZXIgZW1iZWQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IGxlZnQ6IDA7IHRvcDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAuaGVyb19uZXdzX3ZlcnNpb24geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAuaGVyb19uZXdzX3ZlcnNpb24gLmhlYWRpbmdfbmV3cyB7IG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuXG4uaGVyb19uZXdzX3ZlcnNpb24gLmhlYWRpbmdfbmV3cyBwIHsgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5oZXJvX25ld3NfdmVyc2lvbiAuaGVhZGluZ19uZXdzIHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmhlcm9fbmV3c192ZXJzaW9uIC5uZXdzX3RhZ3MgLmNlbGwgeyBtYXJnaW46IDBweCAxMHB4IDIwcHggMHB4OyBwYWRkaW5nOiA1cHggMjBweDsgYmFja2dyb3VuZC1jb2xvcjogIzAwNEI3RTsgY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDE1cHg7IH1cblxuLmhlcm9fbmV3c192ZXJzaW9uIC5uZXdzX3RhZ3MgLmNlbGwgYSB7IGNvbG9yOiAjZmZmOyB9XG5cbi5oZXJvX25ld3NfdmVyc2lvbiAubmV3c19zdXBwb3J0ZXJzIC5ncmlkLXggeyBoZWlnaHQ6IDEwMCU7IH1cblxuLmhlcm9fbmV3c192ZXJzaW9uIC5uZXdzX3N1cHBvcnRlcnMgLmdyaWQteCAuY2VsbCB7IHBhZGRpbmc6IDBweCA1cHg7IG1hcmdpbjogMHB4IDBweCAxMHB4IDBweDsgfVxuXG4uaGVyb190aWVyNV9sYXJnZSAuaGVyb190ZXh0X2FyZWEgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhlcm9fdGllcjVfbGFyZ2UgLmhlcm9fdGV4dF9hcmVhIC5oZXJvX3RpdGxlX2FyZWEgeyBwYWRkaW5nOiAwcHggNTBweDsgbWluLWhlaWdodDogMTAwcHg7IH1cblxuLmhlcm9fdGllcjVfbGFyZ2UgLmhlcm9fdGV4dF9hcmVhIC5oZXJvX3RpdGxlX2FyZWEgaDQgeyBsaW5lLWhlaWdodDogNDVweDsgfVxuXG4uaGVyb190aWVyNV9sYXJnZSAuaGVyb190ZXh0X2FyZWEgLmhlcm9fdGl0bGVfYXJlYSAuc3ViaGVhZGluZyB7IHBhZGRpbmc6IDE1cHggMzBweDsgYmFja2dyb3VuZDogI0Q3RDdENzsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogMHB4OyB9XG5cbi5oZXJvX3RpZXI1X2xhcmdlIC5oZXJvX3RleHRfYXJlYSAuaGVyb19pbmZvX2FyZWEgeyBwYWRkaW5nOiAyMHB4IDUwcHggNTBweCA1MHB4OyBiYWNrZ3JvdW5kOiAjRDdEN0Q3OyB9XG5cbi5oZXJvX3RpZXI1X2xhcmdlIC5oZXJvX3RleHRfYXJlYSAuaGVyb19pbmZvX2FyZWEgaDU6OmJlZm9yZSwgLmhlcm9fdGllcjVfbGFyZ2UgLmhlcm9fdGV4dF9hcmVhIC5oZXJvX2luZm9fYXJlYSBzZWN0aW9uIC5mcmVlX3RleHQgYmxvY2txdW90ZSBwOjpiZWZvcmUsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC5oZXJvX3RpZXI1X2xhcmdlIC5oZXJvX3RleHRfYXJlYSAuaGVyb19pbmZvX2FyZWEgcDo6YmVmb3JlIHsgY29udGVudDogXCJcIjsgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Nsb2NrLWJsdWUucG5nKTsgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IHJpZ2h0OiAyMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDI1cHg7IH1cblxuLmhlcm9fdGllcjVfbGFyZ2UgLmhlcm9fdGV4dF9hcmVhIC5oZXJvX2luZm9fYXJlYSBwIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uaGVyb190aWVyNV9sYXJnZSAuaGVyb190ZXh0X2FyZWEgLmhlcm9faW5mb19hcmVhIC5oZXJvX2RhdGEgeyBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuLmhlcm9fdGllcjVfbGFyZ2UgLmhlcm9fdGh1bWJuYWlsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mYWN0c2hlZXRfYmFubmVyX2NvbnRhaW5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mYWN0c2hlZXRfYmFubmVyX2NvbnRhaW5lciAucHJpbnRfYnRuIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBwYWRkaW5nOiAxNXB4IDI1cHg7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMEY1ODlBOyBib3JkZXItcmFkaXVzOiA1cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDEycHg7IHRyYW5zaXRpb246IGFsbCAwLjNzOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5mYWN0c2hlZXRfYmFubmVyX2NvbnRhaW5lciAucHJpbnRfYnRuIHsgcmlnaHQ6IDEwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuZmFjdHNoZWV0X2Jhbm5lcl9jb250YWluZXIgLnByaW50X2J0bi5Ub2NfcHJpbnQgeyBib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZmFjdHNoZWV0X2Jhbm5lcl9jb250YWluZXIgLnByaW50X2J0biBpIHsgbWFyZ2luLWxlZnQ6IDVweDsgfSB9XG5cbi5mYWN0c2hlZXRfYmFubmVyX2NvbnRhaW5lciAucHJpbnRfYnRuOmhvdmVyLCAuZmFjdHNoZWV0X2Jhbm5lcl9jb250YWluZXIgYS5wcmludF9idG4uYWN0aXZlLCAuZmFjdHNoZWV0X2Jhbm5lcl9jb250YWluZXIgYnV0dG9uLnByaW50X2J0bi5hY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzMjYzOyB9XG5cbi5mYWN0c2hlZXRfYmFubmVyX2NvbnRhaW5lciAucHJpbnRfYnRuOmhvdmVyIGksIC5mYWN0c2hlZXRfYmFubmVyX2NvbnRhaW5lciBhLnByaW50X2J0bi5hY3RpdmUgaSwgLmZhY3RzaGVldF9iYW5uZXJfY29udGFpbmVyIGJ1dHRvbi5wcmludF9idG4uYWN0aXZlIGkgeyBjb2xvcjogI0ZEQzQwMDsgfVxuXG4uZmFjdHNoZWV0X2hlcm9fY29udGVudCB7IHBhZGRpbmctbGVmdDogNjBweCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHsgLmZhY3RzaGVldF9oZXJvX2NvbnRlbnQgeyBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfSB9XG5cbi5mZWF0aGVybGlnaHQgLmZlYXRoZXJsaWdodC1jbG9zZS1pY29uIHsgbWFyZ2luOiAyMHB4IDQwcHggMjBweCAwOyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5kZWNsYXJhdGlvbkludGVyZXN0cywgLnZpZGVvX2xpZ2h0Ym94IHsgZGlzcGxheTogbm9uZTsgfVxuXG4uZGVjbGFyYXRpb25JbnRlcmVzdHMgLmRlY2xhcmF0aW9uSGVhZGVyLCAuZGVjbGFyYXRpb25JbnRlcmVzdHMgLnZpZGVvLWJveCwgLnZpZGVvX2xpZ2h0Ym94IC5kZWNsYXJhdGlvbkhlYWRlciwgLnZpZGVvX2xpZ2h0Ym94IC52aWRlby1ib3ggeyBtYXJnaW4tdG9wOiA1MHB4OyB9XG5cbi5kZWNsYXJhdGlvbkludGVyZXN0cyB0YWJsZSwgLnZpZGVvX2xpZ2h0Ym94IHRhYmxlIHsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgYm9yZGVyOiAxcHggc29saWQgIzc2NzE3NTsgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4uZGVjbGFyYXRpb25JbnRlcmVzdHMgdGFibGUgdGQsIC5kZWNsYXJhdGlvbkludGVyZXN0cyB0YWJsZSB0aCwgLnZpZGVvX2xpZ2h0Ym94IHRhYmxlIHRkLCAudmlkZW9fbGlnaHRib3ggdGFibGUgdGggeyBwYWRkaW5nOiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAzMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjNzY3MTc1OyB9XG5cbiNtYXAgeyBoZWlnaHQ6IDUzMHB4OyB9XG5cbiNtYXAgYnV0dG9uOmFmdGVyIHsgY29udGVudDogbm9uZTsgfVxuXG4ubWFwLXdyYXAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm1hcC13cmFwIC5jYWxsb3V0LS1jb250YWN0IHsgcG9zaXRpb246IGFic29sdXRlOyBib3R0b206IDM2cHg7IGxlZnQ6IDUwJTsgd2lkdGg6IDEwMCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tYXAtd3JhcCAuY2FsbG91dC0tY29udGFjdCB7IHRvcDogNTAlOyBib3R0b206IGF1dG87IGZvbnQtc2l6ZTogMS4yNXJlbTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH0gfVxuXG4ubWFwLXdyYXAgLmNhbGxvdXQtLWNvbnRhY3QgLmNlbGwgeyBiYWNrZ3JvdW5kOiAjRkZGOyBwYWRkaW5nOiA0MHB4OyB9XG5cbi5tYXAtd3JhcCAuY2FsbG91dC0tY29udGFjdCBhZGRyZXNzIHsgZm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFcwMV81NSBSb21hbjE0NzU1MjBcIjsgZm9udC1zdHlsZTogbm9ybWFsOyBjb2xvcjogIzA0MzI2MzsgbWFyZ2luLWJvdHRvbTogMjhweDsgfVxuXG4vKiogU0VDVElPTiAgKi9cbnNlY3Rpb24geyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IHNlY3Rpb24geyBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgc2VjdGlvbiB7IG1hcmdpbi1ib3R0b206IDgwcHg7IH0gfVxuXG5zZWN0aW9uLnNlY3Rpb24tY29sbGFwc2UgeyBtYXJnaW46IDA7IH1cblxuc2VjdGlvbi5zZWN0aW9uLXNpZGViYXIgeyBtYXJnaW4tYm90dG9tOiAwOyBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG5zZWN0aW9uLnNlY3Rpb24tcHVsbHVwIHsgbWFyZ2luLXRvcDogLTMwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgc2VjdGlvbi5zZWN0aW9uLXB1bGx1cCB7IG1hcmdpbi10b3A6IC01MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgc2VjdGlvbi5zZWN0aW9uLXB1bGx1cCB7IG1hcmdpbi10b3A6IC04MHB4OyB9IH1cblxuc2VjdGlvbi5ncmV5QmcgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0OyB9XG5cbnNlY3Rpb24uZ3JleUJnIC5ncmlkLWNvbnRhaW5lciB7IHBhZGRpbmctdG9wOiA0MHB4OyBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuXG5zZWN0aW9uLmdyZXlCZyAuZ3JpZC1jb250YWluZXIucHVzaGRvd24td3JhcCB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IH1cblxuc2VjdGlvbi5ncmV5QmcgLmdyaWQtY29udGFpbmVyLnB1c2hkb3duLXdyYXAgLmFjY29yZGlvbl9fY2FyZCwgc2VjdGlvbi5ncmV5QmcgLmdyaWQtY29udGFpbmVyLnB1c2hkb3duLXdyYXAgLmFjY29yZGlvbi1jb250ZW50IHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuXG5zZWN0aW9uLmdyZXlCZyAuZ3JpZC1jb250YWluZXIudHJhbnNwYXJlbnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5zZWN0aW9uLmdyZXlCZyAuZ3JpZC1jb250YWluZXIudHJhbnNwYXJlbnQgLmdyaWQteCB7IGJhY2tncm91bmQtY29sb3I6ICMwRjU4OUE7IH1cblxuc2VjdGlvbi5ncmV5QmcgLmdyaWQtY29udGFpbmVyLnRyYW5zcGFyZW50IC5ncmlkLXgudHJhbnNwYXJlbnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5zZWN0aW9uLmdyZXlCZyAuZ3JpZC1jb250YWluZXIudHJhbnNwYXJlbnQgLmdyaWQteDpmaXJzdC1jaGlsZCB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbnNlY3Rpb24uZ3JleUJnIC5ncmlkLWNvbnRhaW5lci50cmFuc3BhcmVudCAuY2VsbCB7IGJhY2tncm91bmQtY29sb3I6ICMwRjU4OUE7IH1cblxuc2VjdGlvbi5ncmV5QmcgLmdyaWQtY29udGFpbmVyLnRyYW5zcGFyZW50IC5jZWxsLnRyYW5zcGFyZW50IHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuc2VjdGlvbi5ncmV5QmcgLmdyaWQtY29udGFpbmVyLnRyYW5zcGFyZW50IC5jZWxsLmlubmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuc2VjdGlvbi5ncmV5QmcgLmdyaWQtY29udGFpbmVyLnRyYW5zcGFyZW50IC5jZWxsLm1lZGl1bS01IHsgcGFkZGluZzogMjBweDsgfVxuXG5zZWN0aW9uLmdyZXlCZyAuZ3JpZC1jb250YWluZXIudHJhbnNwYXJlbnQgLmNlbGwud3JhcHBlciB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbnNlY3Rpb24uZ3JleUJnIC5ncmlkLWNvbnRhaW5lci50cmFuc3BhcmVudCAuY2VsbC53cmFwcGVyIC5idXR0b25fX2hhbGZoYWxmIC5idXR0b25fX3NpbXBsZSBhIHsgYmFja2dyb3VuZC1jb2xvcjogIzBGNTg5QTsgfVxuXG5zZWN0aW9uLmdyZXlCZyAuZ3JpZC1jb250YWluZXIudHJhbnNwYXJlbnQgLmNlbGwuY2FyZF9faGVhZGluZ19faW5uZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5zZWN0aW9uLmdyZXlCZyAuZ3JpZC1jb250YWluZXIgLmNhcmQuY2FyZF9fc2ltcGxlIHsgcGFkZGluZzogMjBweDsgfVxuXG5zZWN0aW9uLmFjY29yZGlvbkJnIHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuXG5zZWN0aW9uLmFjY29yZGlvbkJnIC5hY2NvcmRpb24sIHNlY3Rpb24uYWNjb3JkaW9uQmcgLmFjY29yZGlvbi1jb250ZW50IHsgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjRGNDsgfVxuXG5zZWN0aW9uLmxpc3RpbmdzIHsgYmFja2dyb3VuZDogI0Y0RjRGNDsgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cblxuc2VjdGlvbi5saXN0aW5ncy5oYXMtaGVhZGluZyB7IGJhY2tncm91bmQ6IG5vbmU7IH1cblxuc2VjdGlvbi5saXN0aW5ncy5oYXMtaGVhZGluZyAubGlzdGluZyB7IGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7IH1cblxuc2VjdGlvbi5saXN0aW5ncy5zdG9yaWVzIHsgcGFkZGluZy10b3A6IDQwcHg7IH1cblxuc2VjdGlvbi5saXN0aW5ncy5yaXNrLWZhY3RvcnMgeyBtYXJnaW4tdG9wOiAtODBweDsgbWFyZ2luLWJvdHRvbTogNzBweDsgcGFkZGluZy10b3A6IDQwcHg7IH1cblxuc2VjdGlvbi5mb3JtIHsgYmFja2dyb3VuZDogI0YwRjBGMDsgcGFkZGluZzogNDBweCAwOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgc2VjdGlvbi5mb3JtIHsgcGFkZGluZzogODBweCAwOyB9IH1cblxuc2VjdGlvbi5tYjAgeyBtYXJnaW4tYm90dG9tOiAwcHg7IH1cblxuQG1lZGlhIHByaW50IHsgLmZhY3RzaGVldC1jb250ZW50IC5tZWRpdW0tOCwgLmZhY3RzaGVldC1jb250ZW50IC5oZWFkaW5nLm1lZGl1bS04LCAuZmFjdHNoZWV0LWNvbnRlbnQgLmNhcmRfX2RldGFpbHMsIC5jYXJkLmNhcmRfX2hlYWRpbmcgLm1lZGl1bS04LCAuY2FyZC5jYXJkX19oZWFkaW5nIC5oZWFkaW5nLm1lZGl1bS04LCAuY2FyZC5jYXJkX19oZWFkaW5nIC5jYXJkX19kZXRhaWxzIHsgd2lkdGg6IDEwMCU7IGxlZnQ6IDAlOyB9XG4gIC5mYWN0c2hlZXQtY29udGVudCAuY2FyZF9fZGV0YWlscyB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IGxlZnQ6IDAlICFpbXBvcnRhbnQ7IH1cbiAgLmZhY3RzaGVldC1jb250ZW50IC5jYXJkX19kZXRhaWxzIC5idXR0b24sIC5mYWN0c2hlZXQtY29udGVudCAuY2FyZF9fZGV0YWlscyBsaS5mYXV4LWJ1dHRvbiBhLCBsaS5mYXV4LWJ1dHRvbiAuZmFjdHNoZWV0LWNvbnRlbnQgLmNhcmRfX2RldGFpbHMgYSB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmZhY3RzaGVldF9oZXJvX2NvbnRlbnQgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyBoZWlnaHQ6IDQ1dmg7IH1cbiAgLmRyb3Bkb3duX190YWJsZW9mY29udGVudCwgLmRyb3Bkb3duX190YWJsZW9mY29udGVudF9tb2JpbGUsICNjb29raWUtbGF3LWluZm8tYWdhaW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IG9wYWNpdHk6IDA7IH1cbiAgLmZhY3RzaGVldF9iYW5uZXJfY29udGFpbmVyIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgaGVpZ2h0OiA0NXZoOyB9XG4gIC5jYXJkX19mZWF0dXJlZF9fdGV4dCwgLmNhcmRfX2ZlYXR1cmVkIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbi8qKiBTSEFSRSAqL1xuLnNoYXJlIHsgbWFyZ2luOiAwIGF1dG87IH1cblxuLnNoYXJlIC5zaGFyZS0tdGl0bGUgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnNoYXJlIHVsLnNvY2lhbC0tbGlzdCB7IHBhZGRpbmc6IDA7IG1hcmdpbjogMDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBsaXN0LXN0eWxlOiBub25lOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5zaGFyZSB1bC5zb2NpYWwtLWxpc3QgbGkgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgd2lkdGg6IDIycHg7IGhlaWdodDogMjJweDsgYmFja2dyb3VuZDogIzA0MzI2MzsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5zaGFyZSB1bC5zb2NpYWwtLWxpc3QgbGkgYSB7IGRpc3BsYXk6IGZsZXg7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBjb2xvcjogI0ZGRjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBmb250LXNpemU6IDEycHg7IH1cblxuLyoqIFZJREVPICovXG4udmlkZW8gaDEsIC52aWRlbyBoMiwgLnZpZGVvIGgzLCAudmlkZW8gaDQsIC52aWRlbyBoNSwgLnZpZGVvIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIHAsIHNlY3Rpb24gLmZyZWVfdGV4dCBibG9ja3F1b3RlIC52aWRlbyBwLCAudmlkZW8gaDYsIC52aWRlbyAudXBkYXRlZCAuZGF0ZSwgLnVwZGF0ZWQgLnZpZGVvIC5kYXRlLCAudmlkZW8gLmgxLCAudmlkZW8gLmgyLCAudmlkZW8gLmgzLCAudmlkZW8gLmg0LCAudmlkZW8gLmg1LCAudmlkZW8gLmg2IHsgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4udmlkZW8udmlkZW9fX2VtYmVkIC52aWRlb19fd3JhcHBlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLyogMTY6OSAqLyBoZWlnaHQ6IDA7IG1hcmdpbi1ib3R0b206IDEycHg7IH1cblxuLnZpZGVvLnZpZGVvX19lbWJlZCAudmlkZW9fX3dyYXBwZXIgaWZyYW1lIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IH1cblxuLnZpZGVvLnZpZGVvX19lbWJlZCAudmlkZW9fX2ljb24geyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvdmlkZW8tcGxheWVyLWljb24uc3ZnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXIvMjhweCAxN3B4OyBtaW4taGVpZ2h0OiAxOHB4OyB9XG5cbkBzdXBwb3J0cyAobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7IC52aWRlby52aWRlb19fZW1iZWQgLnZpZGVvX19pY29uIHsgYmFja2dyb3VuZDogIzA0MzI2MzsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL3ZpZGVvLXBsYXllci1pY29uLnN2Zyk7IG1hc2stc2l6ZTogMjhweCAxN3B4OyBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyB9IH1cblxuLnZpZGVvLnZpZGVvX19lbWJlZCAudmlkZW9fX2ljb24uc291bmRjbG91ZCB7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9zb3VuZGNsb3VkLXBsYXllci1pY29uLnN2Zykgbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IDM0cHggMjdweDsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDM0cHg7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLnZpZGVvLnZpZGVvX19lbWJlZCAudmlkZW9fX2ljb24uc291bmRjbG91ZCB7IGJhY2tncm91bmQ6ICMwNDMyNjM7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9zb3VuZGNsb3VkLXBsYXllci1pY29uLnN2Zyk7IG1hc2stc2l6ZTogMzRweCAyN3B4OyBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyBtYXNrLXBvc2l0aW9uOiBjZW50ZXIgMzRweDsgfSB9XG5cbi52aWRlby52aWRlb19fZW1iZWQgLnZpZGVvLXRleHQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnZpZGVvLnZpZGVvX19lbWJlZCAudmlkZW9fX2Rlc2NyaXB0aW9uIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IG1hcmdpbi1ib3R0b206IDA7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLnZpZGVvLnZpZGVvX19lbWJlZCAudmlkZW9fX2luZm8geyBjb2xvcjogIzc2NzE3NTsgZm9udC1zaXplOiAwLjg3NXJlbTsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi52aWRlby52aWRlb19fZW1iZWQgLnZpZGVvX19pbmZvLnZpZGVvX190aW1lIHsgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG5cbi52aWRlby52aWRlb19fZW1iZWQgLnZpZGVvX19pbmZvLnZpZGVvX190aW1lOjpiZWZvcmUgeyBjb250ZW50OiBcIlwiOyB0b3A6IDUwJTsgbGVmdDogLTE1cHg7IGhlaWdodDogMjFweDsgd2lkdGg6IDIxcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy90aW1lLWljb24uc3ZnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXIvMjFweCAyMXB4OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLnZpZGVvLnZpZGVvX19lbWJlZCAudmlkZW9fX2luZm8udmlkZW9fX3RpbWU6OmJlZm9yZSB7IGJhY2tncm91bmQ6ICMwNDMyNjM7IG1hc2staW1hZ2U6IHVybCguLi9pY29ucy90aW1lLWljb24uc3ZnKTsgbWFzay1zaXplOiAyMXB4IDIxcHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IG1hc2stcG9zaXRpb246IGxlZnQgY2VudGVyOyB9IH1cblxuLnZpZGVvLnZpZGVvX19lbWJlZCAudmlkZW9fX2luZm8udmlld19fY291bnQgeyBtYXJnaW4tbGVmdDogMzBweDsgfVxuXG4udmlkZW8udmlkZW9fX2VtYmVkIC52aWRlb19tYXJnaW4geyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi52aWRlbyAudmlkZW9fX2Jhbm5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgaGVpZ2h0OiAwOyBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyBvdmVyZmxvdzogaGlkZGVuOyBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG5cbi52aWRlbyAudmlkZW9fX2Jhbm5lciBpbWcgeyB3aWR0aDogMTAwJTsgb2JqZWN0LWZpdDogY292ZXI7IG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4udmlkZW8gLnZpZGVvLWNvbnRhaW5lciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgaGVpZ2h0OiAwOyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi52aWRlbyAudmlkZW8tY29udGFpbmVyIGlmcmFtZSwgLnZpZGVvIC52aWRlby1jb250YWluZXIgb2JqZWN0LCAudmlkZW8gLnZpZGVvLWNvbnRhaW5lciBlbWJlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9XG5cbi52aWRlbyAucGxheWJ1dHRvbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IGJhY2tncm91bmQ6IHVybCguLi9pY29ucy92aWRlby1wbGF5LnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvNTBweCA1MHB4OyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB6LWluZGV4OiA5OTk7IH1cblxuQHN1cHBvcnRzIChtYXNrLWltYWdlOiB1cmwoXCJcIikpIHsgLnZpZGVvIC5wbGF5YnV0dG9uIHsgYmFja2dyb3VuZDogIzA0MzI2MzsgbWFzay1pbWFnZTogdXJsKC4uL2ljb25zL3ZpZGVvLXBsYXkuc3ZnKTsgbWFzay1zaXplOiA1MHB4IDUwcHg7IG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7IG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAudmlkZW8gLnBsYXlidXR0b24geyBiYWNrZ3JvdW5kLXNpemU6IDY1cHggNjVweDsgfSB9XG5cbi52aWRlbyAucGxheWJ1dHRvbjpob3ZlciwgLnZpZGVvIGEucGxheWJ1dHRvbi5hY3RpdmUsIC52aWRlbyBidXR0b24ucGxheWJ1dHRvbi5hY3RpdmUgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnZpZGVvIC5jbG9zZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgLm1lZGlhIC52aWRlb19fZW1iZWQgeyBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuLm1lZGlhIC52aWRlb19fZW1iZWQgLnZpZGVvX193cmFwcGVyIHsgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuXG4ubWVkaWEgLnZpZGVvX19lbWJlZCAudmlkZW9fX2luZm8udmlkZW9fX3RpbWUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm1lZGlhIC52aWRlb19fZW1iZWQgLnZpZGVvX19pbmZvLnZpZGVvX190aW1lOmJlZm9yZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgfVxuXG4uY2Mtd2luZG93IHsgb3BhY2l0eTogMTsgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2U7IHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZTsgfVxuXG4uY2Mtd2luZG93LmNjLWludmlzaWJsZSB7IG9wYWNpdHk6IDA7IH1cblxuLmNjLWFuaW1hdGUuY2MtcmV2b2tlIHsgLXdlYmtpdC10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgZWFzZTsgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAxcyBlYXNlOyB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAxcyBlYXNlOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgZWFzZTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGVhc2UsLXdlYmtpdC10cmFuc2Zvcm0gMXMgZWFzZTsgfVxuXG4uY2MtYW5pbWF0ZS5jYy1yZXZva2UuY2MtdG9wIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJlbSk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMmVtKTsgfVxuXG4uY2MtYW5pbWF0ZS5jYy1yZXZva2UuY2MtYm90dG9tIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMmVtKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJlbSk7IH1cblxuLmNjLWFuaW1hdGUuY2MtcmV2b2tlLmNjLWFjdGl2ZS5jYy10b3AgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5jYy1hbmltYXRlLmNjLXJldm9rZS5jYy1hY3RpdmUuY2MtYm90dG9tIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uY2MtcmV2b2tlOmhvdmVyLCBhLmNjLXJldm9rZS5hY3RpdmUsIGJ1dHRvbi5jYy1yZXZva2UuYWN0aXZlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uY2MtZ3Jvd2VyIHsgbWF4LWhlaWdodDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgLXdlYmtpdC10cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDFzOyB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDFzOyB9XG5cbi5jYy1yZXZva2UsIC5jYy13aW5kb3cgeyBwb3NpdGlvbjogZml4ZWQ7IG92ZXJmbG93OiBoaWRkZW47IC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1mYW1pbHk6IEhlbHZldGljYSxDYWxpYnJpLEFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTZweDsgbGluZS1oZWlnaHQ6IDEuNWVtOyBkaXNwbGF5OiAtd2Via2l0LWJveDsgZGlzcGxheTogLW1zLWZsZXhib3g7IGRpc3BsYXk6IGZsZXg7IC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsgZmxleC13cmFwOiBub3dyYXA7IHotaW5kZXg6IDk5OTk7IH1cblxuLmNjLXdpbmRvdy5jYy1zdGF0aWMgeyBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5jYy13aW5kb3cuY2MtZmxvYXRpbmcgeyBwYWRkaW5nOiAyZW07IG1heC13aWR0aDogMjRlbTsgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7IC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5jYy13aW5kb3cuY2MtYmFubmVyIHsgcGFkZGluZzogMWVtIDEuOGVtOyB3aWR0aDogMTAwJTsgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsOyAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDsgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmNjLXJldm9rZSB7IHBhZGRpbmc6IC41ZW07IH1cblxuLmNjLXJldm9rZTpob3ZlciwgYS5jYy1yZXZva2UuYWN0aXZlLCBidXR0b24uY2MtcmV2b2tlLmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jYy1oZWFkZXIgeyBmb250LXNpemU6IDE4cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNjLWJ0biwgLmNjLWNsb3NlLCAuY2MtbGluaywgLmNjLXJldm9rZSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uY2MtbGluayB7IG9wYWNpdHk6IC44OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IC4yZW07IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jYy1saW5rOmhvdmVyLCBhLmNjLWxpbmsuYWN0aXZlLCBidXR0b24uY2MtbGluay5hY3RpdmUgeyBvcGFjaXR5OiAxOyB9XG5cbi5jYy1saW5rOmFjdGl2ZSwgLmNjLWxpbms6dmlzaXRlZCB7IGNvbG9yOiBpbml0aWFsOyB9XG5cbi5jYy1idG4geyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogLjRlbSAuOGVtOyBmb250LXNpemU6IC45ZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGJvcmRlci13aWR0aDogMnB4OyBib3JkZXItc3R5bGU6IHNvbGlkOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmNjLWhpZ2hsaWdodCAuY2MtYnRuOmZpcnN0LWNoaWxkIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmNjLWhpZ2hsaWdodCAuY2MtYnRuOmZpcnN0LWNoaWxkOmZvY3VzLCAuY2MtaGlnaGxpZ2h0IC5jYy1idG46Zmlyc3QtY2hpbGQ6aG92ZXIsIC5jYy1oaWdobGlnaHQgYS5jYy1idG4uYWN0aXZlOmZpcnN0LWNoaWxkLCAuY2MtaGlnaGxpZ2h0IGJ1dHRvbi5jYy1idG4uYWN0aXZlOmZpcnN0LWNoaWxkIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jYy1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLjVlbTsgcmlnaHQ6IC41ZW07IGZvbnQtc2l6ZTogMS42ZW07IG9wYWNpdHk6IC45OyBsaW5lLWhlaWdodDogLjc1OyB9XG5cbi5jYy1jbG9zZTpmb2N1cywgLmNjLWNsb3NlOmhvdmVyLCBhLmNjLWNsb3NlLmFjdGl2ZSwgYnV0dG9uLmNjLWNsb3NlLmFjdGl2ZSB7IG9wYWNpdHk6IDE7IH1cblxuLmNjLXJldm9rZS5jYy10b3AgeyB0b3A6IDA7IGxlZnQ6IDNlbTsgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjVlbTsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC41ZW07IH1cblxuLmNjLXJldm9rZS5jYy1ib3R0b20geyBib3R0b206IDA7IGxlZnQ6IDNlbTsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjVlbTsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IC41ZW07IH1cblxuLmNjLXJldm9rZS5jYy1sZWZ0IHsgbGVmdDogM2VtOyByaWdodDogdW5zZXQ7IH1cblxuLmNjLXJldm9rZS5jYy1yaWdodCB7IHJpZ2h0OiAzZW07IGxlZnQ6IHVuc2V0OyB9XG5cbi5jYy10b3AgeyB0b3A6IDFlbTsgfVxuXG4uY2MtbGVmdCB7IGxlZnQ6IDFlbTsgfVxuXG4uY2MtcmlnaHQgeyByaWdodDogMWVtOyB9XG5cbi5jYy1ib3R0b20geyBib3R0b206IDFlbTsgfVxuXG4uY2MtZmxvYXRpbmcgPiAuY2MtbGluayB7IG1hcmdpbi1ib3R0b206IDFlbTsgfVxuXG4uY2MtZmxvYXRpbmcgLmNjLW1lc3NhZ2UgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi5jYy13aW5kb3cuY2MtZmxvYXRpbmcgLmNjLWNvbXBsaWFuY2UgeyAtd2Via2l0LWJveC1mbGV4OiAxOyAtbXMtZmxleDogMSAwIGF1dG87IGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5jYy13aW5kb3cuY2MtYmFubmVyIHsgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uY2MtYmFubmVyLmNjLXRvcCB7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB0b3A6IDA7IH1cblxuLmNjLWJhbm5lci5jYy1ib3R0b20geyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwOyB9XG5cbi5jYy1iYW5uZXIgLmNjLW1lc3NhZ2UgeyBkaXNwbGF5OiBibG9jazsgLXdlYmtpdC1ib3gtZmxleDogMTsgLW1zLWZsZXg6IDEgMSBhdXRvOyBmbGV4OiAxIDEgYXV0bzsgbWF4LXdpZHRoOiAxMDAlOyBtYXJnaW4tcmlnaHQ6IDFlbTsgfVxuXG4uY2MtY29tcGxpYW5jZSB7IGRpc3BsYXk6IC13ZWJraXQtYm94OyBkaXNwbGF5OiAtbXMtZmxleGJveDsgZGlzcGxheTogZmxleDsgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5OyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5jYy1mbG9hdGluZyAuY2MtY29tcGxpYW5jZSA+IC5jYy1idG4geyAtd2Via2l0LWJveC1mbGV4OiAxOyAtbXMtZmxleDogMTsgZmxleDogMTsgfVxuXG4uY2MtYnRuICsgLmNjLWJ0biB7IG1hcmdpbi1sZWZ0OiAuNWVtOyB9XG5cbkBtZWRpYSBwcmludCB7IC5jYy1yZXZva2UsIC5jYy13aW5kb3cgeyBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHsgLmNjLWJ0biB7IHdoaXRlLXNwYWNlOiBub3JtYWw7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpLCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczNnB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHsgLmNjLXdpbmRvdy5jYy10b3AgeyB0b3A6IDA7IH1cbiAgLmNjLXdpbmRvdy5jYy1ib3R0b20geyBib3R0b206IDA7IH1cbiAgLmNjLXdpbmRvdy5jYy1iYW5uZXIsIC5jYy13aW5kb3cuY2MtZmxvYXRpbmcsIC5jYy13aW5kb3cuY2MtbGVmdCwgLmNjLXdpbmRvdy5jYy1yaWdodCB7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB9XG4gIC5jYy13aW5kb3cuY2MtYmFubmVyIHsgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7IC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5jYy13aW5kb3cuY2MtYmFubmVyIC5jYy1jb21wbGlhbmNlIHsgLXdlYmtpdC1ib3gtZmxleDogMTsgLW1zLWZsZXg6IDEgMSBhdXRvOyBmbGV4OiAxIDEgYXV0bzsgfVxuICAuY2Mtd2luZG93LmNjLWZsb2F0aW5nIHsgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5jYy13aW5kb3cgLmNjLW1lc3NhZ2UgeyBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLmNjLXdpbmRvdy5jYy1iYW5uZXIgeyAtd2Via2l0LWJveC1hbGlnbjogdW5zZXQ7IC1tcy1mbGV4LWFsaWduOiB1bnNldDsgYWxpZ24taXRlbXM6IHVuc2V0OyB9XG4gIC5jYy13aW5kb3cuY2MtYmFubmVyIC5jYy1tZXNzYWdlIHsgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNjLWZsb2F0aW5nLmNjLXRoZW1lLWNsYXNzaWMgeyBwYWRkaW5nOiAxLjJlbTsgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5jYy1mbG9hdGluZy5jYy10eXBlLWluZm8uY2MtdGhlbWUtY2xhc3NpYyAuY2MtY29tcGxpYW5jZSB7IHRleHQtYWxpZ246IGNlbnRlcjsgZGlzcGxheTogaW5saW5lOyAtd2Via2l0LWJveC1mbGV4OiAwOyAtbXMtZmxleDogbm9uZTsgZmxleDogbm9uZTsgfVxuXG4uY2MtdGhlbWUtY2xhc3NpYyAuY2MtYnRuIHsgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbi5jYy10aGVtZS1jbGFzc2ljIC5jYy1idG46bGFzdC1jaGlsZCB7IG1pbi13aWR0aDogMTQwcHg7IH1cblxuLmNjLWZsb2F0aW5nLmNjLXR5cGUtaW5mby5jYy10aGVtZS1jbGFzc2ljIC5jYy1idG4geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmNjLXRoZW1lLWVkZ2VsZXNzLmNjLXdpbmRvdyB7IHBhZGRpbmc6IDA7IH1cblxuLmNjLWZsb2F0aW5nLmNjLXRoZW1lLWVkZ2VsZXNzIC5jYy1tZXNzYWdlIHsgbWFyZ2luOiAyZW07IG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG5cbi5jYy1iYW5uZXIuY2MtdGhlbWUtZWRnZWxlc3MgLmNjLWJ0biB7IG1hcmdpbjogMDsgcGFkZGluZzogLjhlbSAxLjhlbTsgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jYy1iYW5uZXIuY2MtdGhlbWUtZWRnZWxlc3MgLmNjLW1lc3NhZ2UgeyBtYXJnaW4tbGVmdDogMWVtOyB9XG5cbi5jYy1mbG9hdGluZy5jYy10aGVtZS1lZGdlbGVzcyAuY2MtYnRuICsgLmNjLWJ0biB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4iLCIvKiFcbiAqICBGb250IEF3ZXNvbWUgNC43LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZVxuICogIExpY2Vuc2UgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8vbGljZW5zZSAoRm9udDogU0lMIE9GTCAxLjEsIENTUzogTUlUIExpY2Vuc2UpXG4gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcInBhdGhcIjtcbkBpbXBvcnQgXCJjb3JlXCI7XG5AaW1wb3J0IFwibGFyZ2VyXCI7XG5AaW1wb3J0IFwiZml4ZWQtd2lkdGhcIjtcbkBpbXBvcnQgXCJsaXN0XCI7XG5AaW1wb3J0IFwiYm9yZGVyZWQtcHVsbGVkXCI7XG5AaW1wb3J0IFwiYW5pbWF0ZWRcIjtcbkBpbXBvcnQgXCJyb3RhdGVkLWZsaXBwZWRcIjtcbkBpbXBvcnQgXCJzdGFja2VkXCI7XG5AaW1wb3J0IFwiaWNvbnNcIjtcbkBpbXBvcnQgXCJzY3JlZW4tcmVhZGVyXCI7XG4iLCIvKiBGT05UIFBBVEhcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj0jeyRmYS12ZXJzaW9ufScpO1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmMj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmY/dj0jeyRmYS12ZXJzaW9ufScpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PSN7JGZhLXZlcnNpb259JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mb250YXdlc29tZS13ZWJmb250LnN2Zz92PSN7JGZhLXZlcnNpb259I2ZvbnRhd2Vzb21lcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4vLyAgc3JjOiB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vRm9udEF3ZXNvbWUub3RmJykgZm9ybWF0KCdvcGVudHlwZScpOyAvLyB1c2VkIHdoZW4gZGV2ZWxvcGluZyBmb250c1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4iLCIvLyBCYXNlIENsYXNzIERlZmluaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAjeyRmYS1mb250LXNpemUtYmFzZX0vI3skZmEtbGluZS1oZWlnaHQtYmFzZX0gRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG59XG4iLCIvLyBJY29uIFNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qIG1ha2VzIHRoZSBmb250IDMzJSBsYXJnZXIgcmVsYXRpdmUgdG8gdGhlIGljb24gY29udGFpbmVyICovXG4uI3skZmEtY3NzLXByZWZpeH0tbGcge1xuICBmb250LXNpemU6ICg0ZW0gLyAzKTtcbiAgbGluZS1oZWlnaHQ6ICgzZW0gLyA0KTtcbiAgdmVydGljYWwtYWxpZ246IC0xNSU7XG59XG4uI3skZmEtY3NzLXByZWZpeH0tMnggeyBmb250LXNpemU6IDJlbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LTN4IHsgZm9udC1zaXplOiAzZW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS00eCB7IGZvbnQtc2l6ZTogNGVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tNXggeyBmb250LXNpemU6IDVlbTsgfVxuIiwiLy8gRml4ZWQgV2lkdGggSWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi4jeyRmYS1jc3MtcHJlZml4fS1mdyB7XG4gIHdpZHRoOiAoMThlbSAvIDE0KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy8gTGlzdCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAkZmEtbGktd2lkdGg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgPiBsaSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxufVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtJGZhLWxpLXdpZHRoO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICB0b3A6ICgyZW0gLyAxNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJi4jeyRmYS1jc3MtcHJlZml4fS1sZyB7XG4gICAgbGVmdDogLSRmYS1saS13aWR0aCArICg0ZW0gLyAxNCk7XG4gIH1cbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZhLWZvbnQtcGF0aDogICAgICAgIFwiLi4vZm9udHNcIiAhZGVmYXVsdDtcbiRmYS1mb250LXNpemUtYmFzZTogICAxNHB4ICFkZWZhdWx0O1xuJGZhLWxpbmUtaGVpZ2h0LWJhc2U6IDEgIWRlZmF1bHQ7XG4vLyRmYS1mb250LXBhdGg6ICAgICAgICBcIi8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2ZvbnRzXCIgIWRlZmF1bHQ7IC8vIGZvciByZWZlcmVuY2luZyBCb290c3RyYXAgQ0ROIGZvbnQgZmlsZXMgZGlyZWN0bHlcbiRmYS1jc3MtcHJlZml4OiAgICAgICBmYSAhZGVmYXVsdDtcbiRmYS12ZXJzaW9uOiAgICAgICAgICBcIjQuNy4wXCIgIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLWNvbG9yOiAgICAgI2VlZSAhZGVmYXVsdDtcbiRmYS1pbnZlcnNlOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGZhLWxpLXdpZHRoOiAgICAgICAgICgzMGVtIC8gMTQpICFkZWZhdWx0O1xuXG4kZmEtdmFyLTUwMHB4OiBcIlxcZjI2ZVwiO1xuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFwiXFxmMmI5XCI7XG4kZmEtdmFyLWFkZHJlc3MtYm9vay1vOiBcIlxcZjJiYVwiO1xuJGZhLXZhci1hZGRyZXNzLWNhcmQ6IFwiXFxmMmJiXCI7XG4kZmEtdmFyLWFkZHJlc3MtY2FyZC1vOiBcIlxcZjJiY1wiO1xuJGZhLXZhci1hZGp1c3Q6IFwiXFxmMDQyXCI7XG4kZmEtdmFyLWFkbjogXCJcXGYxNzBcIjtcbiRmYS12YXItYWxpZ24tY2VudGVyOiBcIlxcZjAzN1wiO1xuJGZhLXZhci1hbGlnbi1qdXN0aWZ5OiBcIlxcZjAzOVwiO1xuJGZhLXZhci1hbGlnbi1sZWZ0OiBcIlxcZjAzNlwiO1xuJGZhLXZhci1hbGlnbi1yaWdodDogXCJcXGYwMzhcIjtcbiRmYS12YXItYW1hem9uOiBcIlxcZjI3MFwiO1xuJGZhLXZhci1hbWJ1bGFuY2U6IFwiXFxmMGY5XCI7XG4kZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcIlxcZjJhM1wiO1xuJGZhLXZhci1hbmNob3I6IFwiXFxmMTNkXCI7XG4kZmEtdmFyLWFuZHJvaWQ6IFwiXFxmMTdiXCI7XG4kZmEtdmFyLWFuZ2VsbGlzdDogXCJcXGYyMDlcIjtcbiRmYS12YXItYW5nbGUtZG91YmxlLWRvd246IFwiXFxmMTAzXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OiBcIlxcZjEwMFwiO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFwiXFxmMTAxXCI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXCJcXGYxMDJcIjtcbiRmYS12YXItYW5nbGUtZG93bjogXCJcXGYxMDdcIjtcbiRmYS12YXItYW5nbGUtbGVmdDogXCJcXGYxMDRcIjtcbiRmYS12YXItYW5nbGUtcmlnaHQ6IFwiXFxmMTA1XCI7XG4kZmEtdmFyLWFuZ2xlLXVwOiBcIlxcZjEwNlwiO1xuJGZhLXZhci1hcHBsZTogXCJcXGYxNzlcIjtcbiRmYS12YXItYXJjaGl2ZTogXCJcXGYxODdcIjtcbiRmYS12YXItYXJlYS1jaGFydDogXCJcXGYxZmVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFwiXFxmMGFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OiBcIlxcZjBhOFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1kb3duOiBcIlxcZjAxYVwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1sZWZ0OiBcIlxcZjE5MFwiO1xuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1yaWdodDogXCJcXGYxOGVcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tdXA6IFwiXFxmMDFiXCI7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDogXCJcXGYwYTlcIjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXVwOiBcIlxcZjBhYVwiO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcIlxcZjA2M1wiO1xuJGZhLXZhci1hcnJvdy1sZWZ0OiBcIlxcZjA2MFwiO1xuJGZhLXZhci1hcnJvdy1yaWdodDogXCJcXGYwNjFcIjtcbiRmYS12YXItYXJyb3ctdXA6IFwiXFxmMDYyXCI7XG4kZmEtdmFyLWFycm93czogXCJcXGYwNDdcIjtcbiRmYS12YXItYXJyb3dzLWFsdDogXCJcXGYwYjJcIjtcbiRmYS12YXItYXJyb3dzLWg6IFwiXFxmMDdlXCI7XG4kZmEtdmFyLWFycm93cy12OiBcIlxcZjA3ZFwiO1xuJGZhLXZhci1hc2wtaW50ZXJwcmV0aW5nOiBcIlxcZjJhM1wiO1xuJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6IFwiXFxmMmEyXCI7XG4kZmEtdmFyLWFzdGVyaXNrOiBcIlxcZjA2OVwiO1xuJGZhLXZhci1hdDogXCJcXGYxZmFcIjtcbiRmYS12YXItYXVkaW8tZGVzY3JpcHRpb246IFwiXFxmMjllXCI7XG4kZmEtdmFyLWF1dG9tb2JpbGU6IFwiXFxmMWI5XCI7XG4kZmEtdmFyLWJhY2t3YXJkOiBcIlxcZjA0YVwiO1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlOiBcIlxcZjI0ZVwiO1xuJGZhLXZhci1iYW46IFwiXFxmMDVlXCI7XG4kZmEtdmFyLWJhbmRjYW1wOiBcIlxcZjJkNVwiO1xuJGZhLXZhci1iYW5rOiBcIlxcZjE5Y1wiO1xuJGZhLXZhci1iYXItY2hhcnQ6IFwiXFxmMDgwXCI7XG4kZmEtdmFyLWJhci1jaGFydC1vOiBcIlxcZjA4MFwiO1xuJGZhLXZhci1iYXJjb2RlOiBcIlxcZjAyYVwiO1xuJGZhLXZhci1iYXJzOiBcIlxcZjBjOVwiO1xuJGZhLXZhci1iYXRoOiBcIlxcZjJjZFwiO1xuJGZhLXZhci1iYXRodHViOiBcIlxcZjJjZFwiO1xuJGZhLXZhci1iYXR0ZXJ5OiBcIlxcZjI0MFwiO1xuJGZhLXZhci1iYXR0ZXJ5LTA6IFwiXFxmMjQ0XCI7XG4kZmEtdmFyLWJhdHRlcnktMTogXCJcXGYyNDNcIjtcbiRmYS12YXItYmF0dGVyeS0yOiBcIlxcZjI0MlwiO1xuJGZhLXZhci1iYXR0ZXJ5LTM6IFwiXFxmMjQxXCI7XG4kZmEtdmFyLWJhdHRlcnktNDogXCJcXGYyNDBcIjtcbiRmYS12YXItYmF0dGVyeS1lbXB0eTogXCJcXGYyNDRcIjtcbiRmYS12YXItYmF0dGVyeS1mdWxsOiBcIlxcZjI0MFwiO1xuJGZhLXZhci1iYXR0ZXJ5LWhhbGY6IFwiXFxmMjQyXCI7XG4kZmEtdmFyLWJhdHRlcnktcXVhcnRlcjogXCJcXGYyNDNcIjtcbiRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVyczogXCJcXGYyNDFcIjtcbiRmYS12YXItYmVkOiBcIlxcZjIzNlwiO1xuJGZhLXZhci1iZWVyOiBcIlxcZjBmY1wiO1xuJGZhLXZhci1iZWhhbmNlOiBcIlxcZjFiNFwiO1xuJGZhLXZhci1iZWhhbmNlLXNxdWFyZTogXCJcXGYxYjVcIjtcbiRmYS12YXItYmVsbDogXCJcXGYwZjNcIjtcbiRmYS12YXItYmVsbC1vOiBcIlxcZjBhMlwiO1xuJGZhLXZhci1iZWxsLXNsYXNoOiBcIlxcZjFmNlwiO1xuJGZhLXZhci1iZWxsLXNsYXNoLW86IFwiXFxmMWY3XCI7XG4kZmEtdmFyLWJpY3ljbGU6IFwiXFxmMjA2XCI7XG4kZmEtdmFyLWJpbm9jdWxhcnM6IFwiXFxmMWU1XCI7XG4kZmEtdmFyLWJpcnRoZGF5LWNha2U6IFwiXFxmMWZkXCI7XG4kZmEtdmFyLWJpdGJ1Y2tldDogXCJcXGYxNzFcIjtcbiRmYS12YXItYml0YnVja2V0LXNxdWFyZTogXCJcXGYxNzJcIjtcbiRmYS12YXItYml0Y29pbjogXCJcXGYxNWFcIjtcbiRmYS12YXItYmxhY2stdGllOiBcIlxcZjI3ZVwiO1xuJGZhLXZhci1ibGluZDogXCJcXGYyOWRcIjtcbiRmYS12YXItYmx1ZXRvb3RoOiBcIlxcZjI5M1wiO1xuJGZhLXZhci1ibHVldG9vdGgtYjogXCJcXGYyOTRcIjtcbiRmYS12YXItYm9sZDogXCJcXGYwMzJcIjtcbiRmYS12YXItYm9sdDogXCJcXGYwZTdcIjtcbiRmYS12YXItYm9tYjogXCJcXGYxZTJcIjtcbiRmYS12YXItYm9vazogXCJcXGYwMmRcIjtcbiRmYS12YXItYm9va21hcms6IFwiXFxmMDJlXCI7XG4kZmEtdmFyLWJvb2ttYXJrLW86IFwiXFxmMDk3XCI7XG4kZmEtdmFyLWJyYWlsbGU6IFwiXFxmMmExXCI7XG4kZmEtdmFyLWJyaWVmY2FzZTogXCJcXGYwYjFcIjtcbiRmYS12YXItYnRjOiBcIlxcZjE1YVwiO1xuJGZhLXZhci1idWc6IFwiXFxmMTg4XCI7XG4kZmEtdmFyLWJ1aWxkaW5nOiBcIlxcZjFhZFwiO1xuJGZhLXZhci1idWlsZGluZy1vOiBcIlxcZjBmN1wiO1xuJGZhLXZhci1idWxsaG9ybjogXCJcXGYwYTFcIjtcbiRmYS12YXItYnVsbHNleWU6IFwiXFxmMTQwXCI7XG4kZmEtdmFyLWJ1czogXCJcXGYyMDdcIjtcbiRmYS12YXItYnV5c2VsbGFkczogXCJcXGYyMGRcIjtcbiRmYS12YXItY2FiOiBcIlxcZjFiYVwiO1xuJGZhLXZhci1jYWxjdWxhdG9yOiBcIlxcZjFlY1wiO1xuJGZhLXZhci1jYWxlbmRhcjogXCJcXGYwNzNcIjtcbiRmYS12YXItY2FsZW5kYXItY2hlY2stbzogXCJcXGYyNzRcIjtcbiRmYS12YXItY2FsZW5kYXItbWludXMtbzogXCJcXGYyNzJcIjtcbiRmYS12YXItY2FsZW5kYXItbzogXCJcXGYxMzNcIjtcbiRmYS12YXItY2FsZW5kYXItcGx1cy1vOiBcIlxcZjI3MVwiO1xuJGZhLXZhci1jYWxlbmRhci10aW1lcy1vOiBcIlxcZjI3M1wiO1xuJGZhLXZhci1jYW1lcmE6IFwiXFxmMDMwXCI7XG4kZmEtdmFyLWNhbWVyYS1yZXRybzogXCJcXGYwODNcIjtcbiRmYS12YXItY2FyOiBcIlxcZjFiOVwiO1xuJGZhLXZhci1jYXJldC1kb3duOiBcIlxcZjBkN1wiO1xuJGZhLXZhci1jYXJldC1sZWZ0OiBcIlxcZjBkOVwiO1xuJGZhLXZhci1jYXJldC1yaWdodDogXCJcXGYwZGFcIjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLW8tZG93bjogXCJcXGYxNTBcIjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLW8tbGVmdDogXCJcXGYxOTFcIjtcbiRmYS12YXItY2FyZXQtc3F1YXJlLW8tcmlnaHQ6IFwiXFxmMTUyXCI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLXVwOiBcIlxcZjE1MVwiO1xuJGZhLXZhci1jYXJldC11cDogXCJcXGYwZDhcIjtcbiRmYS12YXItY2FydC1hcnJvdy1kb3duOiBcIlxcZjIxOFwiO1xuJGZhLXZhci1jYXJ0LXBsdXM6IFwiXFxmMjE3XCI7XG4kZmEtdmFyLWNjOiBcIlxcZjIwYVwiO1xuJGZhLXZhci1jYy1hbWV4OiBcIlxcZjFmM1wiO1xuJGZhLXZhci1jYy1kaW5lcnMtY2x1YjogXCJcXGYyNGNcIjtcbiRmYS12YXItY2MtZGlzY292ZXI6IFwiXFxmMWYyXCI7XG4kZmEtdmFyLWNjLWpjYjogXCJcXGYyNGJcIjtcbiRmYS12YXItY2MtbWFzdGVyY2FyZDogXCJcXGYxZjFcIjtcbiRmYS12YXItY2MtcGF5cGFsOiBcIlxcZjFmNFwiO1xuJGZhLXZhci1jYy1zdHJpcGU6IFwiXFxmMWY1XCI7XG4kZmEtdmFyLWNjLXZpc2E6IFwiXFxmMWYwXCI7XG4kZmEtdmFyLWNlcnRpZmljYXRlOiBcIlxcZjBhM1wiO1xuJGZhLXZhci1jaGFpbjogXCJcXGYwYzFcIjtcbiRmYS12YXItY2hhaW4tYnJva2VuOiBcIlxcZjEyN1wiO1xuJGZhLXZhci1jaGVjazogXCJcXGYwMGNcIjtcbiRmYS12YXItY2hlY2stY2lyY2xlOiBcIlxcZjA1OFwiO1xuJGZhLXZhci1jaGVjay1jaXJjbGUtbzogXCJcXGYwNWRcIjtcbiRmYS12YXItY2hlY2stc3F1YXJlOiBcIlxcZjE0YVwiO1xuJGZhLXZhci1jaGVjay1zcXVhcmUtbzogXCJcXGYwNDZcIjtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjogXCJcXGYxM2FcIjtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXCJcXGYxMzdcIjtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtcmlnaHQ6IFwiXFxmMTM4XCI7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOiBcIlxcZjEzOVwiO1xuJGZhLXZhci1jaGV2cm9uLWRvd246IFwiXFxmMDc4XCI7XG4kZmEtdmFyLWNoZXZyb24tbGVmdDogXCJcXGYwNTNcIjtcbiRmYS12YXItY2hldnJvbi1yaWdodDogXCJcXGYwNTRcIjtcbiRmYS12YXItY2hldnJvbi11cDogXCJcXGYwNzdcIjtcbiRmYS12YXItY2hpbGQ6IFwiXFxmMWFlXCI7XG4kZmEtdmFyLWNocm9tZTogXCJcXGYyNjhcIjtcbiRmYS12YXItY2lyY2xlOiBcIlxcZjExMVwiO1xuJGZhLXZhci1jaXJjbGUtbzogXCJcXGYxMGNcIjtcbiRmYS12YXItY2lyY2xlLW8tbm90Y2g6IFwiXFxmMWNlXCI7XG4kZmEtdmFyLWNpcmNsZS10aGluOiBcIlxcZjFkYlwiO1xuJGZhLXZhci1jbGlwYm9hcmQ6IFwiXFxmMGVhXCI7XG4kZmEtdmFyLWNsb2NrLW86IFwiXFxmMDE3XCI7XG4kZmEtdmFyLWNsb25lOiBcIlxcZjI0ZFwiO1xuJGZhLXZhci1jbG9zZTogXCJcXGYwMGRcIjtcbiRmYS12YXItY2xvdWQ6IFwiXFxmMGMyXCI7XG4kZmEtdmFyLWNsb3VkLWRvd25sb2FkOiBcIlxcZjBlZFwiO1xuJGZhLXZhci1jbG91ZC11cGxvYWQ6IFwiXFxmMGVlXCI7XG4kZmEtdmFyLWNueTogXCJcXGYxNTdcIjtcbiRmYS12YXItY29kZTogXCJcXGYxMjFcIjtcbiRmYS12YXItY29kZS1mb3JrOiBcIlxcZjEyNlwiO1xuJGZhLXZhci1jb2RlcGVuOiBcIlxcZjFjYlwiO1xuJGZhLXZhci1jb2RpZXBpZTogXCJcXGYyODRcIjtcbiRmYS12YXItY29mZmVlOiBcIlxcZjBmNFwiO1xuJGZhLXZhci1jb2c6IFwiXFxmMDEzXCI7XG4kZmEtdmFyLWNvZ3M6IFwiXFxmMDg1XCI7XG4kZmEtdmFyLWNvbHVtbnM6IFwiXFxmMGRiXCI7XG4kZmEtdmFyLWNvbW1lbnQ6IFwiXFxmMDc1XCI7XG4kZmEtdmFyLWNvbW1lbnQtbzogXCJcXGYwZTVcIjtcbiRmYS12YXItY29tbWVudGluZzogXCJcXGYyN2FcIjtcbiRmYS12YXItY29tbWVudGluZy1vOiBcIlxcZjI3YlwiO1xuJGZhLXZhci1jb21tZW50czogXCJcXGYwODZcIjtcbiRmYS12YXItY29tbWVudHMtbzogXCJcXGYwZTZcIjtcbiRmYS12YXItY29tcGFzczogXCJcXGYxNGVcIjtcbiRmYS12YXItY29tcHJlc3M6IFwiXFxmMDY2XCI7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcIlxcZjIwZVwiO1xuJGZhLXZhci1jb250YW86IFwiXFxmMjZkXCI7XG4kZmEtdmFyLWNvcHk6IFwiXFxmMGM1XCI7XG4kZmEtdmFyLWNvcHlyaWdodDogXCJcXGYxZjlcIjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9uczogXCJcXGYyNWVcIjtcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFwiXFxmMDlkXCI7XG4kZmEtdmFyLWNyZWRpdC1jYXJkLWFsdDogXCJcXGYyODNcIjtcbiRmYS12YXItY3JvcDogXCJcXGYxMjVcIjtcbiRmYS12YXItY3Jvc3NoYWlyczogXCJcXGYwNWJcIjtcbiRmYS12YXItY3NzMzogXCJcXGYxM2NcIjtcbiRmYS12YXItY3ViZTogXCJcXGYxYjJcIjtcbiRmYS12YXItY3ViZXM6IFwiXFxmMWIzXCI7XG4kZmEtdmFyLWN1dDogXCJcXGYwYzRcIjtcbiRmYS12YXItY3V0bGVyeTogXCJcXGYwZjVcIjtcbiRmYS12YXItZGFzaGJvYXJkOiBcIlxcZjBlNFwiO1xuJGZhLXZhci1kYXNoY3ViZTogXCJcXGYyMTBcIjtcbiRmYS12YXItZGF0YWJhc2U6IFwiXFxmMWMwXCI7XG4kZmEtdmFyLWRlYWY6IFwiXFxmMmE0XCI7XG4kZmEtdmFyLWRlYWZuZXNzOiBcIlxcZjJhNFwiO1xuJGZhLXZhci1kZWRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLWRlbGljaW91czogXCJcXGYxYTVcIjtcbiRmYS12YXItZGVza3RvcDogXCJcXGYxMDhcIjtcbiRmYS12YXItZGV2aWFudGFydDogXCJcXGYxYmRcIjtcbiRmYS12YXItZGlhbW9uZDogXCJcXGYyMTlcIjtcbiRmYS12YXItZGlnZzogXCJcXGYxYTZcIjtcbiRmYS12YXItZG9sbGFyOiBcIlxcZjE1NVwiO1xuJGZhLXZhci1kb3QtY2lyY2xlLW86IFwiXFxmMTkyXCI7XG4kZmEtdmFyLWRvd25sb2FkOiBcIlxcZjAxOVwiO1xuJGZhLXZhci1kcmliYmJsZTogXCJcXGYxN2RcIjtcbiRmYS12YXItZHJpdmVycy1saWNlbnNlOiBcIlxcZjJjMlwiO1xuJGZhLXZhci1kcml2ZXJzLWxpY2Vuc2UtbzogXCJcXGYyYzNcIjtcbiRmYS12YXItZHJvcGJveDogXCJcXGYxNmJcIjtcbiRmYS12YXItZHJ1cGFsOiBcIlxcZjFhOVwiO1xuJGZhLXZhci1lZGdlOiBcIlxcZjI4MlwiO1xuJGZhLXZhci1lZGl0OiBcIlxcZjA0NFwiO1xuJGZhLXZhci1lZXJjYXN0OiBcIlxcZjJkYVwiO1xuJGZhLXZhci1lamVjdDogXCJcXGYwNTJcIjtcbiRmYS12YXItZWxsaXBzaXMtaDogXCJcXGYxNDFcIjtcbiRmYS12YXItZWxsaXBzaXMtdjogXCJcXGYxNDJcIjtcbiRmYS12YXItZW1waXJlOiBcIlxcZjFkMVwiO1xuJGZhLXZhci1lbnZlbG9wZTogXCJcXGYwZTBcIjtcbiRmYS12YXItZW52ZWxvcGUtbzogXCJcXGYwMDNcIjtcbiRmYS12YXItZW52ZWxvcGUtb3BlbjogXCJcXGYyYjZcIjtcbiRmYS12YXItZW52ZWxvcGUtb3Blbi1vOiBcIlxcZjJiN1wiO1xuJGZhLXZhci1lbnZlbG9wZS1zcXVhcmU6IFwiXFxmMTk5XCI7XG4kZmEtdmFyLWVudmlyYTogXCJcXGYyOTlcIjtcbiRmYS12YXItZXJhc2VyOiBcIlxcZjEyZFwiO1xuJGZhLXZhci1ldHN5OiBcIlxcZjJkN1wiO1xuJGZhLXZhci1ldXI6IFwiXFxmMTUzXCI7XG4kZmEtdmFyLWV1cm86IFwiXFxmMTUzXCI7XG4kZmEtdmFyLWV4Y2hhbmdlOiBcIlxcZjBlY1wiO1xuJGZhLXZhci1leGNsYW1hdGlvbjogXCJcXGYxMmFcIjtcbiRmYS12YXItZXhjbGFtYXRpb24tY2lyY2xlOiBcIlxcZjA2YVwiO1xuJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTogXCJcXGYwNzFcIjtcbiRmYS12YXItZXhwYW5kOiBcIlxcZjA2NVwiO1xuJGZhLXZhci1leHBlZGl0ZWRzc2w6IFwiXFxmMjNlXCI7XG4kZmEtdmFyLWV4dGVybmFsLWxpbms6IFwiXFxmMDhlXCI7XG4kZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlOiBcIlxcZjE0Y1wiO1xuJGZhLXZhci1leWU6IFwiXFxmMDZlXCI7XG4kZmEtdmFyLWV5ZS1zbGFzaDogXCJcXGYwNzBcIjtcbiRmYS12YXItZXllZHJvcHBlcjogXCJcXGYxZmJcIjtcbiRmYS12YXItZmE6IFwiXFxmMmI0XCI7XG4kZmEtdmFyLWZhY2Vib29rOiBcIlxcZjA5YVwiO1xuJGZhLXZhci1mYWNlYm9vay1mOiBcIlxcZjA5YVwiO1xuJGZhLXZhci1mYWNlYm9vay1vZmZpY2lhbDogXCJcXGYyMzBcIjtcbiRmYS12YXItZmFjZWJvb2stc3F1YXJlOiBcIlxcZjA4MlwiO1xuJGZhLXZhci1mYXN0LWJhY2t3YXJkOiBcIlxcZjA0OVwiO1xuJGZhLXZhci1mYXN0LWZvcndhcmQ6IFwiXFxmMDUwXCI7XG4kZmEtdmFyLWZheDogXCJcXGYxYWNcIjtcbiRmYS12YXItZmVlZDogXCJcXGYwOWVcIjtcbiRmYS12YXItZmVtYWxlOiBcIlxcZjE4MlwiO1xuJGZhLXZhci1maWdodGVyLWpldDogXCJcXGYwZmJcIjtcbiRmYS12YXItZmlsZTogXCJcXGYxNWJcIjtcbiRmYS12YXItZmlsZS1hcmNoaXZlLW86IFwiXFxmMWM2XCI7XG4kZmEtdmFyLWZpbGUtYXVkaW8tbzogXCJcXGYxYzdcIjtcbiRmYS12YXItZmlsZS1jb2RlLW86IFwiXFxmMWM5XCI7XG4kZmEtdmFyLWZpbGUtZXhjZWwtbzogXCJcXGYxYzNcIjtcbiRmYS12YXItZmlsZS1pbWFnZS1vOiBcIlxcZjFjNVwiO1xuJGZhLXZhci1maWxlLW1vdmllLW86IFwiXFxmMWM4XCI7XG4kZmEtdmFyLWZpbGUtbzogXCJcXGYwMTZcIjtcbiRmYS12YXItZmlsZS1wZGYtbzogXCJcXGYxYzFcIjtcbiRmYS12YXItZmlsZS1waG90by1vOiBcIlxcZjFjNVwiO1xuJGZhLXZhci1maWxlLXBpY3R1cmUtbzogXCJcXGYxYzVcIjtcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50LW86IFwiXFxmMWM0XCI7XG4kZmEtdmFyLWZpbGUtc291bmQtbzogXCJcXGYxYzdcIjtcbiRmYS12YXItZmlsZS10ZXh0OiBcIlxcZjE1Y1wiO1xuJGZhLXZhci1maWxlLXRleHQtbzogXCJcXGYwZjZcIjtcbiRmYS12YXItZmlsZS12aWRlby1vOiBcIlxcZjFjOFwiO1xuJGZhLXZhci1maWxlLXdvcmQtbzogXCJcXGYxYzJcIjtcbiRmYS12YXItZmlsZS16aXAtbzogXCJcXGYxYzZcIjtcbiRmYS12YXItZmlsZXMtbzogXCJcXGYwYzVcIjtcbiRmYS12YXItZmlsbTogXCJcXGYwMDhcIjtcbiRmYS12YXItZmlsdGVyOiBcIlxcZjBiMFwiO1xuJGZhLXZhci1maXJlOiBcIlxcZjA2ZFwiO1xuJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjogXCJcXGYxMzRcIjtcbiRmYS12YXItZmlyZWZveDogXCJcXGYyNjlcIjtcbiRmYS12YXItZmlyc3Qtb3JkZXI6IFwiXFxmMmIwXCI7XG4kZmEtdmFyLWZsYWc6IFwiXFxmMDI0XCI7XG4kZmEtdmFyLWZsYWctY2hlY2tlcmVkOiBcIlxcZjExZVwiO1xuJGZhLXZhci1mbGFnLW86IFwiXFxmMTFkXCI7XG4kZmEtdmFyLWZsYXNoOiBcIlxcZjBlN1wiO1xuJGZhLXZhci1mbGFzazogXCJcXGYwYzNcIjtcbiRmYS12YXItZmxpY2tyOiBcIlxcZjE2ZVwiO1xuJGZhLXZhci1mbG9wcHktbzogXCJcXGYwYzdcIjtcbiRmYS12YXItZm9sZGVyOiBcIlxcZjA3YlwiO1xuJGZhLXZhci1mb2xkZXItbzogXCJcXGYxMTRcIjtcbiRmYS12YXItZm9sZGVyLW9wZW46IFwiXFxmMDdjXCI7XG4kZmEtdmFyLWZvbGRlci1vcGVuLW86IFwiXFxmMTE1XCI7XG4kZmEtdmFyLWZvbnQ6IFwiXFxmMDMxXCI7XG4kZmEtdmFyLWZvbnQtYXdlc29tZTogXCJcXGYyYjRcIjtcbiRmYS12YXItZm9udGljb25zOiBcIlxcZjI4MFwiO1xuJGZhLXZhci1mb3J0LWF3ZXNvbWU6IFwiXFxmMjg2XCI7XG4kZmEtdmFyLWZvcnVtYmVlOiBcIlxcZjIxMVwiO1xuJGZhLXZhci1mb3J3YXJkOiBcIlxcZjA0ZVwiO1xuJGZhLXZhci1mb3Vyc3F1YXJlOiBcIlxcZjE4MFwiO1xuJGZhLXZhci1mcmVlLWNvZGUtY2FtcDogXCJcXGYyYzVcIjtcbiRmYS12YXItZnJvd24tbzogXCJcXGYxMTlcIjtcbiRmYS12YXItZnV0Ym9sLW86IFwiXFxmMWUzXCI7XG4kZmEtdmFyLWdhbWVwYWQ6IFwiXFxmMTFiXCI7XG4kZmEtdmFyLWdhdmVsOiBcIlxcZjBlM1wiO1xuJGZhLXZhci1nYnA6IFwiXFxmMTU0XCI7XG4kZmEtdmFyLWdlOiBcIlxcZjFkMVwiO1xuJGZhLXZhci1nZWFyOiBcIlxcZjAxM1wiO1xuJGZhLXZhci1nZWFyczogXCJcXGYwODVcIjtcbiRmYS12YXItZ2VuZGVybGVzczogXCJcXGYyMmRcIjtcbiRmYS12YXItZ2V0LXBvY2tldDogXCJcXGYyNjVcIjtcbiRmYS12YXItZ2c6IFwiXFxmMjYwXCI7XG4kZmEtdmFyLWdnLWNpcmNsZTogXCJcXGYyNjFcIjtcbiRmYS12YXItZ2lmdDogXCJcXGYwNmJcIjtcbiRmYS12YXItZ2l0OiBcIlxcZjFkM1wiO1xuJGZhLXZhci1naXQtc3F1YXJlOiBcIlxcZjFkMlwiO1xuJGZhLXZhci1naXRodWI6IFwiXFxmMDliXCI7XG4kZmEtdmFyLWdpdGh1Yi1hbHQ6IFwiXFxmMTEzXCI7XG4kZmEtdmFyLWdpdGh1Yi1zcXVhcmU6IFwiXFxmMDkyXCI7XG4kZmEtdmFyLWdpdGxhYjogXCJcXGYyOTZcIjtcbiRmYS12YXItZ2l0dGlwOiBcIlxcZjE4NFwiO1xuJGZhLXZhci1nbGFzczogXCJcXGYwMDBcIjtcbiRmYS12YXItZ2xpZGU6IFwiXFxmMmE1XCI7XG4kZmEtdmFyLWdsaWRlLWc6IFwiXFxmMmE2XCI7XG4kZmEtdmFyLWdsb2JlOiBcIlxcZjBhY1wiO1xuJGZhLXZhci1nb29nbGU6IFwiXFxmMWEwXCI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzOiBcIlxcZjBkNVwiO1xuJGZhLXZhci1nb29nbGUtcGx1cy1jaXJjbGU6IFwiXFxmMmIzXCI7XG4kZmEtdmFyLWdvb2dsZS1wbHVzLW9mZmljaWFsOiBcIlxcZjJiM1wiO1xuJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU6IFwiXFxmMGQ0XCI7XG4kZmEtdmFyLWdvb2dsZS13YWxsZXQ6IFwiXFxmMWVlXCI7XG4kZmEtdmFyLWdyYWR1YXRpb24tY2FwOiBcIlxcZjE5ZFwiO1xuJGZhLXZhci1ncmF0aXBheTogXCJcXGYxODRcIjtcbiRmYS12YXItZ3JhdjogXCJcXGYyZDZcIjtcbiRmYS12YXItZ3JvdXA6IFwiXFxmMGMwXCI7XG4kZmEtdmFyLWgtc3F1YXJlOiBcIlxcZjBmZFwiO1xuJGZhLXZhci1oYWNrZXItbmV3czogXCJcXGYxZDRcIjtcbiRmYS12YXItaGFuZC1ncmFiLW86IFwiXFxmMjU1XCI7XG4kZmEtdmFyLWhhbmQtbGl6YXJkLW86IFwiXFxmMjU4XCI7XG4kZmEtdmFyLWhhbmQtby1kb3duOiBcIlxcZjBhN1wiO1xuJGZhLXZhci1oYW5kLW8tbGVmdDogXCJcXGYwYTVcIjtcbiRmYS12YXItaGFuZC1vLXJpZ2h0OiBcIlxcZjBhNFwiO1xuJGZhLXZhci1oYW5kLW8tdXA6IFwiXFxmMGE2XCI7XG4kZmEtdmFyLWhhbmQtcGFwZXItbzogXCJcXGYyNTZcIjtcbiRmYS12YXItaGFuZC1wZWFjZS1vOiBcIlxcZjI1YlwiO1xuJGZhLXZhci1oYW5kLXBvaW50ZXItbzogXCJcXGYyNWFcIjtcbiRmYS12YXItaGFuZC1yb2NrLW86IFwiXFxmMjU1XCI7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnMtbzogXCJcXGYyNTdcIjtcbiRmYS12YXItaGFuZC1zcG9jay1vOiBcIlxcZjI1OVwiO1xuJGZhLXZhci1oYW5kLXN0b3AtbzogXCJcXGYyNTZcIjtcbiRmYS12YXItaGFuZHNoYWtlLW86IFwiXFxmMmI1XCI7XG4kZmEtdmFyLWhhcmQtb2YtaGVhcmluZzogXCJcXGYyYTRcIjtcbiRmYS12YXItaGFzaHRhZzogXCJcXGYyOTJcIjtcbiRmYS12YXItaGRkLW86IFwiXFxmMGEwXCI7XG4kZmEtdmFyLWhlYWRlcjogXCJcXGYxZGNcIjtcbiRmYS12YXItaGVhZHBob25lczogXCJcXGYwMjVcIjtcbiRmYS12YXItaGVhcnQ6IFwiXFxmMDA0XCI7XG4kZmEtdmFyLWhlYXJ0LW86IFwiXFxmMDhhXCI7XG4kZmEtdmFyLWhlYXJ0YmVhdDogXCJcXGYyMWVcIjtcbiRmYS12YXItaGlzdG9yeTogXCJcXGYxZGFcIjtcbiRmYS12YXItaG9tZTogXCJcXGYwMTVcIjtcbiRmYS12YXItaG9zcGl0YWwtbzogXCJcXGYwZjhcIjtcbiRmYS12YXItaG90ZWw6IFwiXFxmMjM2XCI7XG4kZmEtdmFyLWhvdXJnbGFzczogXCJcXGYyNTRcIjtcbiRmYS12YXItaG91cmdsYXNzLTE6IFwiXFxmMjUxXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy0yOiBcIlxcZjI1MlwiO1xuJGZhLXZhci1ob3VyZ2xhc3MtMzogXCJcXGYyNTNcIjtcbiRmYS12YXItaG91cmdsYXNzLWVuZDogXCJcXGYyNTNcIjtcbiRmYS12YXItaG91cmdsYXNzLWhhbGY6IFwiXFxmMjUyXCI7XG4kZmEtdmFyLWhvdXJnbGFzcy1vOiBcIlxcZjI1MFwiO1xuJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ6IFwiXFxmMjUxXCI7XG4kZmEtdmFyLWhvdXp6OiBcIlxcZjI3Y1wiO1xuJGZhLXZhci1odG1sNTogXCJcXGYxM2JcIjtcbiRmYS12YXItaS1jdXJzb3I6IFwiXFxmMjQ2XCI7XG4kZmEtdmFyLWlkLWJhZGdlOiBcIlxcZjJjMVwiO1xuJGZhLXZhci1pZC1jYXJkOiBcIlxcZjJjMlwiO1xuJGZhLXZhci1pZC1jYXJkLW86IFwiXFxmMmMzXCI7XG4kZmEtdmFyLWlsczogXCJcXGYyMGJcIjtcbiRmYS12YXItaW1hZ2U6IFwiXFxmMDNlXCI7XG4kZmEtdmFyLWltZGI6IFwiXFxmMmQ4XCI7XG4kZmEtdmFyLWluYm94OiBcIlxcZjAxY1wiO1xuJGZhLXZhci1pbmRlbnQ6IFwiXFxmMDNjXCI7XG4kZmEtdmFyLWluZHVzdHJ5OiBcIlxcZjI3NVwiO1xuJGZhLXZhci1pbmZvOiBcIlxcZjEyOVwiO1xuJGZhLXZhci1pbmZvLWNpcmNsZTogXCJcXGYwNWFcIjtcbiRmYS12YXItaW5yOiBcIlxcZjE1NlwiO1xuJGZhLXZhci1pbnN0YWdyYW06IFwiXFxmMTZkXCI7XG4kZmEtdmFyLWluc3RpdHV0aW9uOiBcIlxcZjE5Y1wiO1xuJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcjogXCJcXGYyNmJcIjtcbiRmYS12YXItaW50ZXJzZXg6IFwiXFxmMjI0XCI7XG4kZmEtdmFyLWlveGhvc3Q6IFwiXFxmMjA4XCI7XG4kZmEtdmFyLWl0YWxpYzogXCJcXGYwMzNcIjtcbiRmYS12YXItam9vbWxhOiBcIlxcZjFhYVwiO1xuJGZhLXZhci1qcHk6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLWpzZmlkZGxlOiBcIlxcZjFjY1wiO1xuJGZhLXZhci1rZXk6IFwiXFxmMDg0XCI7XG4kZmEtdmFyLWtleWJvYXJkLW86IFwiXFxmMTFjXCI7XG4kZmEtdmFyLWtydzogXCJcXGYxNTlcIjtcbiRmYS12YXItbGFuZ3VhZ2U6IFwiXFxmMWFiXCI7XG4kZmEtdmFyLWxhcHRvcDogXCJcXGYxMDlcIjtcbiRmYS12YXItbGFzdGZtOiBcIlxcZjIwMlwiO1xuJGZhLXZhci1sYXN0Zm0tc3F1YXJlOiBcIlxcZjIwM1wiO1xuJGZhLXZhci1sZWFmOiBcIlxcZjA2Y1wiO1xuJGZhLXZhci1sZWFucHViOiBcIlxcZjIxMlwiO1xuJGZhLXZhci1sZWdhbDogXCJcXGYwZTNcIjtcbiRmYS12YXItbGVtb24tbzogXCJcXGYwOTRcIjtcbiRmYS12YXItbGV2ZWwtZG93bjogXCJcXGYxNDlcIjtcbiRmYS12YXItbGV2ZWwtdXA6IFwiXFxmMTQ4XCI7XG4kZmEtdmFyLWxpZmUtYm91eTogXCJcXGYxY2RcIjtcbiRmYS12YXItbGlmZS1idW95OiBcIlxcZjFjZFwiO1xuJGZhLXZhci1saWZlLXJpbmc6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZmUtc2F2ZXI6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLWxpZ2h0YnVsYi1vOiBcIlxcZjBlYlwiO1xuJGZhLXZhci1saW5lLWNoYXJ0OiBcIlxcZjIwMVwiO1xuJGZhLXZhci1saW5rOiBcIlxcZjBjMVwiO1xuJGZhLXZhci1saW5rZWRpbjogXCJcXGYwZTFcIjtcbiRmYS12YXItbGlua2VkaW4tc3F1YXJlOiBcIlxcZjA4Y1wiO1xuJGZhLXZhci1saW5vZGU6IFwiXFxmMmI4XCI7XG4kZmEtdmFyLWxpbnV4OiBcIlxcZjE3Y1wiO1xuJGZhLXZhci1saXN0OiBcIlxcZjAzYVwiO1xuJGZhLXZhci1saXN0LWFsdDogXCJcXGYwMjJcIjtcbiRmYS12YXItbGlzdC1vbDogXCJcXGYwY2JcIjtcbiRmYS12YXItbGlzdC11bDogXCJcXGYwY2FcIjtcbiRmYS12YXItbG9jYXRpb24tYXJyb3c6IFwiXFxmMTI0XCI7XG4kZmEtdmFyLWxvY2s6IFwiXFxmMDIzXCI7XG4kZmEtdmFyLWxvbmctYXJyb3ctZG93bjogXCJcXGYxNzVcIjtcbiRmYS12YXItbG9uZy1hcnJvdy1sZWZ0OiBcIlxcZjE3N1wiO1xuJGZhLXZhci1sb25nLWFycm93LXJpZ2h0OiBcIlxcZjE3OFwiO1xuJGZhLXZhci1sb25nLWFycm93LXVwOiBcIlxcZjE3NlwiO1xuJGZhLXZhci1sb3ctdmlzaW9uOiBcIlxcZjJhOFwiO1xuJGZhLXZhci1tYWdpYzogXCJcXGYwZDBcIjtcbiRmYS12YXItbWFnbmV0OiBcIlxcZjA3NlwiO1xuJGZhLXZhci1tYWlsLWZvcndhcmQ6IFwiXFxmMDY0XCI7XG4kZmEtdmFyLW1haWwtcmVwbHk6IFwiXFxmMTEyXCI7XG4kZmEtdmFyLW1haWwtcmVwbHktYWxsOiBcIlxcZjEyMlwiO1xuJGZhLXZhci1tYWxlOiBcIlxcZjE4M1wiO1xuJGZhLXZhci1tYXA6IFwiXFxmMjc5XCI7XG4kZmEtdmFyLW1hcC1tYXJrZXI6IFwiXFxmMDQxXCI7XG4kZmEtdmFyLW1hcC1vOiBcIlxcZjI3OFwiO1xuJGZhLXZhci1tYXAtcGluOiBcIlxcZjI3NlwiO1xuJGZhLXZhci1tYXAtc2lnbnM6IFwiXFxmMjc3XCI7XG4kZmEtdmFyLW1hcnM6IFwiXFxmMjIyXCI7XG4kZmEtdmFyLW1hcnMtZG91YmxlOiBcIlxcZjIyN1wiO1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXCJcXGYyMjlcIjtcbiRmYS12YXItbWFycy1zdHJva2UtaDogXCJcXGYyMmJcIjtcbiRmYS12YXItbWFycy1zdHJva2UtdjogXCJcXGYyMmFcIjtcbiRmYS12YXItbWF4Y2RuOiBcIlxcZjEzNlwiO1xuJGZhLXZhci1tZWFucGF0aDogXCJcXGYyMGNcIjtcbiRmYS12YXItbWVkaXVtOiBcIlxcZjIzYVwiO1xuJGZhLXZhci1tZWRraXQ6IFwiXFxmMGZhXCI7XG4kZmEtdmFyLW1lZXR1cDogXCJcXGYyZTBcIjtcbiRmYS12YXItbWVoLW86IFwiXFxmMTFhXCI7XG4kZmEtdmFyLW1lcmN1cnk6IFwiXFxmMjIzXCI7XG4kZmEtdmFyLW1pY3JvY2hpcDogXCJcXGYyZGJcIjtcbiRmYS12YXItbWljcm9waG9uZTogXCJcXGYxMzBcIjtcbiRmYS12YXItbWljcm9waG9uZS1zbGFzaDogXCJcXGYxMzFcIjtcbiRmYS12YXItbWludXM6IFwiXFxmMDY4XCI7XG4kZmEtdmFyLW1pbnVzLWNpcmNsZTogXCJcXGYwNTZcIjtcbiRmYS12YXItbWludXMtc3F1YXJlOiBcIlxcZjE0NlwiO1xuJGZhLXZhci1taW51cy1zcXVhcmUtbzogXCJcXGYxNDdcIjtcbiRmYS12YXItbWl4Y2xvdWQ6IFwiXFxmMjg5XCI7XG4kZmEtdmFyLW1vYmlsZTogXCJcXGYxMGJcIjtcbiRmYS12YXItbW9iaWxlLXBob25lOiBcIlxcZjEwYlwiO1xuJGZhLXZhci1tb2R4OiBcIlxcZjI4NVwiO1xuJGZhLXZhci1tb25leTogXCJcXGYwZDZcIjtcbiRmYS12YXItbW9vbi1vOiBcIlxcZjE4NlwiO1xuJGZhLXZhci1tb3J0YXItYm9hcmQ6IFwiXFxmMTlkXCI7XG4kZmEtdmFyLW1vdG9yY3ljbGU6IFwiXFxmMjFjXCI7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFwiXFxmMjQ1XCI7XG4kZmEtdmFyLW11c2ljOiBcIlxcZjAwMVwiO1xuJGZhLXZhci1uYXZpY29uOiBcIlxcZjBjOVwiO1xuJGZhLXZhci1uZXV0ZXI6IFwiXFxmMjJjXCI7XG4kZmEtdmFyLW5ld3NwYXBlci1vOiBcIlxcZjFlYVwiO1xuJGZhLXZhci1vYmplY3QtZ3JvdXA6IFwiXFxmMjQ3XCI7XG4kZmEtdmFyLW9iamVjdC11bmdyb3VwOiBcIlxcZjI0OFwiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcIlxcZjI2M1wiO1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXCJcXGYyNjRcIjtcbiRmYS12YXItb3BlbmNhcnQ6IFwiXFxmMjNkXCI7XG4kZmEtdmFyLW9wZW5pZDogXCJcXGYxOWJcIjtcbiRmYS12YXItb3BlcmE6IFwiXFxmMjZhXCI7XG4kZmEtdmFyLW9wdGluLW1vbnN0ZXI6IFwiXFxmMjNjXCI7XG4kZmEtdmFyLW91dGRlbnQ6IFwiXFxmMDNiXCI7XG4kZmEtdmFyLXBhZ2VsaW5lczogXCJcXGYxOGNcIjtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFwiXFxmMWZjXCI7XG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcIlxcZjFkOFwiO1xuJGZhLXZhci1wYXBlci1wbGFuZS1vOiBcIlxcZjFkOVwiO1xuJGZhLXZhci1wYXBlcmNsaXA6IFwiXFxmMGM2XCI7XG4kZmEtdmFyLXBhcmFncmFwaDogXCJcXGYxZGRcIjtcbiRmYS12YXItcGFzdGU6IFwiXFxmMGVhXCI7XG4kZmEtdmFyLXBhdXNlOiBcIlxcZjA0Y1wiO1xuJGZhLXZhci1wYXVzZS1jaXJjbGU6IFwiXFxmMjhiXCI7XG4kZmEtdmFyLXBhdXNlLWNpcmNsZS1vOiBcIlxcZjI4Y1wiO1xuJGZhLXZhci1wYXc6IFwiXFxmMWIwXCI7XG4kZmEtdmFyLXBheXBhbDogXCJcXGYxZWRcIjtcbiRmYS12YXItcGVuY2lsOiBcIlxcZjA0MFwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlOiBcIlxcZjE0YlwiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlLW86IFwiXFxmMDQ0XCI7XG4kZmEtdmFyLXBlcmNlbnQ6IFwiXFxmMjk1XCI7XG4kZmEtdmFyLXBob25lOiBcIlxcZjA5NVwiO1xuJGZhLXZhci1waG9uZS1zcXVhcmU6IFwiXFxmMDk4XCI7XG4kZmEtdmFyLXBob3RvOiBcIlxcZjAzZVwiO1xuJGZhLXZhci1waWN0dXJlLW86IFwiXFxmMDNlXCI7XG4kZmEtdmFyLXBpZS1jaGFydDogXCJcXGYyMDBcIjtcbiRmYS12YXItcGllZC1waXBlcjogXCJcXGYyYWVcIjtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFwiXFxmMWE4XCI7XG4kZmEtdmFyLXBpZWQtcGlwZXItcHA6IFwiXFxmMWE3XCI7XG4kZmEtdmFyLXBpbnRlcmVzdDogXCJcXGYwZDJcIjtcbiRmYS12YXItcGludGVyZXN0LXA6IFwiXFxmMjMxXCI7XG4kZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU6IFwiXFxmMGQzXCI7XG4kZmEtdmFyLXBsYW5lOiBcIlxcZjA3MlwiO1xuJGZhLXZhci1wbGF5OiBcIlxcZjA0YlwiO1xuJGZhLXZhci1wbGF5LWNpcmNsZTogXCJcXGYxNDRcIjtcbiRmYS12YXItcGxheS1jaXJjbGUtbzogXCJcXGYwMWRcIjtcbiRmYS12YXItcGx1ZzogXCJcXGYxZTZcIjtcbiRmYS12YXItcGx1czogXCJcXGYwNjdcIjtcbiRmYS12YXItcGx1cy1jaXJjbGU6IFwiXFxmMDU1XCI7XG4kZmEtdmFyLXBsdXMtc3F1YXJlOiBcIlxcZjBmZVwiO1xuJGZhLXZhci1wbHVzLXNxdWFyZS1vOiBcIlxcZjE5NlwiO1xuJGZhLXZhci1wb2RjYXN0OiBcIlxcZjJjZVwiO1xuJGZhLXZhci1wb3dlci1vZmY6IFwiXFxmMDExXCI7XG4kZmEtdmFyLXByaW50OiBcIlxcZjAyZlwiO1xuJGZhLXZhci1wcm9kdWN0LWh1bnQ6IFwiXFxmMjg4XCI7XG4kZmEtdmFyLXB1enpsZS1waWVjZTogXCJcXGYxMmVcIjtcbiRmYS12YXItcXE6IFwiXFxmMWQ2XCI7XG4kZmEtdmFyLXFyY29kZTogXCJcXGYwMjlcIjtcbiRmYS12YXItcXVlc3Rpb246IFwiXFxmMTI4XCI7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTogXCJcXGYwNTlcIjtcbiRmYS12YXItcXVlc3Rpb24tY2lyY2xlLW86IFwiXFxmMjljXCI7XG4kZmEtdmFyLXF1b3JhOiBcIlxcZjJjNFwiO1xuJGZhLXZhci1xdW90ZS1sZWZ0OiBcIlxcZjEwZFwiO1xuJGZhLXZhci1xdW90ZS1yaWdodDogXCJcXGYxMGVcIjtcbiRmYS12YXItcmE6IFwiXFxmMWQwXCI7XG4kZmEtdmFyLXJhbmRvbTogXCJcXGYwNzRcIjtcbiRmYS12YXItcmF2ZWxyeTogXCJcXGYyZDlcIjtcbiRmYS12YXItcmViZWw6IFwiXFxmMWQwXCI7XG4kZmEtdmFyLXJlY3ljbGU6IFwiXFxmMWI4XCI7XG4kZmEtdmFyLXJlZGRpdDogXCJcXGYxYTFcIjtcbiRmYS12YXItcmVkZGl0LWFsaWVuOiBcIlxcZjI4MVwiO1xuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcIlxcZjFhMlwiO1xuJGZhLXZhci1yZWZyZXNoOiBcIlxcZjAyMVwiO1xuJGZhLXZhci1yZWdpc3RlcmVkOiBcIlxcZjI1ZFwiO1xuJGZhLXZhci1yZW1vdmU6IFwiXFxmMDBkXCI7XG4kZmEtdmFyLXJlbnJlbjogXCJcXGYxOGJcIjtcbiRmYS12YXItcmVvcmRlcjogXCJcXGYwYzlcIjtcbiRmYS12YXItcmVwZWF0OiBcIlxcZjAxZVwiO1xuJGZhLXZhci1yZXBseTogXCJcXGYxMTJcIjtcbiRmYS12YXItcmVwbHktYWxsOiBcIlxcZjEyMlwiO1xuJGZhLXZhci1yZXNpc3RhbmNlOiBcIlxcZjFkMFwiO1xuJGZhLXZhci1yZXR3ZWV0OiBcIlxcZjA3OVwiO1xuJGZhLXZhci1ybWI6IFwiXFxmMTU3XCI7XG4kZmEtdmFyLXJvYWQ6IFwiXFxmMDE4XCI7XG4kZmEtdmFyLXJvY2tldDogXCJcXGYxMzVcIjtcbiRmYS12YXItcm90YXRlLWxlZnQ6IFwiXFxmMGUyXCI7XG4kZmEtdmFyLXJvdGF0ZS1yaWdodDogXCJcXGYwMWVcIjtcbiRmYS12YXItcm91YmxlOiBcIlxcZjE1OFwiO1xuJGZhLXZhci1yc3M6IFwiXFxmMDllXCI7XG4kZmEtdmFyLXJzcy1zcXVhcmU6IFwiXFxmMTQzXCI7XG4kZmEtdmFyLXJ1YjogXCJcXGYxNThcIjtcbiRmYS12YXItcnVibGU6IFwiXFxmMTU4XCI7XG4kZmEtdmFyLXJ1cGVlOiBcIlxcZjE1NlwiO1xuJGZhLXZhci1zMTU6IFwiXFxmMmNkXCI7XG4kZmEtdmFyLXNhZmFyaTogXCJcXGYyNjdcIjtcbiRmYS12YXItc2F2ZTogXCJcXGYwYzdcIjtcbiRmYS12YXItc2Npc3NvcnM6IFwiXFxmMGM0XCI7XG4kZmEtdmFyLXNjcmliZDogXCJcXGYyOGFcIjtcbiRmYS12YXItc2VhcmNoOiBcIlxcZjAwMlwiO1xuJGZhLXZhci1zZWFyY2gtbWludXM6IFwiXFxmMDEwXCI7XG4kZmEtdmFyLXNlYXJjaC1wbHVzOiBcIlxcZjAwZVwiO1xuJGZhLXZhci1zZWxsc3k6IFwiXFxmMjEzXCI7XG4kZmEtdmFyLXNlbmQ6IFwiXFxmMWQ4XCI7XG4kZmEtdmFyLXNlbmQtbzogXCJcXGYxZDlcIjtcbiRmYS12YXItc2VydmVyOiBcIlxcZjIzM1wiO1xuJGZhLXZhci1zaGFyZTogXCJcXGYwNjRcIjtcbiRmYS12YXItc2hhcmUtYWx0OiBcIlxcZjFlMFwiO1xuJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOiBcIlxcZjFlMVwiO1xuJGZhLXZhci1zaGFyZS1zcXVhcmU6IFwiXFxmMTRkXCI7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZS1vOiBcIlxcZjA0NVwiO1xuJGZhLXZhci1zaGVrZWw6IFwiXFxmMjBiXCI7XG4kZmEtdmFyLXNoZXFlbDogXCJcXGYyMGJcIjtcbiRmYS12YXItc2hpZWxkOiBcIlxcZjEzMlwiO1xuJGZhLXZhci1zaGlwOiBcIlxcZjIxYVwiO1xuJGZhLXZhci1zaGlydHNpbmJ1bGs6IFwiXFxmMjE0XCI7XG4kZmEtdmFyLXNob3BwaW5nLWJhZzogXCJcXGYyOTBcIjtcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcIlxcZjI5MVwiO1xuJGZhLXZhci1zaG9wcGluZy1jYXJ0OiBcIlxcZjA3YVwiO1xuJGZhLXZhci1zaG93ZXI6IFwiXFxmMmNjXCI7XG4kZmEtdmFyLXNpZ24taW46IFwiXFxmMDkwXCI7XG4kZmEtdmFyLXNpZ24tbGFuZ3VhZ2U6IFwiXFxmMmE3XCI7XG4kZmEtdmFyLXNpZ24tb3V0OiBcIlxcZjA4YlwiO1xuJGZhLXZhci1zaWduYWw6IFwiXFxmMDEyXCI7XG4kZmEtdmFyLXNpZ25pbmc6IFwiXFxmMmE3XCI7XG4kZmEtdmFyLXNpbXBseWJ1aWx0OiBcIlxcZjIxNVwiO1xuJGZhLXZhci1zaXRlbWFwOiBcIlxcZjBlOFwiO1xuJGZhLXZhci1za3lhdGxhczogXCJcXGYyMTZcIjtcbiRmYS12YXItc2t5cGU6IFwiXFxmMTdlXCI7XG4kZmEtdmFyLXNsYWNrOiBcIlxcZjE5OFwiO1xuJGZhLXZhci1zbGlkZXJzOiBcIlxcZjFkZVwiO1xuJGZhLXZhci1zbGlkZXNoYXJlOiBcIlxcZjFlN1wiO1xuJGZhLXZhci1zbWlsZS1vOiBcIlxcZjExOFwiO1xuJGZhLXZhci1zbmFwY2hhdDogXCJcXGYyYWJcIjtcbiRmYS12YXItc25hcGNoYXQtZ2hvc3Q6IFwiXFxmMmFjXCI7XG4kZmEtdmFyLXNuYXBjaGF0LXNxdWFyZTogXCJcXGYyYWRcIjtcbiRmYS12YXItc25vd2ZsYWtlLW86IFwiXFxmMmRjXCI7XG4kZmEtdmFyLXNvY2Nlci1iYWxsLW86IFwiXFxmMWUzXCI7XG4kZmEtdmFyLXNvcnQ6IFwiXFxmMGRjXCI7XG4kZmEtdmFyLXNvcnQtYWxwaGEtYXNjOiBcIlxcZjE1ZFwiO1xuJGZhLXZhci1zb3J0LWFscGhhLWRlc2M6IFwiXFxmMTVlXCI7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWFzYzogXCJcXGYxNjBcIjtcbiRmYS12YXItc29ydC1hbW91bnQtZGVzYzogXCJcXGYxNjFcIjtcbiRmYS12YXItc29ydC1hc2M6IFwiXFxmMGRlXCI7XG4kZmEtdmFyLXNvcnQtZGVzYzogXCJcXGYwZGRcIjtcbiRmYS12YXItc29ydC1kb3duOiBcIlxcZjBkZFwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOiBcIlxcZjE2MlwiO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzogXCJcXGYxNjNcIjtcbiRmYS12YXItc29ydC11cDogXCJcXGYwZGVcIjtcbiRmYS12YXItc291bmRjbG91ZDogXCJcXGYxYmVcIjtcbiRmYS12YXItc3BhY2Utc2h1dHRsZTogXCJcXGYxOTdcIjtcbiRmYS12YXItc3Bpbm5lcjogXCJcXGYxMTBcIjtcbiRmYS12YXItc3Bvb246IFwiXFxmMWIxXCI7XG4kZmEtdmFyLXNwb3RpZnk6IFwiXFxmMWJjXCI7XG4kZmEtdmFyLXNxdWFyZTogXCJcXGYwYzhcIjtcbiRmYS12YXItc3F1YXJlLW86IFwiXFxmMDk2XCI7XG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcIlxcZjE4ZFwiO1xuJGZhLXZhci1zdGFjay1vdmVyZmxvdzogXCJcXGYxNmNcIjtcbiRmYS12YXItc3RhcjogXCJcXGYwMDVcIjtcbiRmYS12YXItc3Rhci1oYWxmOiBcIlxcZjA4OVwiO1xuJGZhLXZhci1zdGFyLWhhbGYtZW1wdHk6IFwiXFxmMTIzXCI7XG4kZmEtdmFyLXN0YXItaGFsZi1mdWxsOiBcIlxcZjEyM1wiO1xuJGZhLXZhci1zdGFyLWhhbGYtbzogXCJcXGYxMjNcIjtcbiRmYS12YXItc3Rhci1vOiBcIlxcZjAwNlwiO1xuJGZhLXZhci1zdGVhbTogXCJcXGYxYjZcIjtcbiRmYS12YXItc3RlYW0tc3F1YXJlOiBcIlxcZjFiN1wiO1xuJGZhLXZhci1zdGVwLWJhY2t3YXJkOiBcIlxcZjA0OFwiO1xuJGZhLXZhci1zdGVwLWZvcndhcmQ6IFwiXFxmMDUxXCI7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcIlxcZjBmMVwiO1xuJGZhLXZhci1zdGlja3ktbm90ZTogXCJcXGYyNDlcIjtcbiRmYS12YXItc3RpY2t5LW5vdGUtbzogXCJcXGYyNGFcIjtcbiRmYS12YXItc3RvcDogXCJcXGYwNGRcIjtcbiRmYS12YXItc3RvcC1jaXJjbGU6IFwiXFxmMjhkXCI7XG4kZmEtdmFyLXN0b3AtY2lyY2xlLW86IFwiXFxmMjhlXCI7XG4kZmEtdmFyLXN0cmVldC12aWV3OiBcIlxcZjIxZFwiO1xuJGZhLXZhci1zdHJpa2V0aHJvdWdoOiBcIlxcZjBjY1wiO1xuJGZhLXZhci1zdHVtYmxldXBvbjogXCJcXGYxYTRcIjtcbiRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOiBcIlxcZjFhM1wiO1xuJGZhLXZhci1zdWJzY3JpcHQ6IFwiXFxmMTJjXCI7XG4kZmEtdmFyLXN1YndheTogXCJcXGYyMzlcIjtcbiRmYS12YXItc3VpdGNhc2U6IFwiXFxmMGYyXCI7XG4kZmEtdmFyLXN1bi1vOiBcIlxcZjE4NVwiO1xuJGZhLXZhci1zdXBlcnBvd2VyczogXCJcXGYyZGRcIjtcbiRmYS12YXItc3VwZXJzY3JpcHQ6IFwiXFxmMTJiXCI7XG4kZmEtdmFyLXN1cHBvcnQ6IFwiXFxmMWNkXCI7XG4kZmEtdmFyLXRhYmxlOiBcIlxcZjBjZVwiO1xuJGZhLXZhci10YWJsZXQ6IFwiXFxmMTBhXCI7XG4kZmEtdmFyLXRhY2hvbWV0ZXI6IFwiXFxmMGU0XCI7XG4kZmEtdmFyLXRhZzogXCJcXGYwMmJcIjtcbiRmYS12YXItdGFnczogXCJcXGYwMmNcIjtcbiRmYS12YXItdGFza3M6IFwiXFxmMGFlXCI7XG4kZmEtdmFyLXRheGk6IFwiXFxmMWJhXCI7XG4kZmEtdmFyLXRlbGVncmFtOiBcIlxcZjJjNlwiO1xuJGZhLXZhci10ZWxldmlzaW9uOiBcIlxcZjI2Y1wiO1xuJGZhLXZhci10ZW5jZW50LXdlaWJvOiBcIlxcZjFkNVwiO1xuJGZhLXZhci10ZXJtaW5hbDogXCJcXGYxMjBcIjtcbiRmYS12YXItdGV4dC1oZWlnaHQ6IFwiXFxmMDM0XCI7XG4kZmEtdmFyLXRleHQtd2lkdGg6IFwiXFxmMDM1XCI7XG4kZmEtdmFyLXRoOiBcIlxcZjAwYVwiO1xuJGZhLXZhci10aC1sYXJnZTogXCJcXGYwMDlcIjtcbiRmYS12YXItdGgtbGlzdDogXCJcXGYwMGJcIjtcbiRmYS12YXItdGhlbWVpc2xlOiBcIlxcZjJiMlwiO1xuJGZhLXZhci10aGVybW9tZXRlcjogXCJcXGYyYzdcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMDogXCJcXGYyY2JcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMTogXCJcXGYyY2FcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMjogXCJcXGYyYzlcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItMzogXCJcXGYyYzhcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItNDogXCJcXGYyYzdcIjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk6IFwiXFxmMmNiXCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWZ1bGw6IFwiXFxmMmM3XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWhhbGY6IFwiXFxmMmM5XCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI6IFwiXFxmMmNhXCI7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOiBcIlxcZjJjOFwiO1xuJGZhLXZhci10aHVtYi10YWNrOiBcIlxcZjA4ZFwiO1xuJGZhLXZhci10aHVtYnMtZG93bjogXCJcXGYxNjVcIjtcbiRmYS12YXItdGh1bWJzLW8tZG93bjogXCJcXGYwODhcIjtcbiRmYS12YXItdGh1bWJzLW8tdXA6IFwiXFxmMDg3XCI7XG4kZmEtdmFyLXRodW1icy11cDogXCJcXGYxNjRcIjtcbiRmYS12YXItdGlja2V0OiBcIlxcZjE0NVwiO1xuJGZhLXZhci10aW1lczogXCJcXGYwMGRcIjtcbiRmYS12YXItdGltZXMtY2lyY2xlOiBcIlxcZjA1N1wiO1xuJGZhLXZhci10aW1lcy1jaXJjbGUtbzogXCJcXGYwNWNcIjtcbiRmYS12YXItdGltZXMtcmVjdGFuZ2xlOiBcIlxcZjJkM1wiO1xuJGZhLXZhci10aW1lcy1yZWN0YW5nbGUtbzogXCJcXGYyZDRcIjtcbiRmYS12YXItdGludDogXCJcXGYwNDNcIjtcbiRmYS12YXItdG9nZ2xlLWRvd246IFwiXFxmMTUwXCI7XG4kZmEtdmFyLXRvZ2dsZS1sZWZ0OiBcIlxcZjE5MVwiO1xuJGZhLXZhci10b2dnbGUtb2ZmOiBcIlxcZjIwNFwiO1xuJGZhLXZhci10b2dnbGUtb246IFwiXFxmMjA1XCI7XG4kZmEtdmFyLXRvZ2dsZS1yaWdodDogXCJcXGYxNTJcIjtcbiRmYS12YXItdG9nZ2xlLXVwOiBcIlxcZjE1MVwiO1xuJGZhLXZhci10cmFkZW1hcms6IFwiXFxmMjVjXCI7XG4kZmEtdmFyLXRyYWluOiBcIlxcZjIzOFwiO1xuJGZhLXZhci10cmFuc2dlbmRlcjogXCJcXGYyMjRcIjtcbiRmYS12YXItdHJhbnNnZW5kZXItYWx0OiBcIlxcZjIyNVwiO1xuJGZhLXZhci10cmFzaDogXCJcXGYxZjhcIjtcbiRmYS12YXItdHJhc2gtbzogXCJcXGYwMTRcIjtcbiRmYS12YXItdHJlZTogXCJcXGYxYmJcIjtcbiRmYS12YXItdHJlbGxvOiBcIlxcZjE4MVwiO1xuJGZhLXZhci10cmlwYWR2aXNvcjogXCJcXGYyNjJcIjtcbiRmYS12YXItdHJvcGh5OiBcIlxcZjA5MVwiO1xuJGZhLXZhci10cnVjazogXCJcXGYwZDFcIjtcbiRmYS12YXItdHJ5OiBcIlxcZjE5NVwiO1xuJGZhLXZhci10dHk6IFwiXFxmMWU0XCI7XG4kZmEtdmFyLXR1bWJscjogXCJcXGYxNzNcIjtcbiRmYS12YXItdHVtYmxyLXNxdWFyZTogXCJcXGYxNzRcIjtcbiRmYS12YXItdHVya2lzaC1saXJhOiBcIlxcZjE5NVwiO1xuJGZhLXZhci10djogXCJcXGYyNmNcIjtcbiRmYS12YXItdHdpdGNoOiBcIlxcZjFlOFwiO1xuJGZhLXZhci10d2l0dGVyOiBcIlxcZjA5OVwiO1xuJGZhLXZhci10d2l0dGVyLXNxdWFyZTogXCJcXGYwODFcIjtcbiRmYS12YXItdW1icmVsbGE6IFwiXFxmMGU5XCI7XG4kZmEtdmFyLXVuZGVybGluZTogXCJcXGYwY2RcIjtcbiRmYS12YXItdW5kbzogXCJcXGYwZTJcIjtcbiRmYS12YXItdW5pdmVyc2FsLWFjY2VzczogXCJcXGYyOWFcIjtcbiRmYS12YXItdW5pdmVyc2l0eTogXCJcXGYxOWNcIjtcbiRmYS12YXItdW5saW5rOiBcIlxcZjEyN1wiO1xuJGZhLXZhci11bmxvY2s6IFwiXFxmMDljXCI7XG4kZmEtdmFyLXVubG9jay1hbHQ6IFwiXFxmMTNlXCI7XG4kZmEtdmFyLXVuc29ydGVkOiBcIlxcZjBkY1wiO1xuJGZhLXZhci11cGxvYWQ6IFwiXFxmMDkzXCI7XG4kZmEtdmFyLXVzYjogXCJcXGYyODdcIjtcbiRmYS12YXItdXNkOiBcIlxcZjE1NVwiO1xuJGZhLXZhci11c2VyOiBcIlxcZjAwN1wiO1xuJGZhLXZhci11c2VyLWNpcmNsZTogXCJcXGYyYmRcIjtcbiRmYS12YXItdXNlci1jaXJjbGUtbzogXCJcXGYyYmVcIjtcbiRmYS12YXItdXNlci1tZDogXCJcXGYwZjBcIjtcbiRmYS12YXItdXNlci1vOiBcIlxcZjJjMFwiO1xuJGZhLXZhci11c2VyLXBsdXM6IFwiXFxmMjM0XCI7XG4kZmEtdmFyLXVzZXItc2VjcmV0OiBcIlxcZjIxYlwiO1xuJGZhLXZhci11c2VyLXRpbWVzOiBcIlxcZjIzNVwiO1xuJGZhLXZhci11c2VyczogXCJcXGYwYzBcIjtcbiRmYS12YXItdmNhcmQ6IFwiXFxmMmJiXCI7XG4kZmEtdmFyLXZjYXJkLW86IFwiXFxmMmJjXCI7XG4kZmEtdmFyLXZlbnVzOiBcIlxcZjIyMVwiO1xuJGZhLXZhci12ZW51cy1kb3VibGU6IFwiXFxmMjI2XCI7XG4kZmEtdmFyLXZlbnVzLW1hcnM6IFwiXFxmMjI4XCI7XG4kZmEtdmFyLXZpYWNvaW46IFwiXFxmMjM3XCI7XG4kZmEtdmFyLXZpYWRlbzogXCJcXGYyYTlcIjtcbiRmYS12YXItdmlhZGVvLXNxdWFyZTogXCJcXGYyYWFcIjtcbiRmYS12YXItdmlkZW8tY2FtZXJhOiBcIlxcZjAzZFwiO1xuJGZhLXZhci12aW1lbzogXCJcXGYyN2RcIjtcbiRmYS12YXItdmltZW8tc3F1YXJlOiBcIlxcZjE5NFwiO1xuJGZhLXZhci12aW5lOiBcIlxcZjFjYVwiO1xuJGZhLXZhci12azogXCJcXGYxODlcIjtcbiRmYS12YXItdm9sdW1lLWNvbnRyb2wtcGhvbmU6IFwiXFxmMmEwXCI7XG4kZmEtdmFyLXZvbHVtZS1kb3duOiBcIlxcZjAyN1wiO1xuJGZhLXZhci12b2x1bWUtb2ZmOiBcIlxcZjAyNlwiO1xuJGZhLXZhci12b2x1bWUtdXA6IFwiXFxmMDI4XCI7XG4kZmEtdmFyLXdhcm5pbmc6IFwiXFxmMDcxXCI7XG4kZmEtdmFyLXdlY2hhdDogXCJcXGYxZDdcIjtcbiRmYS12YXItd2VpYm86IFwiXFxmMThhXCI7XG4kZmEtdmFyLXdlaXhpbjogXCJcXGYxZDdcIjtcbiRmYS12YXItd2hhdHNhcHA6IFwiXFxmMjMyXCI7XG4kZmEtdmFyLXdoZWVsY2hhaXI6IFwiXFxmMTkzXCI7XG4kZmEtdmFyLXdoZWVsY2hhaXItYWx0OiBcIlxcZjI5YlwiO1xuJGZhLXZhci13aWZpOiBcIlxcZjFlYlwiO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXCJcXGYyNjZcIjtcbiRmYS12YXItd2luZG93LWNsb3NlOiBcIlxcZjJkM1wiO1xuJGZhLXZhci13aW5kb3ctY2xvc2UtbzogXCJcXGYyZDRcIjtcbiRmYS12YXItd2luZG93LW1heGltaXplOiBcIlxcZjJkMFwiO1xuJGZhLXZhci13aW5kb3ctbWluaW1pemU6IFwiXFxmMmQxXCI7XG4kZmEtdmFyLXdpbmRvdy1yZXN0b3JlOiBcIlxcZjJkMlwiO1xuJGZhLXZhci13aW5kb3dzOiBcIlxcZjE3YVwiO1xuJGZhLXZhci13b246IFwiXFxmMTU5XCI7XG4kZmEtdmFyLXdvcmRwcmVzczogXCJcXGYxOWFcIjtcbiRmYS12YXItd3BiZWdpbm5lcjogXCJcXGYyOTdcIjtcbiRmYS12YXItd3BleHBsb3JlcjogXCJcXGYyZGVcIjtcbiRmYS12YXItd3Bmb3JtczogXCJcXGYyOThcIjtcbiRmYS12YXItd3JlbmNoOiBcIlxcZjBhZFwiO1xuJGZhLXZhci14aW5nOiBcIlxcZjE2OFwiO1xuJGZhLXZhci14aW5nLXNxdWFyZTogXCJcXGYxNjlcIjtcbiRmYS12YXIteS1jb21iaW5hdG9yOiBcIlxcZjIzYlwiO1xuJGZhLXZhci15LWNvbWJpbmF0b3Itc3F1YXJlOiBcIlxcZjFkNFwiO1xuJGZhLXZhci15YWhvbzogXCJcXGYxOWVcIjtcbiRmYS12YXIteWM6IFwiXFxmMjNiXCI7XG4kZmEtdmFyLXljLXNxdWFyZTogXCJcXGYxZDRcIjtcbiRmYS12YXIteWVscDogXCJcXGYxZTlcIjtcbiRmYS12YXIteWVuOiBcIlxcZjE1N1wiO1xuJGZhLXZhci15b2FzdDogXCJcXGYyYjFcIjtcbiRmYS12YXIteW91dHViZTogXCJcXGYxNjdcIjtcbiRmYS12YXIteW91dHViZS1wbGF5OiBcIlxcZjE2YVwiO1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXCJcXGYxNjZcIjtcblxuIiwiLy8gQm9yZGVyZWQgJiBQdWxsZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlciB7XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG4gIGJvcmRlcjogc29saWQgLjA4ZW0gJGZhLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogLjFlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4uI3skZmEtY3NzLXByZWZpeH0ge1xuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtbGVmdCB7IG1hcmdpbi1yaWdodDogLjNlbTsgfVxuICAmLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBtYXJnaW4tbGVmdDogLjNlbTsgfVxufVxuXG4vKiBEZXByZWNhdGVkIGFzIG9mIDQuNC4wICovXG4ucHVsbC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuLnB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XG5cbi4jeyRmYS1jc3MtcHJlZml4fSB7XG4gICYucHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYucHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBTcGlubmluZyBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG4gICAgICAgICAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG5cbi8vIEhvb2sgZm9yIElFOC05XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG46cm9vdCAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTE4MCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMjcwLFxuOnJvb3QgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbjpyb290IC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsIHtcbiAgZmlsdGVyOiBub25lO1xufVxuIiwiLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gZmEtaWNvbigpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAjeyRmYS1mb250LXNpemUtYmFzZX0vI3skZmEtbGluZS1oZWlnaHQtYmFzZX0gRm9udEF3ZXNvbWU7IC8vIHNob3J0ZW5pbmcgZm9udCBkZWNsYXJhdGlvblxuICBmb250LXNpemU6IGluaGVyaXQ7IC8vIGNhbid0IGhhdmUgZm9udC1zaXplIGluaGVyaXQgb24gbGluZSBhYm92ZSwgc28gbmVlZCB0byBvdmVycmlkZVxuICB0ZXh0LXJlbmRlcmluZzogYXV0bzsgLy8gb3B0aW1pemVsZWdpYmlsaXR5IHRocm93cyB0aGluZ3Mgb2ZmICMxMDk0XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG59XG5cbkBtaXhpbiBmYS1pY29uLXJvdGF0ZSgkZGVncmVlcywgJHJvdGF0aW9uKSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259KVwiO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuXG5AbWl4aW4gZmEtaWNvbi1mbGlwKCRob3JpeiwgJHZlcnQsICRyb3RhdGlvbikge1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPSN7JHJvdGF0aW9ufSwgbWlycm9yPTEpXCI7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRob3JpeiwgJHZlcnQpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJGhvcml6LCAkdmVydCk7XG59XG5cblxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnMuIEEgbGEgQm9vdHN0cmFwIDQuXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG4iLCIvLyBTdGFja2VkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCwgLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTJ4IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLTF4IHsgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0yeCB7IGZvbnQtc2l6ZTogMmVtOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52ZXJzZSB7IGNvbG9yOiAkZmEtaW52ZXJzZTsgfVxuIiwiLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG4gICByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuXG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGFzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbXVzaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zZWFyY2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGVhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RhcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbG07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1sYXJnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRoLWxhcmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoLWxpc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aC1saXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGVjazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlbW92ZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2xvc2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGltZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlYXJjaC1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VhcmNoLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2VhcmNoLW1pbnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG93ZXItb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcG93ZXItb2ZmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbmFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VhcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY29nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhc2gtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYXNoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob21lOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG9tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb2NrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJvYWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRvd25sb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1vLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5ib3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmJveDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXktY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGF5LWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLXJpZ2h0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBlYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZXBlYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWZyZXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVmcmVzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9jazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYWRwaG9uZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLW9mZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdm9sdW1lLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12b2x1bWUtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcmNvZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xcmNvZGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFyY29kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhZ3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10YWdzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvb2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rbWFyazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvb2ttYXJrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJpbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wcmludDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbWVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb250OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9sZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJvbGQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdGFsaWM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pdGFsaWM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LWhlaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRleHQtaGVpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGV4dC13aWR0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRleHQtd2lkdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFsaWduLWNlbnRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWxpZ24tanVzdGlmeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVkZW50OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1vdXRkZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3V0ZGVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZGVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluZGVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpZGVvLWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpZGVvLWNhbWVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob3RvOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcGljdHVyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGljdHVyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGVuY2lsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcC1tYXJrZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGp1c3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGp1c3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGludDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkaXQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbC1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoYXJlLXNxdWFyZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtc3F1YXJlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0ZXAtYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFzdC1iYWNrd2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFja3dhcmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF1c2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RvcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFzdC1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlcC1mb3J3YXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWplY3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lamVjdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZXZyb24tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRpbWVzLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZWNrLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm8tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5mby1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9zc2hhaXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3Jvc3NoYWlyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGltZXMtY2lyY2xlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjay1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoZWNrLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmFuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1mb3J3YXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhwYW5kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21wcmVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXN0ZXJpc2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2lmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYWY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZWFmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWUtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13YXJuaW5nOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbGFuZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYW5kb206YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yYW5kb207IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hZ25ldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmV0d2VldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJldHdlZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctY2FydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9sZGVyLW9wZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93cy12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvd3MtaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhci1jaGFydC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXItY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYXItY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0dGVyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR3aXR0ZXItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFjZWJvb2stc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FtZXJhLXJldHJvOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIta2V5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2VhcnM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZ3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1icy1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLW8tZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YXItaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYXJ0LW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFydC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1vdXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zaWduLW91dDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbmtlZGluLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRodW1iLXRhY2s6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYi10YWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4dGVybmFsLWxpbms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduLWluOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2lnbi1pbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyb3BoeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyb3BoeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRodWItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXBsb2FkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVtb24tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxlbW9uLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBob25lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcXVhcmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2ttYXJrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib29rbWFyay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGhvbmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR3aXR0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vay1mOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mYWNlYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZhY2Vib29rOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0aHViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5sb2NrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jcmVkaXQtY2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZWQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhkZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGRkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsaG9ybjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1bGxob3JuOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jZXJ0aWZpY2F0ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNlcnRpZmljYXRlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLW8tbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtby11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtby1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXJyb3ctY2lyY2xlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2xvYmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cmVuY2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cmVuY2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXNrczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhc2tzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsdGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnJpZWZjYXNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFycm93cy1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncm91cDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdXNlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWluOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGluazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFzazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYXNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1zY2lzc29yczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNjaXNzb3JzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlcmNsaXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXBlcmNsaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXZlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1mbG9wcHktbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsb3BweS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmF2aWNvbjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVvcmRlcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LXVsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlzdC11bDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Qtb2w6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saXN0LW9sOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RyaWtldGhyb3VnaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0cmlrZXRocm91Z2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmRlcmxpbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmRlcmxpbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRhYmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnaWM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWdpYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRydWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJ1Y2s7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waW50ZXJlc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGludGVyZXN0LXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ29vZ2xlLXBsdXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vbmV5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC11cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29sdW1uczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbHVtbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bnNvcnRlZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc29ydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRvd246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYXNjOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc29ydC1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1saW5rZWRpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS1sZWZ0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS11bmRvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdW5kbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlZ2FsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1nYXZlbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdhdmVsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGJvYXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFjaG9tZXRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbW1lbnQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhc2g6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ib2x0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0ZW1hcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpdGVtYXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVtYnJlbGxhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzdGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsaXBib2FyZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0YnVsYi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlnaHRidWxiLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNoYW5nZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4Y2hhbmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG91ZC1kb3dubG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNsb3VkLXVwbG9hZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLW1kOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGV0aG9zY29wZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3VpdGNhc2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2ZmZWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2ZmZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jdXRsZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3V0bGVyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGV4dC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS10ZXh0LW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWlsZGluZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVpbGRpbmctbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3NwaXRhbC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1idWxhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW1idWxhbmNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVka2l0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVka2l0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlnaHRlci1qZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWdodGVyLWpldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGx1cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG91YmxlLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbmdsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2t0b3A6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZXNrdG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGFwdG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFibGV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGFibGV0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLXBob25lOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb2JpbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1b3RlLWxlZnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdW90ZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXF1b3RlLXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bpbm5lcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwaW5uZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsLXJlcGx5OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlcGx5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0aHViLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdpdGh1Yi1hbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLW9wZW4tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbGRlci1vcGVuLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc21pbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mcm93bi1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tZWgtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbWVwYWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYW1lcGFkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5Ym9hcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtleWJvYXJkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mbGFnLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLWNoZWNrZXJlZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsYWctY2hlY2tlcmVkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVybWluYWw6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZXJtaW5hbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1yZXBseS1hbGw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlcGx5LWFsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlcGx5LWFsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1oYWxmLWZ1bGw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItaGFsZi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Rhci1oYWxmLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NhdGlvbi1hcnJvdzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvY2F0aW9uLWFycm93OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyb3A7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlLWZvcms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb2RlLWZvcms7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11bmxpbms6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYWluLWJyb2tlbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoYWluLWJyb2tlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1ZXN0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVlc3Rpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW5mbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXhjbGFtYXRpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1cGVyc2NyaXB0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Vic2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3Vic2NyaXB0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXJhc2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZXJhc2VyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHV6emxlLXBpZWNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcHV6emxlLXBpZWNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pY3JvcGhvbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWljcm9waG9uZS1zbGFzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaWVsZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvY2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJvY2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1heGNkbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1heGNkbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hldnJvbi1jaXJjbGUtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaHRtbDU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jc3MzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY3NzMzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuY2hvcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuY2hvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVubG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bmxvY2stYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbHNleWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1idWxsc2V5ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLWg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1lbGxpcHNpcy1oOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWxsaXBzaXMtdjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVsbGlwc2lzLXY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yc3Mtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcnNzLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXktY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGxheS1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aWNrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aWNrZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taW51cy1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1zcXVhcmUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1pbnVzLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtdXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZXZlbC11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sZXZlbC1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2hlY2stc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlbmNpbC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbXBhc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtZG93bjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtdXA6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtcmlnaHQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FyZXQtc3F1YXJlLW8tcmlnaHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldXJvOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ldXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ldXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYnA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nYnA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xsYXI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1cGVlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbnI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbnI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbnk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXJtYjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teWVuOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1qcHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1qcHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWJsZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tcm91YmxlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ydWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ydWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13b246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWtydzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWtydzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGNvaW46YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ0YzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ0YzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS10ZXh0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1hc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFscGhhLWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYWxwaGEtZGVzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtYW1vdW50LWFzYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zb3J0LWFtb3VudC1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWFzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1hc2M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1kZXNjOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGh1bWJzLXVwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aHVtYnMtZG93bjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW91dHViZS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b3V0dWJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteW91dHViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXhpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci14aW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teGluZy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci14aW5nLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXlvdXR1YmUtcGxheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvdXR1YmUtcGxheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyb3Bib3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kcm9wYm94OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGFjay1vdmVyZmxvdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluc3RhZ3JhbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWluc3RhZ3JhbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZsaWNrcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJpdGJ1Y2tldDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXRidWNrZXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVtYmxyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHVtYmxyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHVtYmxyLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXR1bWJsci1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LWRvd247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG9uZy1hcnJvdy11cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxvbmctYXJyb3ctbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sb25nLWFycm93LXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcHBsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aW5kb3dzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFuZHJvaWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW51eDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbnV4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kcmliYmJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2t5cGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb3Vyc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm91cnNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyZWxsbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyZWxsbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZlbWFsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGlwOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF0aXBheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdyYXRpcGF5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VuLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdW4tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vb24tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1vb24tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFyY2hpdmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcmNoaXZlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdms6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12azsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2VpYm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW5yZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZW5yZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlbGluZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYWdlbGluZXM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay1leGNoYW5nZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1yaWdodDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hcnJvdy1jaXJjbGUtby1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLWxlZnQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1vLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYXJldC1zcXVhcmUtby1sZWZ0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG90LWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZG90LWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hlZWxjaGFpcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdoZWVsY2hhaXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12aW1lby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aW1lby1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dXJraXNoLWxpcmE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtc3F1YXJlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVzLXNxdWFyZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BhY2Utc2h1dHRsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNwYWNlLXNodXR0bGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNsYWNrOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td29yZHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd29yZHByZXNzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmlkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlbmlkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGl0dXRpb246YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbms6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXVuaXZlcnNpdHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11bml2ZXJzaXR5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9ydGFyLWJvYXJkOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdyYWR1YXRpb24tY2FwOyB9XG4uI3skZmEtY3NzLXByZWZpeH0teWFob286YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15YWhvbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlZGRpdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGRpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdHVtYmxldXBvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbGljaW91czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRlbGljaW91czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2c6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kaWdnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1wcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpZWQtcGlwZXItcHA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpZWQtcGlwZXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZHJ1cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9vbWxhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItam9vbWxhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYW5ndWFnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZheDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZheDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1aWxkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYnVpbGRpbmc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGlsZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNoaWxkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF3OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF3OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bvb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcG9vbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jdWJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jdWJlczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlaGFuY2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWhhbmNlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWhhbmNlLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFtOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RlYW07IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdGVhbS1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcmVjeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1dG9tb2JpbGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhYjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGF4aTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRheGk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJlZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwb3RpZnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zcG90aWZ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV2aWFudGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRldmlhbnRhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3VuZGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc291bmRjbG91ZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZGF0YWJhc2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBkZi1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1wZGYtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtd29yZC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS13b3JkLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWV4Y2VsLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWV4Y2VsLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtcG93ZXJwb2ludC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1waG90by1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBpY3R1cmUtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1pbWFnZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1pbWFnZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS16aXAtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLWFyY2hpdmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc291bmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpby1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlsZS1hdWRpby1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1tb3ZpZS1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXZpZGVvLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maWxlLXZpZGVvLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNvZGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZpbGUtY29kZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmluZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpbmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kZXBlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzZmlkZGxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItanNmaWRkbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWZlLWJvdXk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZmUtYnVveTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1zYXZlcjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc3VwcG9ydDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1yaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGlmZS1yaW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLW8tbm90Y2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtby1ub3RjaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZXNpc3RhbmNlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1yZWJlbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXJlYmVsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWVtcGlyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVtcGlyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXQtc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2l0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0teS1jb21iaW5hdG9yLXNxdWFyZTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0teWMtc3F1YXJlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYWNrZXItbmV3czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhY2tlci1uZXdzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVuY2VudC13ZWlibzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlbmNlbnQtd2VpYm87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXFxOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2VjaGF0OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS13ZWl4aW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13ZWl4aW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZW5kOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlci1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcGVyLXBsYW5lOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VuZC1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1wYXBlci1wbGFuZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGFwZXItcGxhbmUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpc3Rvcnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oaXN0b3J5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2lyY2xlLXRoaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jaXJjbGUtdGhpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhlYWRlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFncmFwaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhcmFncmFwaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbGlkZXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hhcmUtYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoYXJlLWFsdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib21iOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYm9tYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvY2Nlci1iYWxsLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1dGJvbC1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZnV0Ym9sLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10dHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10dHk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaW5vY3VsYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmlub2N1bGFyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wbHVnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVzaGFyZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNsaWRlc2hhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10d2l0Y2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10d2l0Y2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15ZWxwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXIteWVscDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5ld3NwYXBlci1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbmV3c3BhcGVyLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aWZpOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2lmaTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGN1bGF0b3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxjdWxhdG9yOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGF5cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXdhbGxldDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS13YWxsZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy12aXNhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtdmlzYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1tYXN0ZXJjYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGlzY292ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1kaXNjb3ZlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFtZXg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1hbWV4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtcGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2MtcGF5cGFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2Mtc3RyaXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2Mtc3RyaXBlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlbGwtc2xhc2g7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLXNsYXNoLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iZWxsLXNsYXNoLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10cmFzaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYXNoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29weXJpZ2h0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZWRyb3BwZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leWVkcm9wcGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFpbnQtYnJ1c2g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYWludC1icnVzaDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpcnRoZGF5LWNha2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iaXJ0aGRheS1jYWtlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJlYS1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFyZWEtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWUtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1waWUtY2hhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5lLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGluZS1jaGFydDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxhc3RmbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1sYXN0Zm0tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdG9nZ2xlLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRvZ2dsZS1vZmY7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10b2dnbGUtb246YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10b2dnbGUtb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmljeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlveGhvc3Q6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pb3hob3N0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nZWxsaXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW5nZWxsaXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2M6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoZWtlbDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2hlcWVsOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1pbHM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWFucGF0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lYW5wYXRoOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnV5c2VsbGFkczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJ1eXNlbGxhZHM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNvbm5lY3RkZXZlbG9wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kYXNoY3ViZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnVtYmVlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZm9ydW1iZWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFucHViOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbGVhbnB1YjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbGxzeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlbGxzeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXJ0c2luYnVsazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNoaXJ0c2luYnVsazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbXBseWJ1aWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2ltcGx5YnVpbHQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za3lhdGxhczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNreWF0bGFzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FydC1wbHVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FydC1hcnJvdy1kb3duOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlhbW9uZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWRpYW1vbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hpcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItc2VjcmV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1zZWNyZXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3RvcmN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW90b3JjeWNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVldC12aWV3OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc3RyZWV0LXZpZXc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydGJlYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oZWFydGJlYXQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12ZW51czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZlbnVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXJjdXJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVyY3VyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVyc2V4OmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10cmFuc2dlbmRlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYW5zZ2VuZGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdHJhbnNnZW5kZXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmVudXMtZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmVudXMtZG91YmxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1kb3VibGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLWRvdWJsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZlbnVzLW1hcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12ZW51cy1tYXJzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2U6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXJzLXN0cm9rZS12OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2UtaDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcnMtc3Ryb2tlLWg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXV0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1uZXV0ZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZW5kZXJsZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2VuZGVybGVzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmFjZWJvb2stb2ZmaWNpYWw7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBpbnRlcmVzdC1wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2hhdHNhcHA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aGF0c2FwcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlcnZlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNlcnZlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItcGx1czsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItdGltZXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci11c2VyLXRpbWVzOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZWw6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJlZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWNvaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWFjb2luOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJhaW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmFpbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YndheTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN1YndheTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1lZGl1bTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXljOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS15LWNvbWJpbmF0b3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci15LWNvbWJpbmF0b3I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3B0aW4tbW9uc3RlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb3BlbmNhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBlZGl0ZWRzc2w6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1leHBlZGl0ZWRzc2w7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnk6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktZnVsbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktZnVsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LTI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdHRlcnktaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktMTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS1xdWFydGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1xdWFydGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS0wOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmF0dGVyeS1lbXB0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdXNlLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tb3VzZS1wb2ludGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taS1jdXJzb3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pLWN1cnNvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC1ncm91cDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW9iamVjdC1ncm91cDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9iamVjdC11bmdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItb2JqZWN0LXVuZ3JvdXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGlja3ktbm90ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0aWNreS1ub3RlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RpY2t5LW5vdGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXN0aWNreS1ub3RlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1qY2I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYy1qY2I7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1kaW5lcnMtY2x1YjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNjLWRpbmVycy1jbHViOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jbG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGFuY2Utc2NhbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYWxhbmNlLXNjYWxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3MtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy0xOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3Mtc3RhcnQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtMjpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWhhbGY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy0zOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VyZ2xhc3MtZW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaG91cmdsYXNzLWVuZDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhvdXJnbGFzczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtZ3JhYi1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXJvY2stbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcm9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zdG9wLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGFwZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcGFwZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc2Npc3NvcnMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtc2Npc3NvcnMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLWxpemFyZC1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcG9jay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZC1zcG9jay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludGVyLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1oYW5kLXBvaW50ZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhbmQtcGVhY2UtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRyYWRlbWFyazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRyYWRlbWFyazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZ2lzdGVyZWQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWdpc3RlcmVkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9uczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZ2ctY2lyY2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdHJpcGFkdmlzb3I6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10cmlwYWR2aXNvcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2k6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vZG5va2xhc3NuaWtpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdldC1wb2NrZXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nZXQtcG9ja2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0td2lraXBlZGlhLXc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13aWtpcGVkaWEtdzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhZmFyaTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNhZmFyaTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNocm9tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNocm9tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3g6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1maXJlZm94OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlcmE6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1vcGVyYTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10djpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXRlbGV2aXNpb247IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb250YW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb250YW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS01MDBweDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLTUwMHB4OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW1hem9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYW1hem9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItcGx1cy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItcGx1cy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItbWludXMtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNhbGVuZGFyLW1pbnVzLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY2FsZW5kYXItdGltZXMtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWNoZWNrLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jYWxlbmRhci1jaGVjay1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kdXN0cnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pbmR1c3RyeTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1waW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtcGluOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXNpZ25zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWFwLXNpZ25zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1tYXAtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLW1hcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnRpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1jb21tZW50aW5nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudGluZy1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29tbWVudGluZy1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91eno6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ob3V6ejsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpbWVvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdmltZW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFjay10aWU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ibGFjay10aWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250aWNvbnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1mb250aWNvbnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtYWxpZW46YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yZWRkaXQtYWxpZW47IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lZGdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZWRnZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWRpdC1jYXJkLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWNyZWRpdC1jYXJkLWFsdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGllcGllOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItY29kaWVwaWU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2R4OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbW9keDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvcnQtYXdlc29tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByb2R1Y3QtaHVudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXByb2R1Y3QtaHVudDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWl4Y2xvdWQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3JpYmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zY3JpYmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1wYXVzZS1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGUtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBhdXNlLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdG9wLWNpcmNsZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdG9wLWNpcmNsZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFnOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctYmFnOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc2hvcHBpbmctYmFza2V0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFzaHRhZzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWhhc2h0YWc7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibHVldG9vdGg6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ibHVldG9vdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibHVldG9vdGgtYjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJsdWV0b290aC1iOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXBlcmNlbnQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRsYWI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1naXRsYWI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13cGJlZ2lubmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd3BiZWdpbm5lcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZm9ybXM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cGZvcm1zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52aXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52aXJhOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS13aGVlbGNoYWlyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdoZWVsY2hhaXItYWx0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsaW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYmxpbmQ7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpby1kZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdm9sdW1lLWNvbnRyb2wtcGhvbmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12b2x1bWUtY29udHJvbC1waG9uZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYWlsbGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1icmFpbGxlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXNsLWludGVycHJldGluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYWZuZXNzOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1oYXJkLW9mLWhlYXJpbmc6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYWY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1kZWFmOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGlkZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsaWRlLWc6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1nbGlkZS1nOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmluZzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNpZ24tbGFuZ3VhZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb3ctdmlzaW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbG93LXZpc2lvbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXZpYWRlbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXZpYWRlby1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci12aWFkZW8tc3F1YXJlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbmFwY2hhdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItc25hcGNoYXQtZ2hvc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zbmFwY2hhdC1zcXVhcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcGllZC1waXBlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZmlyc3Qtb3JkZXI7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS15b2FzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXlvYXN0OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlbWVpc2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlbWVpc2xlOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsdXMtY2lyY2xlOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWdvb2dsZS1wbHVzLW9mZmljaWFsOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZvbnQtYXdlc29tZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzaGFrZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaGFuZHNoYWtlLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbnZlbG9wZS1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItZW52ZWxvcGUtb3BlbjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW4tbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVudmVsb3BlLW9wZW4tbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbm9kZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWxpbm9kZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtYm9vazpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWFkZHJlc3MtYm9vazsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkZHJlc3MtYm9vay1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRkcmVzcy1ib29rLW87IH1cbi4jeyRmYS1jc3MtcHJlZml4fS12Y2FyZDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItYWRkcmVzcy1jYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdmNhcmQtbzpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYWRkcmVzcy1jYXJkLW86YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1hZGRyZXNzLWNhcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1jaXJjbGU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS11c2VyLWNpcmNsZS1vOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdXNlci1jaXJjbGUtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXVzZXItbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXVzZXItbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWJhZGdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaWQtYmFkZ2U7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcml2ZXJzLWxpY2Vuc2U6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1pZC1jYXJkOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpdmVycy1saWNlbnNlLW86YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWlkLWNhcmQtbzsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3JhOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcXVvcmE7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlLWNvZGUtY2FtcDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWZyZWUtY29kZS1jYW1wOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW06YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10ZWxlZ3JhbTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTQ6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTM6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci0yOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItdGhlcm1vbWV0ZXItaGFsZjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLTE6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLXF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItMDpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItZW1wdHk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci10aGVybW9tZXRlci1lbXB0eTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3dlcjpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNob3dlcjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdGh0dWI6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXMxNTpiZWZvcmUsXG4uI3skZmEtY3NzLXByZWZpeH0tYmF0aDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWJhdGg7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2RjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItcG9kY2FzdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1taW5pbWl6ZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1taW5pbWl6ZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1yZXN0b3JlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItd2luZG93LXJlc3RvcmU7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aW1lcy1yZWN0YW5nbGU6YmVmb3JlLFxuLiN7JGZhLWNzcy1wcmVmaXh9LXdpbmRvdy1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1jbG9zZTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRpbWVzLXJlY3RhbmdsZS1vOmJlZm9yZSxcbi4jeyRmYS1jc3MtcHJlZml4fS13aW5kb3ctY2xvc2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXdpbmRvdy1jbG9zZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuZGNhbXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1iYW5kY2FtcDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyYXY6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1ncmF2OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRzeTpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWV0c3k7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItaW1kYjsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJhdmVscnk6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1yYXZlbHJ5OyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWVyY2FzdDpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLWVlcmNhc3Q7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb2NoaXA6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1taWNyb2NoaXA7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2UtbzpiZWZvcmUgeyBjb250ZW50OiAkZmEtdmFyLXNub3dmbGFrZS1vOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwZXJwb3dlcnM6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci1zdXBlcnBvd2VyczsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXdwZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogJGZhLXZhci13cGV4cGxvcmVyOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVldHVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYS12YXItbWVldHVwOyB9XG4iLCIvLyBTY3JlZW4gUmVhZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uc3Itb25seSB7IEBpbmNsdWRlIHNyLW9ubHkoKTsgfVxuLnNyLW9ubHktZm9jdXNhYmxlIHsgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTsgfVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG4gKiBIYW1idXJnZXJzXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcbiAqIEBzaXRlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcbiAqL1xuXG4vLyBTZXR0aW5nc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoYW1idXJnZXItcGFkZGluZy14ICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXBhZGRpbmcteSAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgIDogNDBweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAgICAgICA6IDZweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItY29sb3IgICAgICAgICA6ICMwMDAgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgOiA0cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgOiAwLjcgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvciAgOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICFkZWZhdWx0O1xuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAhZGVmYXVsdDtcblxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci10eXBlczogKFxuICAzZHgsXG4gIDNkeC1yLFxuICAzZHksXG4gIDNkeS1yLFxuICAzZHh5LFxuICAzZHh5LXIsXG4gIGFycm93LFxuICBhcnJvdy1yLFxuICBhcnJvd2FsdCxcbiAgYXJyb3dhbHQtcixcbiAgYXJyb3d0dXJuLFxuICBhcnJvd3R1cm4tcixcbiAgYm9yaW5nLFxuICBjb2xsYXBzZSxcbiAgY29sbGFwc2UtcixcbiAgZWxhc3RpYyxcbiAgZWxhc3RpYy1yLFxuICBlbXBoYXRpYyxcbiAgZW1waGF0aWMtcixcbiAgbWludXMsXG4gIHNsaWRlcixcbiAgc2xpZGVyLXIsXG4gIHNwaW4sXG4gIHNwaW4tcixcbiAgc3ByaW5nLFxuICBzcHJpbmctcixcbiAgc3RhbmQsXG4gIHN0YW5kLXIsXG4gIHNxdWVlemUsXG4gIHZvcnRleCxcbiAgdm9ydGV4LXJcbikgIWRlZmF1bHQ7XG5cbi8vIEJhc2UgSGFtYnVyZ2VyIChXZSBuZWVkIHRoaXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcImJhc2VcIjtcblxuLy8gSGFtYnVyZ2VyIHR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcInR5cGVzLzNkeFwiO1xuQGltcG9ydCBcInR5cGVzLzNkeC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4eS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvdy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9ib3JpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZVwiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvbWludXNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXItclwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW5cIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmctclwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmQtclwiO1xuQGltcG9ydCBcInR5cGVzL3NxdWVlemVcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXgtclwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29va2luZyB1cCBhZGRpdGlvbmFsIHR5cGVzOlxuLy9cbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcbi8vIGluc2lkZSBhbiBAaWYgZGlyZWN0aXZlIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90XG4vLyBpdCBleGlzdHMgaW4gJGhhbWJ1cmdlci10eXBlcyBzbyBvbmx5IHRoZSBDU1MgZm9yXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxuLy9cbi8vIGUuZy4gaGFtYnVyZ2Vycy90eXBlcy9fbmV3LXR5cGUuc2Nzc1xuLy9cbi8vIEBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBuZXctdHlwZSkge1xuLy8gICAuaGFtYnVyZ2VyLS1uZXctdHlwZSB7XG4vLyAgICAgLi4uXG4vLyAgIH1cbi8vIH1cbiIsIi8vIEhhbWJ1cmdlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuICAvLyBOb3JtYWxpemUgKDxidXR0b24+KVxuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgJjpob3ZlciB7XG4gICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcbiAgICAgIGZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xuICAgICAgICBmaWx0ZXI6ICRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyLFxuICAgIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmhhbWJ1cmdlci1ib3gge1xuICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDMgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAtMjtcblxuICAmLFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItbGF5ZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIH1cblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBib3R0b206ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxufVxuIiwiJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgICAgICAgICAgICAgIDogMTBweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItcGFkZGluZy15ICAgICAgICAgICAgICAgICAgICAgICA6IDEwcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXdpZHRoICAgICAgICAgICAgICAgICAgICAgOiAyMnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogMnB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgICAgICAgICAgICAgIDogNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAgICAgICAgICAgICAgICAgICA6IDAuNyAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi1kdXJhdGlvbiAgICAgICA6IDAuMTVzICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAhZGVmYXVsdDtcblxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXG4kaGFtYnVyZ2VyLXR5cGVzOiAoXG4vLyAzZHgsXG4vLyAzZHgtcixcbi8vIDNkeSxcbi8vIDNkeS1yLFxuLy8gM2R4eSxcbi8vIDNkeHktcixcbi8vIGFycm93LFxuLy8gYXJyb3ctcixcbi8vIGFycm93YWx0LFxuLy8gYXJyb3dhbHQtcixcbi8vIGFycm93dHVybixcbi8vIGFycm93dHVybi1yLFxuLy8gYm9yaW5nLFxuLy8gY29sbGFwc2UsXG4vLyBjb2xsYXBzZS1yLFxuLy8gZWxhc3RpYyxcbi8vIGVsYXN0aWMtcixcbi8vIGVtcGhhdGljLFxuLy8gZW1waGF0aWMtcixcbi8vIG1pbnVzLFxuLy8gc2xpZGVyLFxuLy8gc2xpZGVyLXIsXG4vLyBzcHJpbmcsXG4vLyBzcHJpbmctcixcbnN0YW5kLFxuc3RhbmQtcixcbi8vIHNwaW4sXG4vLyBzcGluLXIsXG4vLyBzcXVlZXplLFxuLy8gdm9ydGV4LFxuLy8gdm9ydGV4LXJcbikgIWRlZmF1bHQ7XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3RhbmQpIHtcbiAgLypcbiAgICogU3RhbmRcbiAgICovXG4gIC5oYW1idXJnZXItLXN0YW5kIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMDc1cyBsaW5lYXI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHN0YW5kLXIpIHtcbiAgLypcbiAgICogU3RhbmQgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3RhbmQtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjA3NXMgbGluZWFyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKlxuICogIE93bCBDYXJvdXNlbCAtIENvcmVcbiAqL1xuLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHQvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cblx0Lm93bC1zdGFnZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuXHRcdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovXG5cdH1cblxuXHQub3dsLXN0YWdlOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIi5cIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjbGVhcjogYm90aDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHR9XG5cblx0Lm93bC1zdGFnZS1vdXRlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpO1xuXHR9XG5cblx0Lm93bC13cmFwcGVyLFxuXHQub3dsLWl0ZW17XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHR9XG5cblx0Lm93bC1pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWluLWhlaWdodDogMXB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHR9XG5cdC5vd2wtaXRlbSBpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Lm93bC1uYXYuZGlzYWJsZWQsXG5cdC5vd2wtZG90cy5kaXNhYmxlZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IC5vd2wtcHJldixcblx0Lm93bC1uYXYgLm93bC1uZXh0LFxuXHQub3dsLWRvdCB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHR9XG5cblx0Lm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LFxuXHQub3dsLW5hdiBidXR0b24ub3dsLW5leHQsXG5cdGJ1dHRvbi5vd2wtZG90IHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRwYWRkaW5nOjAhaW1wb3J0YW50O1xuXHRcdGZvbnQ6IGluaGVyaXQ7XG5cdH1cblxuXHQmLm93bC1sb2FkZWQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtbG9hZGluZyB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWhpZGRlbiB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdCYub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cblxuXHQmLm93bC1kcmFnIC5vd2wtaXRlbSB7XG5cdFx0dG91Y2gtYWN0aW9uOiBwYW4teTtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHR9XG5cblx0Ji5vd2wtZ3JhYiB7XG5cdFx0Y3Vyc29yOiBtb3ZlO1xuXHRcdGN1cnNvcjogZ3JhYjtcblx0fVxuXG5cdCYub3dsLXJ0bCB7XG5cdFx0ZGlyZWN0aW9uOiBydGw7XG5cdH1cblxuXHQmLm93bC1ydGwgLm93bC1pdGVtIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdH1cbn1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4iLCIvKlxuICogIE93bCBDYXJvdXNlbCAtIEFuaW1hdGUgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWx7XG5cdC5hbmltYXRlZCB7XG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG5cdFx0YW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLWluIHtcblx0XHR6LWluZGV4OiAwO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtb3V0IHtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cdC5mYWRlT3V0IHtcblx0XHRhbmltYXRpb24tbmFtZTogZmFkZU91dDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdDEwMCUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG5cbi5vd2wtaGVpZ2h0IHtcblx0dHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWwge1xuXHQub3dsLWl0ZW0ge1xuXHRcdC5vd2wtbGF6eSB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0XHR9XG5cblx0XHQvKipcblx0XHRcdFRoaXMgaXMgaW50cm9kdWNlZCBkdWUgdG8gYSBidWcgaW4gSUUxMSB3aGVyZSBsYXp5IGxvYWRpbmcgY29tYmluZWQgd2l0aCBhdXRvaGVpZ2h0IHBsdWdpbiBjYXVzZXMgYSB3cm9uZ1xuXHRcdFx0Y2FsY3VsYXRpb24gb2YgdGhlIGhlaWdodCBvZiB0aGUgb3dsLWl0ZW0gdGhhdCBicmVha3MgcGFnZSBsYXlvdXRzXG5cdFx0ICovXG5cdFx0Lm93bC1sYXp5W3NyY149XCJcIl0sIC5vd2wtbGF6eTpub3QoW3NyY10pIHtcblx0XHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0aW1nLm93bC1sYXp5IHtcblx0XHRcdHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cdFx0fVxuXHR9XG59XG5cbiIsIiRvd2wtaW1hZ2UtcGF0aDogXCJcIiAhZGVmYXVsdDtcblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbHtcblx0Lm93bC12aWRlby13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6ICMwMDA7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGhlaWdodDogODBweDtcblx0XHR3aWR0aDogODBweDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC00MHB4O1xuXHRcdG1hcmdpbi10b3A6IC00MHB4O1xuXHRcdGJhY2tncm91bmQ6IHVybChcIiN7JG93bC1pbWFnZS1wYXRofW93bC52aWRlby5wbGF5LnBuZ1wiKSBuby1yZXBlYXQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7XG5cdH1cblxuXHQub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bixcblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm93bC12aWRlby10biB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdH1cblxuXHQub3dsLXZpZGVvLWZyYW1lIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbiIsIi5mZWF0aGVybGlnaHQtY2xvc2UtaWNvbiB7XG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IG5vbmU7XG5cdH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTM0MCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcblxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMDQzMjYzLFxuICBzZWNvbmRhcnk6ICNGREM0MDAsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjYWQwMDMxLFxuKTtcblxuLyoqXG4gKiBCcmFuZCBDb2xvcnNcbiAqIEltcG9ydGFudDogSWYgY2hhbmdpbmcgdGhlbWUgY29sb3VycywgcmVtZW1iZXIgdG8gY2hhbmdlIHRoZW0gaW4gdGhlIEVMRiBjaGlsZCB0aGVtZSB0b28gZm9yIHN0cmluZyByZXBsYWNlbWVudFxuICovXG4kcHJpbWFyeS1vbmU6ICMwNDMyNjM7XG4kcHJpbWFyeS10aHJlZTogIzBGNTg5QTtcblxuLyogb2xkIHN0eWxpbmcgZmFsbGJhY2sgKi9cbiRwcmltYXJ5LXR3bzogJHByaW1hcnktdGhyZWU7XG5cbiRzZWNvbmRhcnktb25lOiAjRkRDNDAwO1xuXG4kZXJzLWF6dWUtYmx1ZTogIzQ1OTVFNjtcbiRib3JkZXI6ICNlNGU1ZTk7XG4kYnVsbGV0LWJsdWU6ICM2NDlBREI7XG5cbiRibGFjazogIzAwMDtcbiRkYXJrZXN0LWdyYXk6ICRibGFjaztcbiRkYXJrZXItZ3JheTogIzUyNTI0NTtcbiRkYXJrLWdyYXk6ICM3MDcwNzA7XG4kbWVkaXVtLWdyYXk6ICNCMUIxQjE7XG4kbGlnaHQtZ3JheTogI0U0RTRFNDtcbiRsaWdodGVyLWdyYXk6ICNGMEYwRjA7XG4kbGlnaHRlc3QtZ3JheTogI0Y0RjRGNDtcbiR3aGl0ZTogI0ZGRjtcbiRiZy1ncmV5OiAkbGlnaHRlc3QtZ3JheTtcblxuJGNhcHRpb24tZ3JleTogIzc2NzE3NTtcblxuJHRhYi1jb2xvdXI6ICRsaWdodGVzdC1ncmF5O1xuJGZvb3Rlci1icmVhazogIzg2ODY4NjtcbiR0eXBvZ3JhcGh5OiAjODk4OTg5O1xuXG4gXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkZGFya2VyLWdyYXk7XG4kYm9keS1mb250LWZhbWlseTogJ0F2ZW5pciBMVCBXMDFfNjUgTWVkaXVtMTQ3NTUzMicsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAyMHB4O1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiA1cHg7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kcHJpbnQtaHJlZnM6IGZhbHNlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICdBdmVuaXIgTFQgVzAxXzg1IEhlYXZ5MTQ3NTU0NCcsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1jb2xvcjogJHByaW1hcnktb25lO1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmcyc6IDM4LCAnbGgnOiA0MCwgJ21iJzogMjMsICdmdyc6IG5vcm1hbCksXG4gICAgJ2gyJzogKCdmcyc6IDMwLCAnbGgnOiAzMiwgJ21iJzogMjEsICdmdyc6IG5vcm1hbCksXG4gICAgJ2gzJzogKCdmcyc6IDI1LCAnbGgnOiAyNiwgJ21iJzogMTksICdmdyc6IG5vcm1hbCksXG4gICAgJ2g0JzogKCdmcyc6IDE4LCAnbGgnOiAyNCwgJ21iJzogMTYsICdmdyc6IG5vcm1hbCksXG4gICAgJ2g1JzogKCdmcyc6IDE2LCAnbGgnOiAyNCwgJ21iJzogMTYsICdmdyc6IG5vcm1hbCksXG4gICAgJ2g2JzogKCdmcyc6IDE2LCAnbGgnOiAyNCwgJ21iJzogMTYsICdmdyc6IG5vcm1hbCksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZnMnOiA0MiwgJ2xoJzogNDgsICdtYic6IDI2LCAnZncnOiBub3JtYWwpLFxuICAgICdoMic6ICgnZnMnOiAzNCwgJ2xoJzogNDIsICdtYic6IDI0LCAnZncnOiBub3JtYWwpLFxuICAgICdoMyc6ICgnZnMnOiAyNiwgJ2xoJzogMzIsICdtYic6IDIyLCAnZncnOiBub3JtYWwpLFxuICAgICdoNCc6ICgnZnMnOiAyMiwgJ2xoJzogMjgsICdtYic6IDIwLCAnZncnOiBub3JtYWwpLFxuICAgICdoNSc6ICgnZnMnOiAxOCwgJ2xoJzogMjQsICdtYic6IDIwLCAnZncnOiBub3JtYWwpLFxuICAgICdoNic6ICgnZnMnOiAxNiwgJ2xoJzogMjQsICdtYic6IDIwLCAnZncnOiBub3JtYWwpLFxuICApLFxuICBsYXJnZTogKFxuICAgICdoMSc6ICgnZnMnOiA0NywgJ2xoJzogNTIsICdtYic6IDI4LCAnZncnOiBub3JtYWwpLFxuICAgICdoMic6ICgnZnMnOiAzOCwgJ2xoJzogNDUsICdtYic6IDI0LCAnZncnOiBub3JtYWwpLFxuICAgICdoMyc6ICgnZnMnOiAzMCwgJ2xoJzogMzUsICdtYic6IDIyLCAnZncnOiBub3JtYWwpLFxuICAgICdoNCc6ICgnZnMnOiAyNSwgJ2xoJzogMjgsICdtYic6IDIwLCAnZncnOiBub3JtYWwpLFxuICAgICdoNSc6ICgnZnMnOiAyMCwgJ2xoJzogMjYsICdtYic6IDIwLCAnZncnOiBub3JtYWwpLFxuICAgICdoNic6ICgnZnMnOiAxNiwgJ2xoJzogMjQsICdtYic6IDIwLCAnZncnOiBub3JtYWwpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiAkcHJpbWFyeS10d287XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IHVuZGVybGluZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJHByaW1hcnktb25lO1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOCAyOCAxIDI4KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogbm9uZTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDAgMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnPic7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGFuY2hvci1jb2xvcjtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuJGJ1dHRvbi1wYWRkaW5nOiAxLjI1ZW0gMi44ZW0gMS4yNWVtIDEuNGVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHNlY29uZGFyeS1vbmU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6ICRwcmltYXJ5LW9uZTtcbiRidXR0b24tY29sb3I6ICRwcmltYXJ5LW9uZTtcbiRidXR0b24tY29sb3ItYWx0OiAkd2hpdGU7XG4kYnV0dG9uLXJhZGl1czogNXB4O1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDEuMTI1cmVtLFxuICBzbWFsbDogMS4xMjVyZW0sXG4gIGRlZmF1bHQ6IDEuMTI1cmVtLFxuICBsYXJnZTogMS4xMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAoKTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygzMCk7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJHByaW1hcnktb25lO1xuJHNlbGVjdC1yYWRpdXM6IDA7XG4kaW5wdXQtY29sb3I6ICRwcmltYXJ5LW9uZTtcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGRhcmtlci1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiB0cmFuc3BhcmVudDtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IG5vbmU7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAkaW5wdXQtYm9yZGVyO1xuJGlucHV0LXBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gNCkgMDtcbiRpbnB1dC1zaGFkb3c6IG5vbmU7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiBub25lO1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogMDtcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJGxhYmVsLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG4kbGFiZWwtY29sb3ItYWx0OiAkd2hpdGU7XG4kbGFiZWwtcGFsZXR0ZTogKCk7XG4kbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kbGFiZWwtcGFkZGluZzogNXB4IDE0cHg7XG4kbGFiZWwtcmFkaXVzOiAwO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LXRocmVlO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiBub25lO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6IG5vbmU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRwcmltYXJ5LW9uZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogZmFsc2U7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkbGlnaHRlc3QtZ3JheTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1vbmU7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6ICRwcmltYXJ5LW9uZTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6ICRiZy1ncmV5O1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiAkYmctZ3JleTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICR3aGl0ZTtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRwcmltYXJ5LW9uZTtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjRweCwgLy8gMjBweFxuICAvL21lZGl1bTogMjRweCwgLy8gMzBweFxuICBtZWRpdW06IDIwcHggLy8gQ2xpZW50IGZlZWRiYWNrXG4pO1xuXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuXG4vLyAkZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogKFxuICBzbWFsbDogNDBweCxcbiAgbWVkaXVtOiA2NHB4XG4pO1xuXG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyBwdyBwcm90ZWN0IHN0eWxpbmdcbi5wdy1wcm90ZWN0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG59IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjYuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IGFic29sdXRlICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiAxcHggI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiAxcHggI3skaW1wb3J0YW50fTtcbiAgcGFkZGluZzogMCAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogaGlkZGVuICN7JGltcG9ydGFudH07XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCkgI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAjeyRpbXBvcnRhbnR9O1xuICBib3JkZXI6IDAgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZihcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogc3RhdGljICN7JGltcG9ydGFudH07XG4gIHdpZHRoOiBhdXRvICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBvdmVyZmxvdzogdmlzaWJsZSAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiBhdXRvICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgI3skaW1wb3J0YW50fTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludChcbiAgJHNtYWxsOiB0cnVlLFxuICAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWVcbikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKGF1dG8sIC16Zi1ib29sKCRzbWFsbCksIC16Zi1ib29sKCRhdXRvLWluc2VydC1icmVha3BvaW50cykpIHtcbiAgICBAY29udGVudFxuICB9O1xufVxuXG4vLy8gSXRlcmF0ZXMgd2l0aCBgQGNvbnRlbnRgIHRocm91Z2ggdGhlIGdpdmVuIGxpc3Qgb2YgYnJlYWtwb2ludHMgYCRicmVha3BvaW50c2AuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYnJlYWtwb2ludHMgW2F1dG9dIC0gQnJlYWtwb2ludHMgdG8gaXRlcmF0ZXMgb24uIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58TnVsbH0gJHplcm8tYnJlYWtwb2ludCBbbnVsbF0gLSBXaGV0aGVyIHRoZSB6ZXJvLWJyZWFrcG9pbnQgKG9mdGVuIGBzbWFsbGApIG11c3QgYmUgaW5jbHVkZWQuIElmIGB0cnVlYCwgaXQgd2lsbCBhbHdheXMgYmUgYWRkZWQgdG8gdGhlIGxpc3QgaWYgbm90IGFscmVhZHkgdGhlcmUuIElmIGBmYWxzZWAsIGl0IHdpbGwgYWx3YXlzIGJlIHJlbW92ZWQuIERvZXMgbm90aGluZyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxLZXl3b3JkfSAkbWVkaWEtcXVlcmllcyBbdHJ1ZV0gLSBXaGV0aGVyIG1lZGlhLXF1ZXJpZXMgbXVzdCBiZSBnZW5lcmF0ZWQuIElmIGBmb3ItbGlzdHNgLCBvbmx5IGdlbmVyYXRlIG1lZGlhLXF1ZXJpZXMgd2hlbiBgJGJyZWFrcG9pbnRzYCBpcyBhIGxpc3QuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludC1pbihcbiAgJGJyZWFrcG9pbnRzOiBhdXRvLFxuICAkemVyby1icmVha3BvaW50OiBudWxsLFxuICAkbWVkaWEtcXVlcmllczogdHJ1ZVxuKSB7XG4gICQtbGlzdDogKCk7XG4gICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiB0cnVlO1xuXG4gIC8vIFJldHJpZXZlIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnQocykgdG8gaXRlcmF0ZSBvbi5cbiAgQGlmICRicmVha3BvaW50cyA9PSBhdXRvIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdsaXN0JyB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludHM7XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkYnJlYWtwb2ludHMpID09ICdzdHJpbmcnIHtcbiAgICAkLWxpc3Q6ICgkYnJlYWtwb2ludHMpO1xuICAgICQtYnJlYWtwb2ludHMtaXMtYS1saXN0OiBmYWxzZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiJGJyZWFrcG9pbnRzXCIgaW4gXCItemYtZWFjaC1icmVha3BvaW50LWluKClcIi4gR290IFwiI3skYnJlYWtwb2ludHN9XCIgKCN7dHlwZS1vZigkYnJlYWtwb2ludHMpfSkuIEV4cGVjdGVkIGEgYnJlYWtwb2ludCBuYW1lLCBhIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgXCJhdXRvXCInO1xuICB9XG5cbiAgLy8gQWRkIG9yIHJlbW92ZSB0aGUgemVybyBicmVha3BvaW50IGFjY29yZGluZyB0byBgJHplcm8tYnJlYWtwb2ludGBcbiAgQGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gdHJ1ZSB7XG4gICAgJC1saXN0OiBqb2luKCgkLXpmLXplcm8tYnJlYWtwb2ludCksIHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KSk7XG4gIH1cbiAgQGVsc2UgaWYgJHplcm8tYnJlYWtwb2ludCA9PSBmYWxzZSB7XG4gICAgJC1saXN0OiBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBJdGVyYXRlIG9uIGJyZWFrcG9pbnQocylcbiAgQGVhY2ggJGJwIGluICQtbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkYnAgIWdsb2JhbDtcblxuICAgIEBpZiAoJG1lZGlhLXF1ZXJpZXMgPT0gdHJ1ZVxuICAgICAgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIEBpZiAkcHVzaCB7XG4gICAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkcHVsbCB7XG4gICAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgQGlmICRvZmZzZXQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLW9mZigkbyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICBAaWYgJGNlbnRlciB7XG4gICAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgICQtZ3V0dGVyLXVucG9zLXNlbGVjdG9yOiAoXG4gICAgICBpZigkdW5jZW50ZXIsICcuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfScsIG51bGwpLFxuICAgICAgaWYoJHB1c2gsICcuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAnLCBudWxsKSxcbiAgICAgIGlmKCRwdWxsLCAnLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wJywgbnVsbCksXG4gICAgKTtcbiAgICBAaWYgKCR1bmNlbnRlciBvciAkcHVzaCBvciAkcHVsbCkge1xuICAgICAgI3skLWd1dHRlci11bnBvcy1zZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLiN7JGNvbHVtbn0tI3skYmxvY2t9IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICBAaWYgJGNvbHVtbiA9PSAnY29sdW1uJyBhbmQgaGFzLXZhbHVlKCRncmlkLWNvbHVtbi1hbGlhcykge1xuICAgIC4jeyRncmlkLWNvbHVtbi1hbGlhc30ge1xuICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSAoMS8kc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dF9udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHRfbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dF9udW1iZXIpIHtcbiAgICAgICRuZXh0X251bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dF9udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gUGFyc2UgdGhlIGdpdmVuIGAkZnJhY3Rpb25gIHRvIG51bWVyYXRvcnMgYW5kIGRlbnVtZXJhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gcGFyc2UuIEl0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgYDUwJWAsIGAxIG9mIDJgLCBgMS8yYCBvciBgNTBgIChubyBkZW5vbWluYXRvciB3b3VsZCBiZSByZXR1cm5lZCkuXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBMaXN0IG9mIHBhcnNlZCB2YWx1ZXMgd2l0aCBudW1lcmF0b3IgYXQgZmlyc3QgcG9zaXRpb24gYW5kIGRlbnVtZXJhdG9yIGFzIHNlY29uZC4gVGhlc2UgdmFsdWVzIG1heSBiZSBudWxsLlxuQGZ1bmN0aW9uIHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbikge1xuXG4gIEBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ251bWJlcicge1xuICAgIC8vIFwiNTAlXCJcbiAgICBAaWYgdW5pdCgkZnJhY3Rpb24pID09ICclJyB7XG4gICAgICBAcmV0dXJuIChzdHJpcC11bml0KCRmcmFjdGlvbiksIDEwMCk7XG4gICAgfVxuICAgIEBlbHNlIGlmICh1bml0KCRmcmFjdGlvbikgPT0gJycpIHtcbiAgICAgIC8vIFwiMC41XCJcbiAgICAgIEBpZiAkZnJhY3Rpb24gPCAxIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uICogMTAwLCAxMDApO1xuICAgICAgfVxuICAgICAgLy8gXCI1MFwiXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdsaXN0JyB7XG4gICAgLy8gXCI1MCBvZiAxMDBcIiwgXCI1MC8xMDBcIi4uLlxuICAgIEBpZiBsZW5ndGgoJGZyYWN0aW9uKSA9PSAzXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKCRwYXJzZWQtbm9taW5hdG9yIC8gJHBhcnNlZC1kZW5vbWluYXRvcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRjb2x1bW5zLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbi1jb3VudCk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIFBvc2l0aW9uXG4gIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhhdXRvKTtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBJdCBjYW4gYmU6XG4vLy8gICAqIEEgbnVtYmVyOiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudFxuLy8vICAgICBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGVcbi8vLyAgICAgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LlxuLy8vICAgKiBgY2VudGVyYDogQ29sdW1uIHdpbGwgYmUgY2VudGVyZWRcbi8vLyAgICogYGF1dG9gOiBDb2x1bW4gd2lsbCBiZSBwdXNoZWQgdG8gdGhlIGxlZnQgKG9yIHRvIHRoZSByaWdodCBmb3IgdGhlIGxhc3QgY29sdW1uKS5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgLy8gQXV0byBwb3NpdGlvbmluZ1xuICBAaWYgJHBvc2l0aW9uID09IGF1dG8ge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFB1c2gvcHVsbFxuICBAZWxzZSBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cblxuICAvLyBDZW50ZXIgcG9zaXRpb25pbmdcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgXCJjZW50ZXJcIiBvciBcImF1dG9cIi4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKGF1dG8pO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDBweDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1nKX0pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSBvdGhlcndpc2UuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsLCAkb3V0cHV0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIHRvIG9mZnNldCBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ30gVGhlIGNlbGwgb2Zmc2V0IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJHNpemU6IHh5LWNlbGwtc2l6ZSgkbik7XG5cbiAgJG9mZnNldDogJHNpemU7XG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCkgLyAyKTtcbiAgICAkb2Zmc2V0OiBpZigkZ3V0dGVyID09IDAsICRzaXplLCBjYWxjKCN7JHNpemV9ICsgI3skZ3V0dGVyfSkpO1xuICB9XG4gIEByZXR1cm4gJG9mZnNldDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLiBJZiBhIGxpc3QgaXMgZ2l2ZW4sIG1lZGlhLXF1ZXJpZXMgd2lsbCBiZSBnZW5lcmF0ZWQuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6IG51bGwsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNvZGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJbmxpbmUgQ2l0YXRpb25zXG4gIEBpZiAoJGVuYWJsZS1jaXRlLWJsb2NrID09IHRydWUpIHtcbiAgICBjaXRlIHtcbiAgICAgIC8vIEV4dGVuZGluZyBhIGNsYXNzIGlzIG5vdCByZWNvbW1lbmRlZC5cbiAgICAgIC8vIFRPRE86IEJyZWFrIHRoZSB0eXBvZ3JhcGh5LWJhc2UvdHlwb2dyYXBoeS1oZWxwZXJzIHNlcGFyYXRpb25cbiAgICAgIEBleHRlbmQgLmNpdGUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgKCRlbmFibGUtY29kZS1pbmxpbmUgPT0gdHJ1ZSkge1xuICAgIGNvZGUge1xuICAgICAgQGV4dGVuZCAuY29kZS1pbmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiB1bmRlciB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBjaXRlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2l0ZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICB9XG59XG5cbi8vLyBBZGQgYmFzaWMgc3R5bGVzIGZvciBhIGNvZGUgaGVscGVyLlxuLy8vIFNlZSBgY29kZS1pbmxpbmVgIGFuZCBgY29kZS1ibG9ja2AgbWl4aW5zLlxuQG1peGluIGNvZGUtc3R5bGUge1xuICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gaW5saW5lLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWlubGluZWBcbkBtaXhpbiBjb2RlLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGEgYmxvY2suXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtYmxvY2tgXG5AbWl4aW4gY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcblxuICBwYWRkaW5nOiAkY29kZS1ibG9jay1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkY29kZS1ibG9jay1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2l0ZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2l0ZS1ibG9jaztcbiAgfVxuXG4gIC5jb2RlLWlubGluZSB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcGx1cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBtaW51cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMycgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLXBsdXMtY29udGVudDtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tbWludXMtY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLiAoT25seSBuZWVkZWQgd2hlbiAkZ2xvYmFsLWZsZXhib3g6IGZhbHNlOylcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTWFrZSBidXR0b25zIGJvbmRlZCB3aXRob3V0IGdhcCBiZXR3ZWVuIHRoZW0uIEJvcmRlcnMgYmV0d2VlbiBidXR0b25zIGFyZSBtZXJnZWRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtbm8tZ2FwcyhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IHJlbS1jYWxjKC0kYm9yZGVyLXdpZHRoKTtcblxuICAgICsgI3skc2VsZWN0b3J9IHtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRiYXNlLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JGJhc2Utc2VsZWN0b3J9IHtcbiAgICAgICAgLy8gRG8gbm90IGdlbmVyYXRlIGJ1dHRvbiBiYXNlIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgZmlsbGluZ1xuICAgICAgICBAaWYoJGJ1dHRvbi1maWxsICE9ICRmaWxsaW5nKSB7XG4gICAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJGluZGl2aWR1YWwtc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJyAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0uI3skbmFtZX0nKTtcblxuICAgICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LCAjeyRpbmRpdmlkdWFsLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYubm8tZ2FwcyB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtbm8tZ2FwcztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbVxuICAgID4gbGkgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbSBhY3RpdmUgc3RhdGVcbiAgICA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlLCAoJG1lbnUtaXRlbS1jb2xvci1hY3RpdmUsICRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZSkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwcmV2aW91cyBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG5leHQgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1uZXh0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLyoqXG4gKiBNSVhJTlNcbiAqL1xuXG5AbWl4aW4geHktY2VudGVyKCkge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0dG9wOjUwJTtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQGtleWZyYW1lcyBmYWRlaW4ge1xuXHRmcm9tIHsgb3BhY2l0eTogMDsgfVxuXHR0byAgIHsgb3BhY2l0eTogMTsgfVxufVxuXG4uc2Nyb2xsYmFyIHsgXG5cblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0JHNjcm9sbGJhci13aWR0aDogOHB4O1xuXHRcdCRzY3JvbGxiYXItaGVpZ2h0OiA4cHg7XG5cdFx0JHNjcm9sbGJhci1jb2xvcjogJHRhYi1jb2xvdXI7XG5cdFx0b3ZlcmZsb3cteTogc2Nyb2xsO1xuXHRcdFxuXHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdHdpZHRoOiAkc2Nyb2xsYmFyLXdpZHRoO1xuXHRcdH1cblxuXHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyOnZlcnRpY2FsIHtcblx0XHRcdHdpZHRoOiAkc2Nyb2xsYmFyLXdpZHRoO1xuXHRcdH1cblx0XHRcblx0XHQmOjotd2Via2l0LXNjcm9sbGJhcjpob3Jpem9udGFsIHtcblx0XHRcdGhlaWdodDogJHNjcm9sbGJhci1oZWlnaHQ7XG5cdFx0fVxuXHRcdFxuXHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRzY3JvbGxiYXItY29sb3I7IC8qIHNob3VsZCBtYXRjaCBiYWNrZ3JvdW5kLCBjYW4ndCBiZSB0cmFuc3BhcmVudCAqL1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNSk7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHQvLyBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRcdH1cblx0fVx0XG59XG5cbkBmdW5jdGlvbiBlbmNvZGVjb2xvcigkc3RyaW5nKSB7XG5cdEBpZiB0eXBlLW9mKCRzdHJpbmcpID09ICdjb2xvcicge1xuICAgICAgICAkaGV4OiBzdHItc2xpY2UoaWUtaGV4LXN0cigkc3RyaW5nKSwgNCk7XG4gICAgICAgICRzdHJpbmc6dW5xdW90ZShcIiN7JGhleH1cIik7XG4gICAgfVxuICAgICRzdHJpbmc6ICclMjMnICsgJHN0cmluZztcblx0QHJldHVybiAkc3RyaW5nO1xufVxuIiwiLyoqXG4gKiAxLiBBdm9pZCB0aGUgSUUgMTAtMTEgYG1pbi1oZWlnaHRgIGJ1Zy5cbiAqIDIuIFNldCBgZmxleC1zaHJpbmtgIHRvIGAwYCB0byBwcmV2ZW50IHNvbWUgYnJvd3NlcnMgZnJvbVxuICogICAgbGV0dGluZyB0aGVzZSBpdGVtcyBzaHJpbmsgdG8gc21hbGxlciB0aGFuIHRoZWlyIGNvbnRlbnQncyBkZWZhdWx0XG4gKiAgICBtaW5pbXVtIHNpemUuIFNlZSBodHRwOi8vYml0Lmx5LzFNbjM1VVMgZm9yIGRldGFpbHMuXG4gKiAzLiBVc2UgYCVgIGluc3RlYWQgb2YgYHZoYCBzaW5jZSBgdmhgIGlzIGJ1Z2d5IGluIG9sZGVyIG1vYmlsZSBTYWZhcmkuXG4gKi9cblxuIC8vIEZvciB0aGlzIHNuaXBwZXQgdG8gd29yaywgdXNlIG1hcmt1cCAuLi5cbiAvLyA8Ym9keT5cbiAvLyAgIDxoZWFkZXI+4oCmPC9oZWFkZXI+XG4gLy8gICA8bWFpbiBjbGFzcz1cIlNpdGUtY29udGVudFwiPuKApjwvbWFpbj5cbiAvLyAgIDxmb290ZXI+4oCmPC9mb290ZXI+XG4gLy8gPC9ib2R5PlxuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uc2l0ZS1oZWFkZXIsXG4uc2l0ZS1mb290ZXIge1xuXHRmbGV4OiBub25lO1xufVxuXG4uc2l0ZS1jb250ZW50IHtcblx0ZmxleDogMSAwIGF1dG87XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNlKSB2YXIoLS1zcGFjZSkgMDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5zaXRlLWNvbnRlbnQ6OmFmdGVyIHtcblx0Y29udGVudDogJ1xcMDBhMCc7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZSk7XG5cdGhlaWdodDogMHB4O1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4iLCIvKipcbiAqIEdSSUQgWC1ZXG4gKi9cblxuLmdyaWQtY29udGFpbmVyLXdyYXBwZXIge1xuXHR3aWR0aDogMTAwJTtcdFxufVxuXG4uZ3JpZC1jb250YWluZXIge1xuXHQmLmdyaWQtY29udGFpbmVyLWNvbGxhcHNlIHtcdFx0XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cbn1cbiIsIi8vIERlZmF1bHQgQWNjb3JkaW9uXG4uYWNjb3JkaW9uIHtcblx0LmFjY29yZGlvbi10aXRsZSB7XG5cdFx0Ly8gbWFyZ2luLWJvdHRvbTogMTVweDtcblx0XHRwYWRkaW5nOiAxMHB4IDAgMTBweCAwO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRib3JkZXI6IDA7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRib3JkZXI7XG5cdFx0aDUsIC5oNSB7XG5cdFx0XHRtYXgtd2lkdGg6IDk1JTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTVweCAxMXB4O1xuXHRcdFx0d2lkdGg6IDE1cHg7XG5cdFx0XHRoZWlnaHQ6IDExcHg7XG5cdFx0XHRyaWdodDogMTBweDtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7XG5cblx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpO1xuXHRcdFx0XHRtYXNrLXNpemU6IDE1cHggMTFweDtcblx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdH1cblx0LmFjY29yZGlvbi1jb250ZW50IHtcblx0XHRib3JkZXI6IDA7XG5cdFx0bWFyZ2luLXRvcDogMTVweDtcblxuXHRcdGEge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCl7XG5cdFx0XHRwIHtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSB7XG5cdFx0LmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTE4MGRlZyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5hY2NvcmRpb25fX2dyaWQge1xuXHRcdC5hY2NvcmRpb24tY29udGVudCB7XG5cdFx0XHQuY2FyZC5jYXJkX190aWxlIHtcblx0XHRcdFx0LnRpbGUtLXdyYXAge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogMTUwcHg7XG5cdFx0XHRcdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdG1hcmdpbjogYXV0bztcblxuXHRcdFx0XHRcdC50aWxlLS1pbm5lciB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLmFjY29yZGlvbl9faW5mbyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHQuZ3JpZC1jb250YWluZXIge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDU1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5hY2NvcmRpb24tdGl0bGUge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktb25lO1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LXRocmVlO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDgwcHg7XG5cdFx0XHR9XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdH1cblx0XHRcdGg0IHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdCYucGFyYWdyYXBoIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy13aGl0ZS5zdmcpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDE1cHggMTFweDtcblx0XHRcdFx0cmlnaHQ6IDQwcHg7XG5cblx0XHRcdFx0QHN1cHBvcnRzKG1hc2staW1hZ2U6IHVybChcIlwiKSkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy13aGl0ZS5zdmcpO1xuXHRcdFx0XHRcdG1hc2stc2l6ZTogMTVweCAxMXB4O1xuXHRcdFx0XHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdFx0cmlnaHQ6IDE1MHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdHJpZ2h0OiAyMTBweDtcblx0XHRcdFx0fVxuXHRcdFx0XHR0b3A6IDU1JTtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy13aGl0ZS5zdmcpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDE1cHggMTFweDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0dG9wOiA1NSU7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuXG5cdFx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3ctd2hpdGUuc3ZnKTtcblx0XHRcdFx0XHRtYXNrLXNpemU6IDE1cHggMTFweDtcblx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5hY2NvcmRpb24tY29udGVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZ3JleTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcblx0XHRcdFx0cGFkZGluZzogMzBweCA4MHB4O1xuXHRcdFx0fVxuXHRcdFx0Y29sb3I6ICRjYXB0aW9uLWdyZXk7XG5cdFx0XHRwe1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBDYXJkIHdpdGggZHJvcGRvd24gc2VjdGlvblxuLmFjY29yZGlvbi5hY2NvcmRpb25fX2NhcmQge1xuXG5cdCYucHVibGljYXRpb24ge1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdH1cblx0XG5cdGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcblx0XG5cdC5hY2NvcmRpb24taXRlbSwgW2RhdGEtYWNjb3JkaW9uLWl0ZW1dIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG5cdFx0XG5cdFx0LmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxMXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuXHRcdFx0XHRoZWlnaHQ6IDExcHg7XG5cdFx0XHRcdHRvcDogMjBweDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuXHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9kb3duLWFycm93LnN2Zyk7XG5cdFx0XHRcdFx0bWFzay1zaXplOiAxNXB4IDExcHg7XG5cdFx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICR3aGl0ZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQuc3ViaGVhZGluZyB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQuYWNjb3JkaW9uLWNvbnRlbnQge1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHQuYWNjb3JkaW9uLXRpdGxlIHtcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTE4MGRlZyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQubGluayB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0Ji5hY2NvcmRpb25fX2NhcmRfbm9pbWcge1xuXHRcdC5hY2NvcmRpb24tdGl0bGUge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cblx0XHQuYWNjb3JkaW9uX19jb250ZW50IHtcblx0XHRcdHdpZHRoOiA5NSU7XG5cdFx0fVxuXHR9XG59XG5cbiRjb250ZW50LWhlaWdodC1zbWFsbDogMTByZW07XG4kY29udGVudC1oZWlnaHQtbWVkaXVtOiAxN3JlbTtcblxuLy8gQ2FyZCB3aXRoIGRyb3Bkb3duIHNlY3Rpb24sIHNsaWdodCBkaWZmIHRvIGFib3ZlLCBcbi8vIGFjY29tbW9kYXRlcyBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBhYnNvbHV0ZSBwb3NpdGlvbmVkIENUQSBsaW5rXG4uYWNjb3JkaW9uX19jYXJkIHtcblx0XG5cdCYuZ3JleUJnLCBcblx0Ji50YWItY29sb3VyLWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGFiLWNvbG91cjtcblx0XHQuYWNjb3JkaW9uLWl0ZW0ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRhYi1jb2xvdXI7XG5cdFx0fVxuXHRcdC5hY2NvcmRpb24tY29udGVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGFiLWNvbG91cjtcblx0XHR9XG5cdH1cblx0XG5cdC50YWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdC50YWcuYnV0dG9uIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHR9XG5cdH1cblxuXHQuYWNjb3JkaW9uX3RhZyB7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LW9uZSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LW9uZSAhaW1wb3J0YW50O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbjogMTVweCAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmc6IDEwcHggIWltcG9ydGFudDtcblx0XHQmLm5vX21hcmdpbiB7XG5cdFx0XHRtYXJnaW46IDE1cHggMTVweCAxNXB4IDAgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQmLmFjY29yZGlvbl9fY2FyZF9lcXVhbGl6ZSB7XHRcdFxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcdFx0XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHRcblx0XHQuYnJvdyB7XG5cdFx0XHQudGFnIHtcblx0XHRcdFx0Ym9yZGVyOiBzb2xpZCAxcHggbGltZTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYWNjb3JkaW9uLXRpdGxlIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdHRvcDogMWVtO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdH1cblx0XHRcdC5wdXNoZG93bl9faGVhZGluZyB7IFx0XHRcdFxuXHRcdFx0XHRtYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbjtcblx0XHRcdFx0cGFkZGluZzogMCAyNHB4IDAgMDtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcdFxuXHRcdFx0fVxuXG5cdFx0XHRoMywgLmg0LCAuaDUge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDk1JTtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0LmFjY29yZGlvbi1jb250ZW50IHtcdFx0XHRcblx0XHRcdEBleHRlbmQgLnNjcm9sbGJhcjtcblx0XHRcdC8vIGhlaWdodDogJGNvbnRlbnQtaGVpZ2h0LW1lZGl1bTtcdFx0XHRcblx0XHR9XG5cblx0fVxuXG5cdC8vIFRoaXMgZXhwZWN0cyBhIGJnLWNvbG9yIFxuXHQmLmFjY29yZGlvbl9fY2FyZF9ib3hlZCB7XG5cdFx0XG5cdFx0LnRhZyB7XG5cdFx0XHRwYWRkaW5nOiAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAgMDtcblx0XHR9XG5cblx0XHQuYWNjb3JkaW9uLXRpdGxlIHtcblx0XHRcdC5wdXNoZG93bl9faGVhZGluZyB7IFxuXHRcdFx0XHRtYXJnaW46IDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW47XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYWNjb3JkaW9uLWNvbnRlbnQge1x0XHRcdFxuXHRcdFx0cGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmc7XHRcdFx0XG5cdFx0fVxuXG5cdFx0Lmxpbmsge1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMjQpICRnbG9iYWwtcGFkZGluZztcblx0XHR9XG5cdH1cbn1cblxuLmNhcmRfX2V4cGFuZGFibGUge1xuXHQuYWNjb3JkaW9uLXRpdGxlIHtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdGg1LCAuaDUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxNXB4IDExcHg7XG5cdFx0XHR3aWR0aDogMTVweDtcblx0XHRcdGhlaWdodDogMTFweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMTZweDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cztcblxuXHRcdFx0QHN1cHBvcnRzKG1hc2staW1hZ2U6IHVybChcIlwiKSkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9kb3duLWFycm93LnN2Zyk7XG5cdFx0XHRcdG1hc2stc2l6ZTogMTVweCAxMXB4O1xuXHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uY2VsbC5hY2NvcmRpb24uYWNjb3JkaW9uX19jYXJkLFxuLmNlbGwgLmFjY29yZGlvbl9fY2FyZCAuYWNjb3JkaW9uIHtcblx0LmFjY29yZGlvbi1jb250ZW50IHtcblx0XHRAZXh0ZW5kIC5zY3JvbGxiYXI7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuXHRcdFx0Ly8gaGVpZ2h0OiAkY29udGVudC1oZWlnaHQtbWVkaXVtO1xuXHRcdH1cblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHR9XG59XG5cbi8vIE92ZXJyaWRlIGluaGVyaXRlZCBGb3VuZGF0aW9uIGNsYXNzZXNcbjpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKT4uYWNjb3JkaW9uLXRpdGxlIHtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRib3JkZXI7XG59XG5cbi5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZS1uby1ib3JkZXIsIFxuOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpPi5hY2NvcmRpb24tdGl0bGUtbm8tYm9yZGVyICwgXG46bGFzdC1jaGlsZD4uYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG5cdGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcdFxufVxuXG4uYWNjb3JkaW9uLWZ1bGwge1xuXHQuYWNjb3JkaW9uLWNvbnRlbnQge1xuXHRcdGJvcmRlci1sZWZ0OiA1cHggc29saWQgJHNlY29uZGFyeS1vbmU7XG5cdH1cbn1cblxuZGV0YWlscyB7XG5cdGNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cblx0c3VtbWFyeSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdCY6Om1hcmtlciwgJjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTVweCAxMXB4O1xuXHRcdFx0d2lkdGg6IDE1cHg7XG5cdFx0XHRoZWlnaHQ6IDExcHg7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0b3A6IDBweDtcblx0XHRcdHJpZ2h0OiAtMTJweDtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHQvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXM7XG5cblx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpO1xuXHRcdFx0XHRtYXNrLXNpemU6IDE1cHggMTFweDtcblx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmW29wZW5dIHtcblx0XHRzdW1tYXJ5IHtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmFjY29yZGlvbl9fc2lkZWJhcl9zZWN0aW9uIHtcblx0Ly8gZGlzcGxheTogbm9uZTtcblx0LmFjY29yZGlvbi5hY2NvcmRpb25fX3NpZGViYXIge1xuXHRcdG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuXHRcdC5hY2NvcmRpb24tdGl0bGUge1xuXHRcdFx0Ly8gYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcblx0XHRcdHBhZGRpbmc6IDIwcHggMCA1cHggMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0fVxuXHRcdC5hY2NvcmRpb24tY29udGVudCB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0LmNhcmQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0XHQuYWNjb3JkaW9uX3NpZGViYXJfc3BhbiB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMXB4O1xuXHRcdFx0XHRcdHdpZHRoOiAycHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRtYXJnaW46IGF1dG8gNXB4IGF1dG8gMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQvLyAmLmFjY29yZGlvbl9fc2lkZWJhcl9zaG93IHtcblx0Ly8gXHRkaXNwbGF5OiBibG9jaztcblx0Ly8gfVxufVxuXG4iLCIuY2FwdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG1hcmdpbi1ib3R0b206IDZweDtcblxuXHQmLmRhdGUsICYudGltZSwgJi5sb2NhdGlvbiwgJi5hZGRyZXNzIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCYuZGF0ZSwgJi50aW1lIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRoZWlnaHQ6IDE3cHg7XG5cdFx0XHR3aWR0aDogMTdweDtcblx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pY29ucy90aW1lLWljb24uc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47XG5cblx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvdGltZS1pY29uLnN2Zyk7XG5cdFx0XHRcdG1hc2stc2l6ZTogY29udGFpbjtcblx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDExcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5sb2NhdGlvbiwgJi5hZGRyZXNzIHtcblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRoZWlnaHQ6IDIxcHg7XG5cdFx0XHR3aWR0aDogMTdweDtcblx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9waW4uc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47XG5cblx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvcGluLnN2Zyk7XG5cdFx0XHRcdG1hc2stc2l6ZTogY29udGFpbjtcblx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogQ29sb3JzIFxuICovXG5cbi8qXG5cdENvbG9yIHZhcmlhYmxlIGRlZmluZWQgaW4gIFxuXHR+L3Njc3Mvc2V0dGluZ3MvX3NldHRpbmdzLnNjc3MgXG4qL1xuXG4kY29sb3JzOiAoXG5cdCdibGFjayc6ICAgICAgICRibGFjayxcblx0J3doaXRlJzogICAgICAgJHdoaXRlLFxuXHQnbGlnaHQtZ3JheSc6ICAkbGlnaHQtZ3JheSxcblx0J21lZGl1bS1ncmF5JzogJG1lZGl1bS1ncmF5LFxuXHQnZGFyay1ncmF5JzogICAkZGFyay1ncmF5LFxuXHQnd3JhcC1ncmV5JzogJGJnLWdyZXlcbik7XG5cbi8qIExvb3BzIHRocnUgJGNvbG9ycyBhbmQgY3JlYXRlIFxuXHQqIGNvbG9yXG5cdCogYmFja2dyb3VuZC1jb2xvciBcblx0KiBib3JkZXIgKHVuY29tbWVudCBib3JkZXIgc2VjdGlvbiBiZWxvdyB0byByZW5kZXIpXG4qL1xuXG4uY29sb3Ige1xuXHRAZWFjaCAkY29sb3IgaW4gJGNvbG9ycyB7XHRcdFxuXHRcdCRrZXk6IG50aCgkY29sb3IsIDEpO1xuXHRcdCR2YWx1ZTogbnRoKCRjb2xvciwgMik7XHRcdFxuXHRcdCYtI3ska2V5fSB7XG5cdFx0XHRjb2xvcjogJHZhbHVlOyAgICAgICAgICAgIFx0XHRcdFxuXHRcdFx0Ji1iZyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR2YWx1ZTtcblx0XHRcdH1cdFxuXHRcdFx0Ly8gJi1ib3JkZXIge1xuXHRcdFx0Ly8gXHRib3JkZXItY29sb3I6ICR2YWx1ZTtcdFxuXHRcdFx0Ly8gfSAgICAgICAgXG5cdFx0fVxuXHR9XG59XG5cbiIsIi8qKlxuICogQmFja2dyb3VuZCBjb2xvdXJzXG4gKi9cblxuIC5iZy10cmFuc3BhcmVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvKipcbiAqIEJhY2tncm91bmRcbiAqL1xuXG4gLmJnIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG5cdCYuYmctY292ZXIge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdH1cblxuXHQmLmJnLWNlbnRlciB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0fVxuXHRcblx0Ji5iZy10aW50e1x0XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0Y29udGVudDogJyAnO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuXHRcdH1cblx0fVxufVxuIiwiXG5bdHlwZT0ndGV4dCddLCBcblt0eXBlPSdwYXNzd29yZCddLCBcblt0eXBlPSdkYXRlJ10sIFxuW3R5cGU9J2RhdGV0aW1lJ10sIFxuW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFxuW3R5cGU9J21vbnRoJ10sIFxuW3R5cGU9J3dlZWsnXSwgXG5bdHlwZT0nZW1haWwnXSwgXG5bdHlwZT0nbnVtYmVyJ10sIFxuW3R5cGU9J3NlYXJjaCddLCBcblt0eXBlPSd0ZWwnXSwgXG5bdHlwZT0ndGltZSddLCBcblt0eXBlPSd1cmwnXSwgXG5bdHlwZT0nY29sb3InXSwgXG50ZXh0YXJlYSxcbnNlbGVjdFxue1xuXHRib3JkZXItYm90dG9tOiAycHggc29saWQgJHByaW1hcnktb25lO1xuXHRwYWRkaW5nOiAuNDY4NzVyZW07XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5LW9uZTtcblx0XHRwYWRkaW5nOiAuNDY4NzVyZW07XG5cdH1cblxuXHQmOjpwbGFjZWhvbGRlciB7IFxuXHRcdC8qIENocm9tZSwgRmlyZWZveCwgT3BlcmEsIFNhZmFyaSAxMC4xKyAqL1xuXHRcdG9wYWNpdHk6IDE7IFxuXHRcdC8qIEZpcmVmb3ggKi9cblx0fVxufVxuXG50ZXh0YXJlYSB7XG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0cGFkZGluZzogMTRweDtcblx0Ym9yZGVyOiBub25lO1xuXHRyZXNpemU6IG5vbmU7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG59XG5cbnNlbGVjdCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG59XG5cbi8vIE1haWxDaGltcCBTaWdudXBcbi5zaWdudXBfX2Zvcm0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC8vYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1vbmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbi10b3A6IC0yMHB4ICFpbXBvcnRhbnQ7XG5cblx0JiAuYmdfX2ltZyB7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdHBhZGRpbmctdG9wOiA3MHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiA3MHB4O1xuXHRcdGhlaWdodDogLXdlYmtpdC1maXQtY29udGVudDtcblx0XHRoZWlnaHQ6IC1tb3otZml0LWNvbnRlbnQ7XG5cdFx0aGVpZ2h0OiBmaXQtY29udGVudDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0bWFyZ2luLXRvcDogLTQwcHggIWltcG9ydGFudDtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRtYXJnaW4tdG9wOiAtNzBweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG5cdFx0LnNpZ251cF9fZm9ybV9jb250YWluZXIge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bil7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cdFx0LnNpZ251cF9fZm9ybV9jb250YWluZXIge1xuXHRcdFx0b3JkZXI6IDI7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0LmdyaWQteCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktb25lO1xuXHRcdFx0XHRwYWRkaW5nOiAyNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0fVxuXHQqIHtcblx0XHRjb2xvcjogJHByaW1hcnktb25lO1xuXHR9XG5cblx0W3R5cGU9J3RleHQnXSwgXG5cdFt0eXBlPSdwYXNzd29yZCddLCBcblx0W3R5cGU9J2RhdGUnXSwgXG5cdFt0eXBlPSdkYXRldGltZSddLCBcblx0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFxuXHRbdHlwZT0nbW9udGgnXSwgXG5cdFt0eXBlPSd3ZWVrJ10sIFxuXHRbdHlwZT0nZW1haWwnXSwgXG5cdFt0eXBlPSdudW1iZXInXSwgXG5cdFt0eXBlPSdzZWFyY2gnXSwgXG5cdFt0eXBlPSd0ZWwnXSwgXG5cdFt0eXBlPSd0aW1lJ10sIFxuXHRbdHlwZT0ndXJsJ10sIFxuXHRbdHlwZT0nY29sb3InXSwgXG5cdHRleHRhcmVhLFxuXHRzZWxlY3Qge1xuXHRcdHBhZGRpbmctbGVmdDogMTBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXHRcdGNvbG9yOiAkcHJpbWFyeS1vbmUgIWltcG9ydGFudDtcblxuXHRcdCY6OnBsYWNlaG9sZGVyIHsgXG5cdFx0XHRmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cdFx0fVxuXHR9XG5cblx0LmZvcm0tY29udGVudCB7XG5cdFx0cGFkZGluZzogMzBweCAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktb25lOyAgICAgICAgICAgIFxuXHRcdHBhZGRpbmc6IDI1cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmc6IDMycHggNDBweDtcblx0XHRcdC8vcGFkZGluZzogNTBweCA5MHB4IDUwcHggMDtcblx0XHR9XG5cdH1cblxuXHRwIHtcblx0XHQvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHQvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRcdH1cblx0fVxuXHRmb3JtIHtcblx0XHRtYXJnaW4tdG9wOiA0MHB4O1xuXHRcdGlucHV0Om5vdCguYnV0dG9uKSwgaW5wdXQ6Zm9jdXM6bm90KC5idXR0b24pIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS10aHJlZTtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0Ly8gYm9yZGVyOiBub25lO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHdoaXRlO1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHR9XG5cdFx0bGFiZWwge1xuXHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHR9XG5cdH1cblx0LmJ1dHRvbiB7XG5cdFx0QGV4dGVuZCAuc2Vjb25kYXJ5O1xuXHRcdG1hcmdpbi10b3A6IDE2cHg7XG5cdH1cblx0XG5cdGltZyB7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRvcmRlcjogMTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdGxlZnQ6IGNhbGMoNTAlICsgMjBweCk7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0fVxuXHR9XG5cbn1cblxuLy8gTG9hZCBNb3JlIGZvcm1cblxuZm9ybSNsb2FkX21vcmUge1xuXHRwYWRkaW5nLXRvcDogNTBweDtcblx0I2xvYWRNb3JlIHtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxufVxuXG4uZ2Zvcm1fd3JhcHBlciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRmb3JtIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cblx0Lmdmb3JtX2ZpZWxkcyB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXG5cdC5oaWRkZW5fbGFiZWwge1xuXHRcdGxlZ2VuZC5nZmllbGRfbGFiZWwge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblx0LmdmX3Byb2dyZXNzYmFyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lmdmb3JtX3RpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyLjVyZW07XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDNyZW07XG5cdFx0fVxuXHR9XG5cblx0LmdpbnB1dF9jb250YWluZXJfZGF0ZSB7XG5cdFx0c3Bhbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8ge1xuXHRcdHVsLmdmaWVsZF9jaGVja2JveCwgdWwuZ2ZpZWxkX3JhZGlvIHtcblx0XHRcdG1hcmdpbjogMjBweCAwcHggIWltcG9ydGFudDtcblx0XHRcdGxpOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiB1bnNldCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5naW5wdXRfY29udGFpbmVyX3RleHRhcmVhIHtcblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuZ2lucHV0X2NvbnRhaW5lcl9uYW1lIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGNvbHVtbi1nYXA6IDIwcHg7XG5cblx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmdmaWVsZF9saXN0IHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0dGhlYWQsIHRib2R5LCB0Ym9keSB0ciwgdGZvb3Qge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG5cdHRib2R5IHRkIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblxuXHQuZ2lucHV0X2NvbnRhaW5lcl90ZXh0YXJlYSB0ZXh0YXJlYSB7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQuZ2ZpZWxkX2NvbnNlbnRfbGFiZWwge1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0Y29sb3I6ICRkYXJrZXItZ3JheTtcblx0fVxuXG5cdHRleHRhcmVhIHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG5cdC5nZl9tYXJnaW5fYnRtIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG59XG5cbi52YWxpZGF0aW9uX2Vycm9yLCAudmFsaWRhdGlvbl9tZXNzYWdlIHtcblx0Y29sb3I6ICRhbGVydC1jb2xvcjtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG59XG5cblthcmlhLWludmFsaWQ9dHJ1ZV0sIC5nZmllbGRfZXJyb3IgaW5wdXQsIC5nZmllbGRfZXJyb3Igc2VsZWN0IHtcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJGFsZXJ0LWNvbG9yO1xuXHRjb2xvcjogJGRhcmtlci1ncmF5O1xuXHRiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZXJyb3JAMngucG5nKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0IDVweCAvIDE3cHggMThweDtcblxuXHQmOjpwbGFjZWhvbGRlciB7IFxuXHRcdGNvbG9yOiAkYWxlcnQtY29sb3I7XG5cdH1cdFxufVxuXG4uZ2ZpZWxkX2xhYmVsIHtcbiAgICBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgVzAxXzY1IE1lZGl1bTE0NzU1MzJcIixzYW5zLXNlcmlmO1xufVxuXG4uZ2ZpZWxkX2Vycm9yIHtcblx0LmdmaWVsZF9sYWJlbCwgLmdmaWVsZF9sYWJlbCBzcGFuIHtcblx0XHRjb2xvcjogJGFsZXJ0LWNvbG9yO1xuXHR9XG5cdC5naW5wdXRfY29udGFpbmVyX2ZpbGV1cGxvYWQsIC5naW5wdXRfcmVjYXB0Y2hhIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG59XG5cbnRleHRhcmVhW2FyaWEtaW52YWxpZD10cnVlXSB7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciAge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcblx0Lmdmb3JtX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcblx0XHRjb2xvcjogIzA0MzI2Mztcblx0XHRmb250LXNpemU6IDEuMjVyZW07XG5cdH1cbn1cblxuLmdmb3JtX2FuY2hvciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xNTBweDtcbn1cblxuLmdmb3JtX21hcmdpbl90b3Age1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufSIsIi8qKlxuICogQnV0dG9ucyBhbmQgbGlua3NcbiAqL1xuXG4gLy8gTW9iaWxlIGhvdmVyIHN0YXRlXG4gQG1peGluIHJpcHBsZSgkaG92ZXItY29sb3IsICRhY3RpdmUtY29sb3IpIHtcblx0LnRvdWNoICYge1xuICAgICAgICAmOm5vdChpbnB1dFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaG92ZXItY29sb3IgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgdHJhbnNwYXJlbnQgMSUsICRob3Zlci1jb2xvciAxJSkgY2VudGVyLzE1MDAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDBzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cdH1cbn1cblxuYSwgYnV0dG9uLCBhLmJ1dHRvbiwgbGkuZmF1eC1idXR0b24gYSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmLmFjdGl2ZSB7XG5cdFx0QGV4dGVuZCA6aG92ZXI7XG5cdH1cblxuICAgICYuZG9uYXRlX2J0biB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIzcHg7XG4gICAgfVxufVxuXG5hIHtcblx0dGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVuZGVyO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjI1cztcbn1cblxubGkuZmF1eC1idXR0b24gYSB7XG5cdEBleHRlbmQgLmJ1dHRvbjtcbn1cblxuYnV0dG9uLCBhLmJ1dHRvbiwgbGkuZmF1eC1idXR0b24gYSwgaW5wdXQuYnV0dG9uLCAuYnV0dG9uOnZpc2l0ZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaW5jbHVkZSByaXBwbGUoJGJ1dHRvbi1iYWNrZ3JvdW5kLCBsaWdodGVuKCRidXR0b24tYmFja2dyb3VuZCwgMTAlKSk7XG4gICAgXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiA4cHg7XG5cdFx0aGVpZ2h0OiAxNXB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHRyaWdodDogMjVweDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLi9pY29ucy9hcnJvdy1idG4tYmx1ZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47XG5cblx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLWJsdWUuc3ZnKTtcblx0XHRcdG1hc2stc2l6ZTogY29udGFpbjtcblx0XHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdH1cblx0fVxuXG5cdCY6aG92ZXIsICY6YWN0aXZlIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmcnKTtcblxuXHRcdFx0QHN1cHBvcnRzKG1hc2staW1hZ2U6IHVybChcIlwiKSkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Fycm93LWJ0bi15ZWxsb3cuc3ZnKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuICAgICYucHJpbWFyeSwgJi5wcmltYXJ5OnZpc2l0ZWQsICYucHJpbWFyeTphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LW9uZTtcbiAgICAgICAgJjpob3ZlciwgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LW9uZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmcnKTtcblxuXHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHNlY29uZGFyeS1vbmU7XG5cdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Fycm93LWJ0bi15ZWxsb3cuc3ZnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cbiAgICB9XG5cblx0Ji5zZWNvbmRhcnkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXR3bztcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdEBpbmNsdWRlIHJpcHBsZSgkcHJpbWFyeS1vbmUsIGxpZ2h0ZW4oJHByaW1hcnktb25lLCAxMCUpKTtcblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pY29ucy9hcnJvdy1idG4td2hpdGUuc3ZnJyk7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciwgJjphY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktb25lO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pY29ucy9hcnJvdy1idG4teWVsbG93LnN2ZycpO1xuXG5cdFx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmcpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5jbGVhciB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LW9uZTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMWVtO1xuXHRcdFx0Ym90dG9tOiAxMHB4O1xuXHRcdFx0aGVpZ2h0OiAzcHg7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMmVtKTtcblx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnktb25lO1xuXHRcdH1cblxuXHRcdCY6YWN0aXZlLCAmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LXRocmVlO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR9IFxuXHR9XG5cblx0Ji5kaXNhYmxlZCwgJjpkaXNhYmxlZCB7XG5cdFx0YmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cblx0XHQmOmFjdGl2ZSwgJjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0fVxuXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxufVxuXG5pbnB1dC5idXR0b24sIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc3Ljk4NicgaGVpZ2h0PScxNS42OTYnIHZpZXdCb3g9JzAgMCA3Ljk4NiAxNS42OTYnJTNFJTNDcGF0aCBpZD0nYXJyb3cnIGRhdGEtbmFtZT0nUGF0aCA1NDY4JyBkPSdNLTE4MDk1LjM5MywzMjEzLjE4Mmw0LjM3OSw1Ljk0OS00LjM3OSw1LjU0MicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMTgwOTcuNSAtMzIxMS4wODQpJyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZW5jb2RlY29sb3IoJHByaW1hcnktb25lKX0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAyNXB4KSBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogOHB4IDE1cHg7XG5cblx0Jjpob3ZlciwgJjphY3RpdmUge1xuXHRcdC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmcnKTtcblx0XHQvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pY29ucy9hcnJvdy1idG4tZHluYW1pYy5zdmc/Y29sb3I9I3skc2Vjb25kYXJ5LW9uZX1cIik7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNy45ODYnIGhlaWdodD0nMTUuNjk2JyB2aWV3Qm94PScwIDAgNy45ODYgMTUuNjk2JyUzRSUzQ3BhdGggaWQ9J2Fycm93JyBkYXRhLW5hbWU9J1BhdGggNTQ2OCcgZD0nTS0xODA5NS4zOTMsMzIxMy4xODJsNC4zNzksNS45NDktNC4zNzksNS41NDInIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDE4MDk3LjUgLTMyMTEuMDg0KScgZmlsbD0nbm9uZScgc3Ryb2tlPScje2VuY29kZWNvbG9yKCRzZWNvbmRhcnktb25lKX0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHR9XG5cblx0Ji5zZWNvbmRhcnkge1xuXHRcdC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaWNvbnMvYXJyb3ctYnRuLXdoaXRlLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzcuOTg2JyBoZWlnaHQ9JzE1LjY5Nicgdmlld0JveD0nMCAwIDcuOTg2IDE1LjY5NiclM0UlM0NwYXRoIGlkPSdhcnJvdycgZGF0YS1uYW1lPSdQYXRoIDU0NjgnIGQ9J00tMTgwOTUuMzkzLDMyMTMuMTgybDQuMzc5LDUuOTQ5LTQuMzc5LDUuNTQyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxODA5Ny41IC0zMjExLjA4NCknIGZpbGw9J25vbmUnIHN0cm9rZT0nI3tlbmNvZGVjb2xvcigkd2hpdGUpfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnLyUzRSUzQy9zdmclM0VcIik7XG5cblx0XHQmOmhvdmVyLCAmOmFjdGl2ZSB7XG5cdFx0XHQvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb25zL2Fycm93LWJ0bi15ZWxsb3cuc3ZnJyk7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc3Ljk4NicgaGVpZ2h0PScxNS42OTYnIHZpZXdCb3g9JzAgMCA3Ljk4NiAxNS42OTYnJTNFJTNDcGF0aCBpZD0nYXJyb3cnIGRhdGEtbmFtZT0nUGF0aCA1NDY4JyBkPSdNLTE4MDk1LjM5MywzMjEzLjE4Mmw0LjM3OSw1Ljk0OS00LjM3OSw1LjU0MicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMTgwOTcuNSAtMzIxMS4wODQpJyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZW5jb2RlY29sb3IoJHNlY29uZGFyeS1vbmUpfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnLyUzRSUzQy9zdmclM0VcIik7XG5cdFx0fVxuXHR9XG5cbiAgICAmLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNy45ODYnIGhlaWdodD0nMTUuNjk2JyB2aWV3Qm94PScwIDAgNy45ODYgMTUuNjk2JyUzRSUzQ3BhdGggaWQ9J1BhdGhfNTQ2OCcgZGF0YS1uYW1lPSdQYXRoIDU0NjgnIGQ9J00tMTgwOTUuMzkzLDMyMTMuMTgybDQuMzc5LDUuOTQ5LTQuMzc5LDUuNTQyJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMTgwODkuNTE0IDMyMjYuNzgpIHJvdGF0ZSgxODApJyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZW5jb2RlY29sb3IoJHByaW1hcnktb25lKX0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDYlKSBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVlbSAxLjRlbSAxLjI1ZW0gMi44ZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTklKSBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc3Ljk4NicgaGVpZ2h0PScxNS42OTYnIHZpZXdCb3g9JzAgMCA3Ljk4NiAxNS42OTYnJTNFJTNDcGF0aCBpZD0nUGF0aF81NDY4JyBkYXRhLW5hbWU9J1BhdGggNTQ2OCcgZD0nTS0xODA5NS4zOTMsMzIxMy4xODJsNC4zNzksNS45NDktNC4zNzksNS41NDInIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0xODA4OS41MTQgMzIyNi43OCkgcm90YXRlKDE4MCknIGZpbGw9J25vbmUnIHN0cm9rZT0nI3tlbmNvZGVjb2xvcigkc2Vjb25kYXJ5LW9uZSl9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycvJTNFJTNDL3N2ZyUzRVwiKTtcblx0XHR9XG4gICAgfVxufVxuXG4vLyBPbmx5IHVzZWQgZm9yIGRlbW8gdmlldyBpbiBEZXNpZ24gTGlicmFyeVxuLmJ1dHRvbl9yb3cge1xuICAgIC5jZWxsIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgIH1cbn1cblxuLmJ1dHRvbl9fZ3JpZCB7XG4gICAgLmdyZXlfX2NlbGwsIGEgLmdyZXlfX2NlbGwge1xuICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJHNlY29uZGFyeS1vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmV5O1xuICAgICAgICAvL2NvbG9yOiAkc2Vjb25kYXJ5LWVpZ2h0O1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhLmdyZXlfX2lubmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAuZ3JleV9fY2VsbCB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuN3M7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdHdvO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10aHJlZTtcbiAgICAgICAgICAgICAgICBoMywgLmg1LCBwLCBhLCBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5idXR0b25fX3NpbXBsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmV5O1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1vbmU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktb25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciwgJjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcHRpb24tZ3JleTtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10aHJlZTtcblxuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGhyZWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRldGFpbHMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXR3bztcbiAgICAgICAgICAgICAgICAvL21hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10aHJlZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLmhlcm9fX2J1dHRvbl9fd3JhcCB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgfVxufVxuXG4uYnV0dG9uX19mdWxsd2lkdGgge1xuXG4gICAgLmJ1dHRvbl9fc2ltcGxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktb25lO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDAgYXV0byBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnV0dG9uX19oYWxmaGFsZiB7XG4gICAgLmJ1dHRvbl9fc2ltcGxlIHtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBhLCBzcGFuLm5vLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAvLyBoZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYi1jb2xvdXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LW9uZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuXG5cdFx0XHQubWVkaWEgJiB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0cGFkZGluZzogMCAwIDIwcHg7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuXHRcdFx0XHQmOmhvdmVyLCAmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRwcmltYXJ5LW9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktb25lO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cblx0XHRcdFx0LmFycm93LWJ0biB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2J0bmFycm93LWhvdmVyLnN2Zyk7XG5cblx0XHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9idG5hcnJvdy1ob3Zlci5zdmcpO1xuXHRcdFx0XHRcdFx0bWFzay1zaXplOiAxNXB4IDE1cHg7XG5cdFx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFycm93LWJ0biB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9idG5hcnJvdy5zdmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9idG5hcnJvdy5zdmcpO1xuXHRcdFx0XHRcdG1hc2stc2l6ZTogMTVweCAxNXB4O1xuXHRcdFx0XHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRvd25sb2FkLWJ0biB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Rvd25sb2FkLWJ0bkAyeC5wbmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9kb3dubG9hZC1pY29uLnN2Zyk7XG5cdFx0XHRcdFx0bWFzay1zaXplOiAxNXB4IDE1cHg7XG5cdFx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0fVxuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBzcGFuLm5vLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LW9uZTtcbiAgICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktb25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYnV0dG9uX19zaW1wbGVfZWxlY3Rpb24ge1xuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS10aHJlZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5lbGVjdGlvbi1idG4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9idG5lbGVjdGlvbi5zdmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuLy9PdmVycmlkZVxuLmJ1dHRvbl9fY2FyZCB7XG4gICAgYm9yZGVyLXRvcDogMTRweCBzb2xpZCAkcHJpbWFyeS10d287XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgcGFkZGluZzogMTBweCAwcHg7IFxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGg1OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Fycm93LW5leHRAMngucG5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDEzcHg7XG4gICAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnJlYWRjcnVtYi13cmFwICsgLmRyb3Bkb3duX190YWJsZW9mY29udGVudCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICB0b3A6IDEzNXB4O1xuICAgIH1cbn1cblxuLmRyb3Bkb3duX190YWJsZW9mY29udGVudCB7XG4gICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDVweCA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDMuNnJlbTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAxMjhweDtcbiAgICB6LWluZGV4OiA5OTY7XG4gICAgcGFkZGluZzogMTBweCAzMHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnRfbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gdG9wOiA5NXB4O1xuICAgICAgICAvLyBtYXgtd2lkdGg6IDgzLjc1cmVtO1xuICAgICAgICAvLyB3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbiAgICAgICAgLy8gLmRyb3Bkb3duLWNvbnRlbnQge1xuICAgICAgICAvLyAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIH1cbiAgICAgICAgJi5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnRfbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGNhbGMoMTAwJSAtIDEuNXJlbSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZHJvcGRvd24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIC8vICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIC8vIH1cbiAgICBwIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9kb3duLWFycm93LXllbGxvdy5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcblxuXHRcdFx0QHN1cHBvcnRzKG1hc2staW1hZ2U6IHVybChcIlwiKSkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cteWVsbG93LnN2Zyk7XG5cdFx0XHRcdG1hc2stc2l6ZTogY29udGFpbjtcblx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0bWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZHJvcGRvd24tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1pbi13aWR0aDogMjIwcHg7XG5cdFx0bWF4LWhlaWdodDogNTB2aDtcblx0XHRvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggOHB4IDE2cHggMHB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMjBweDs7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMjI4LDIyOCwyMjgsMC4yKTs7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE5cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy90YmNfd2hpdGUuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41czsgICAgICBcblxuXHRcdFx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy90YmNfd2hpdGUuc3ZnKTtcblx0XHRcdFx0XHRcdG1hc2stc2l6ZTogY29udGFpbjtcblx0XHRcdFx0XHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0XHRcdH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjphY3RpdmUgIHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL3RiY195ZWxsb3cuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb250YWluO1xuXG5cdFx0XHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnktb25lO1xuXHRcdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvdGJjX3llbGxvdy5zdmcpO1xuXHRcdFx0XHRcdFx0fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZHJvcGRvd24tY29udGVudF9jbG9zZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSAge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7ICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICAgICAgICAgLmRyb3Bkb3duLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi50b2Nfc2hvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICAgICYuZHJvcGRvd24tY29udGVudF9jbG9zZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmRyb3Bkb3duX190YWJsZW9mY29udGVudF9yb3RhdGUge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgICY6YWZ0ZXIgeyAgICAgIFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBNaWNyb3NpdGUgYnV0dG9uIG92ZXJyaWRlc1xuYm9keS5taWNyb3NpdGUge1xuICAgIC8vIERhcmsgYnJhbmQgY29sb3Vyc1xuICAgICYuZGFyay1icmFuZC1jb2xvdXJzIHtcbiAgICAgICAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LW9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRzZWNvbmRhcnktb25lO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkcHJpbWFyeS1vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LW9uZTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uLnRlcnRpYXJ5IHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIExpZ2h0IGJyYW5kIGNvbG91cnNcbiAgICAmLmxpZ2h0LWJyYW5kLWNvbG91cnMge1xuICAgICAgICAuYnV0dG9uLnByaW1hcnkge1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdHdvO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnktb25lO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnktdHdvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHNlY29uZGFyeS1vbmU7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdHdvO1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbi50ZXJ0aWFyeSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImltZyB7XG5cdCYuaW1hZ2Uge1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cblxuXHRAbWVkaWEgb25seSBwcmludCB7XG5cdFx0cGFnZS1icmVhay1iZWZvcmU6IGF1dG8gIWltcG9ydGFudDtcblx0XHRwYWdlLWJyZWFrLWFmdGVyOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmLmFsaWdubGVmdCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHR9XG5cblx0Ji5hbGlnbnJpZ2h0IHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdH1cblxuXHQmLmFsaWduY2VudGVyIHtcblx0XHRtYXJnaW46IGF1dG87XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxuXG5cdCYuYWxpZ25jZW50ZXIsICYuYWxpZ25yaWdodCwgJi5hbGlnbmxlZnQge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0bWFyZ2luOiAyMHB4IGF1dG87XG5cdFx0fVxuXHR9XG5cblx0LmZhY3RzaGVldF9iYW5uZXJfY29udGFpbmVyICYge1xuXHRcdGhlaWdodDogY2xhbXAoMzUwcHgsNDAwcHgsNTAwcHgpO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0fVxufVxuXG5pbWcuYXJ0aWNsZV9pbWFnZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi5jYXB0aW9uLXdyYXAge1xuXHRwYWRkaW5nLXRvcDogMTBweDtcblx0cGFkZGluZy1ib3R0b206IDBweDtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRwYWRkaW5nLXRvcDogMjBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0fVxufVxuIiwidWwucGFnZS1udW1iZXJzIHtcblx0QGV4dGVuZCAucGFnaW5hdGlvbjtcblx0ZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0YSwgbGkuY3VycmVudCwgbGkuZWxsaXBzaXMge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LW9uZTtcblx0XHR9XG5cdH1cblx0bGkge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRoZWlnaHQ6IDMxcHg7XG5cblx0XHQuY3VycmVudCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJHByaW1hcnktdHdvO1xuXHRcdH1cblx0fVxuXHQucHJldiwgLm5leHQge1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTFweCAxN3B4O1xuXHRcdFx0d2lkdGg6IDExcHg7XG5cdFx0XHRoZWlnaHQ6IDE3cHg7XG5cblx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0bWFzay1zaXplOiBjb250YWluO1xuXHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRtYXNrLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5wcmV2OmFmdGVye1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pY29ucy9wcmV2LWJ0bi5zdmcpO1xuXG5cdFx0QHN1cHBvcnRzKG1hc2staW1hZ2U6IHVybChcIlwiKSkge1xuXHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL3ByZXYtYnRuLnN2Zyk7XG5cdFx0fVxuXHR9XG5cdC5uZXh0OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ljb25zL25leHQtYnRuLnN2Zyk7XG5cblx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvbmV4dC1idG4uc3ZnKTtcblx0XHR9XG5cdH1cbn1cbiIsIi5zZWFyY2hfd3JhcHBlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmV5ICFpbXBvcnRhbnQ7XG5cdC5zZWFyY2gge1xuXHRcdGlucHV0LCBpbnB1dDpmb2N1cyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0Y29sb3I6ICRjYXB0aW9uLWdyZXk7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXG5cdFx0fVxuXHRcdGlucHV0LCBzZWxlY3QsIDo6cGxhY2Vob2xkZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0XHRjb2xvcjogJGNhcHRpb24tZ3JleTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXHRcdGRpdi5zZWFyY2hfX2lucHV0IHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ljb25zL3NlYXJjaC1pY29uLWdyZXkuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47XG5cdFx0XHRcdGhlaWdodDogMjBweDtcblx0XHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAxMHB4O1xuXHRcdFx0XHRyaWdodDogMTBweDtcblx0XHRcdH1cblx0XG5cdFx0fVxuXHRcdC5zZWFyY2hfX2ZpbHRlcnMge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0fVxuXHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxNXB4IDhweDtcblxuXHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9kb3duLWFycm93LnN2Zyk7XG5cdFx0XHRcdFx0bWFzay1zaXplOiAxNXB4IDhweDtcblx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRsYWJlbCB7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0XHRcdFx0XHQmLmxhc3Qge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiNteS1jdXN0b20tc2VhcmNoZm9ybSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aW5wdXRbdHlwZT10ZXh0XSB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdH1cblx0c2VsZWN0IHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR3aWR0aDogNDklO1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHR9XG5cdHNlbGVjdDpudGgtY2hpbGQob2RkKXtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdH1cblx0aW5wdXRbdHlwZT1zdWJtaXRdIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHR6LWluZGV4OiA5OTk5OTk5OTk5OTk5O1xuXHRcdGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9zZWFyY2gtaWNvbi1yZWQuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcblx0XHR0b3A6IDBweDtcblx0fVxufVxuXG4uc2VhcmNoLWZvcm0ge1xuXHRpbnB1dFt0eXBlPXNlYXJjaF0ge1xuXHRcdCY6YWN0aXZlLCAmOmZvY3VzIHtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjQ0UwMDNBO1xuXHRcdH1cblx0fVxuXHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5zZWFyY2hfcmVzdWx0cyB7XG5cdC5yZXN1bHRzX3RvdGFsIHtcblx0XHQvLyBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cdFx0Ly8gcGFkZGluZy1yaWdodDogMjBweDtcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiA1MHB4O1xuXHRcdH1cblx0fVxuXHQucmVzdWx0c19pbmZvIHtcblx0XHQvLyBwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cdFx0Ly8gcGFkZGluZy1yaWdodDogNDBweDtcblx0XHQvLyBwYWRkaW5nLWJvdHRvbTogNjBweDtcblx0XHQvLyBib3JkZXItYm90dG9tOiAycHggc29saWQgJGxpZ2h0LWdyYXk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0fVxuXHQucGlua190ZXh0IHtcblx0XHRjb2xvcjogJHByaW1hcnktb25lO1xuXHRcdGZvbnQtZmFtaWx5OlwiQXZlbmlyIExUIFcwMV84NSBIZWF2eTE0NzU1NDRcIjtcblx0fVxuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuXHRcdGxpIHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRib3JkZXItbGVmdDogM3B4IHNvbGlkICRwcmltYXJ5LW9uZTtcblx0XHRcdHBhZGRpbmctbGVmdDogMXJlbTtcblx0XHRcblx0XHRcdGgyIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogNjBweDtcblx0XHRcdH1cblxuXHRcdFx0aDUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdFx0XHR9XG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdH1cblx0XHRcdGEge1xuXHRcdFx0XHRmb250LXdlaWdodDogODAwO1xuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdFx0XHRcdGhlaWdodDogMTNweDtcblx0XHRcdFx0XHR3aWR0aDogOXB4O1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Fycm93LWJ0bi1ibHVlLnN2Zykgbm8tcmVwZWF0O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogOXB4IDEzcHg7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblx0XHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLWJsdWUuc3ZnKTtcblx0XHRcdFx0XHRcdG1hc2stc2l6ZTogOXB4IDEzcHg7XG5cdFx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdH1cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbiNzZWFyY2hmb3JtLnNlYXJjaF9kZXNrdG9wIHtcblx0ZGlzcGxheTogZmxleDtcblxuXHRpbnB1dFt0eXBlPSd0ZXh0J10ge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdCNzZWFyY2gtbGFuZyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMjNweDtcblx0XHRwYWRkaW5nOiAwLjdyZW0gMnJlbSAwLjdyZW0gMXJlbTtcblx0XHRtYXJnaW46IDAgMCAwIDIwcHg7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMTVweCkgY2VudGVyO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cdFx0aW5wdXRbdHlwZT0ndGV4dCddIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0fVxuXG5cdFx0I3NlYXJjaC1sYW5nIHtcblx0XHRcdG1hcmdpbjogMCAwIDIwcHggMDtcblx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcblx0XHR9XG5cdH1cbn0iLCIvKipcbiAqIExpc3RzXG4gKi9cblxuIHNlY3Rpb24ge1xuICAgIC5jZWxsIHtcbiAgICAgICAgdWw6bm90KC5wYWdpbmF0aW9uKTpub3QoLnBhZ2UtbnVtYmVycyk6bm90KC50YWJzKTpub3QoLmFjY29yZGlvbik6bm90KC5zb2NpYWwtLWxpc3QpOm5vdCguc2lkZWJhcl9saXN0KTpub3QoLmJyZWFkY3J1bWItLW5hdmlnYXRpb24pOm5vdCguZGFzaGVkKTpub3QoLmdmb3JtX2ZpZWxkcyl7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lOyAvKiBSZW1vdmUgZGVmYXVsdCBidWxsZXRzICovXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjRweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDIyXCI7ICAvKiBBZGQgY29udGVudDogXFwyMDIyIGlzIHRoZSBDU1MgQ29kZS91bmljb2RlIGZvciBhIGJ1bGxldCAqL1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdHdvOyAvKiBDaGFuZ2UgdGhlIGNvbG9yICovXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyAvKiBJZiB5b3Ugd2FudCBpdCB0byBiZSBib2xkICovXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogTmVlZGVkIHRvIGFkZCBzcGFjZSBiZXR3ZWVuIHRoZSBidWxsZXQgYW5kIHRoZSB0ZXh0ICovXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjVlbTsgLyogQWxzbyBuZWVkZWQgZm9yIHNwYWNlICh0d2VhayBpZiBuZWVkZWQpICovXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41ZW07IC8qIEFsc28gbmVlZGVkIGZvciBzcGFjZSAodHdlYWsgaWYgbmVlZGVkKSAqL1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bC5hY2NvcmRpb24ge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmUgIC8qIEFkZCBjb250ZW50OiBcXDIwMjIgaXMgdGhlIENTUyBDb2RlL3VuaWNvZGUgZm9yIGEgYnVsbGV0ICovXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXHQuZnJlZV90ZXh0IHtcblx0XHR1bCwgb2wge1xuXHRcdFx0Ly8gbWFyZ2luLWJvdHRvbTogNTBweDtcblx0XHR9XG5cblx0XHRibG9ja3F1b3RlIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbjogNDBweCAwO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdFx0XHR9XG5cblx0XHRcdHAge1xuXHRcdFx0XHRAZXh0ZW5kIGg1O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuIH1cbiIsIi8qKlxuICogVGFic1xuICovXG5cbi50YWJzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblxuXHRsaS50YWJzLXRpdGxlIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0XHQmPmEge1xuXHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktb25lO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRhYi1jb2xvdXI7XG5cdFx0fVxuXHRcdFxuXHRcdCY+YVthcmlhLXNlbGVjdGVkPXRydWVdIHtcblx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LXR3bztcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS10aHJlZTtcblx0XHR9XG5cblx0XHRhOmZvY3VzIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuICBcdFx0XHRib3gtc2hhZG93OiAwIDAgMnB4ICRwcmltYXJ5LXRocmVlO1xuXHRcdH1cblx0fVxufVxuXG4udGFicy1jb250ZW50IHtcblx0Ym9yZGVyOiBub25lO1xuXHQudGFicy1wYW5lbCB7XG5cdFx0cGFkZGluZzogKCRnbG9iYWwtcGFkZGluZyAqIDIpIDA7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG4iLCIvKipcbiogVHlwb2dyYXBoeVxuKi9cblxuQGZvbnQtZmFjZXtcblx0Zm9udC1mYW1pbHk6XCJBdmVuaXIgTFQgVzAxXzU1IFJvbWFuMTQ3NTUyMFwiO1xuXHRzcmM6dXJsKFwiLi4vZm9udHMvMTQ3NTUyMC9iMjkwZTc3NS1lMGY5LTQ5ODAtOTE0Yi1hNGMzMmE1ZTNlMzYud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksdXJsKFwiLi4vZm9udHMvMTQ3NTUyMC80Yjk3OGY3Mi1iYjQ4LTQ2YzMtOTA5YS0yYThjZDJmODgxOWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5AZm9udC1mYWNle1xuICAgZm9udC1mYW1pbHk6XCJBdmVuaXIgTFQgVzAxXzY1IE1lZGl1bTE0NzU1MzJcIjtcbiAgIHNyYzp1cmwoXCIuLi9mb250cy8xNDc1NTMyLzE3YjkwZWY1LWI2M2YtNDU3Yi1hOTgxLTUwM2JiN2FmZTNjMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSx1cmwoXCIuLi9mb250cy8xNDc1NTMyL2M5YWVlYWJkLWRkNjUtNDkxZC1iNGJlLTNlMGRiOWFlNDdhMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5cbkBmb250LWZhY2V7XG4gICBmb250LWZhbWlseTpcIkF2ZW5pciBMVCBXMDFfODUgSGVhdnkxNDc1NTQ0XCI7XG4gICBzcmM6dXJsKFwiLi4vZm9udHMvMTQ3NTU0NC9kNTEzZTE1ZS04ZjM1LTQxMjktYWQwNS00ODE4MTVlNTI2MjUud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksdXJsKFwiLi4vZm9udHMvMTQ3NTU0NC82MWJkMzYyZS03MTYyLTQ2YmQtYjY3ZS0yOGYzNjZjNGFmYmUud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5AZm9udC1mYWNle1xuICAgZm9udC1mYW1pbHk6XCJBdmVuaXIgTFQgVzAxXzk1IEJsYWNrMTQ3NTU1NlwiO1xuICAgc3JjOnVybChcIi4uL2ZvbnRzLzE0NzU1NTYvYzc4ZWI3YWYtYTFjOC00ODkyLTk3NGItNTIzNzk2NDZmZWY0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLHVybChcIi4uZm9udHMvMTQ3NTU1Ni83NWIzNmM1OC0yYTAyLTQwNTctYTUzNy0wOWFmMDgzMmFlNDYud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xufVxuXG5ib2R5IHtcbiAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnN1YmhlYWRpbmcge1xuXHRmb250LWZhbWlseTogXCJBdmVuaXIgTFQgVzAxXzg1IEhlYXZ5MTQ3NTU0NFwiO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0bGluZS1oZWlnaHQ6IDEuNDU7XG5cdGxldHRlci1zcGFjaW5nOiAwLjI3NWVtO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiAkcHJpbWFyeS10aHJlZTtcbn1cblxuLnN0YW5kYXJkLWxpbmsge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRib3JkZXItYm90dG9tOiAzcHggc29saWQgJHNlY29uZGFyeS1vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzO1xuXHRjb2xvcjogJHByaW1hcnktb25lO1xuXHQmOmhvdmVyIHtcblx0XHRib3JkZXItYm90dG9tOiAzcHggc29saWQgJGVycy1henVlLWJsdWU7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LW9uZTtcblx0fVxufVxuXG5wIHtcblx0Ji5sYXJnZSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMS4yNWVtO1xuXHR9XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xufVxuIiwiaHRtbCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuKiBodG1sIGJvZHkgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuJGhlYWRlci1oZWlnaHQ6IDE4NHB4O1xuJGhlYWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcblxuLy9TRVQgVEhFIEhFQURFUiBJQ09OIFBST1BFUlRJRVNcbiRoZWFkZXItaWNvbi1iYWNrZ3JvdW5kOiAnLi4vaWNvbnMvbG9nby5wbmcnO1xuJGhlYWRlci1pY29uLXdpZHRoOiAzMXB4O1xuJGhlYWRlci1pY29uLWhlaWdodDogMzFweDtcbiRoZWFkZXItaWNvbi1tYXJnaW46IDVweCAxNnB4IDVweCAwO1xuXG4vKipcblx0U2l0ZSBIZWFkZXIgXG4qL1xuLnNpdGUtaGVhZGVyIHtcdFx0XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblxuXHQ+IC5ncmlkLWNvbnRhaW5lciB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cblx0LmhlYWRlci13cmFwIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRtaW4taGVpZ2h0OiA1NXB4O1xuXHR9XG5cblx0YSB7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0fVxuXG5cdC5oYW1idXJnZXIgeyBcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxMHB4O1xuXHRcdHJpZ2h0OjE2cHg7XG5cdFx0LmhhbWJ1cmdlci1ib3gge1xuXHRcdFx0aGVpZ2h0OiAxMHB4O1xuXHRcdH1cblxuXHRcdC5oYW1iX2Nsb3NlIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdFx0fVxuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdC8vIGNvbnRlbnQ6IFwiTWVudVwiO1xuXHRcdFx0Ly8gZm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0Ly8gZm9udC1zaXplOiAxZW07XG5cdFx0XHQvLyBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRcdFx0Ly8gcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Ly8gdG9wOi0ycHg7XG5cdFx0fVxuXG5cdFx0Ji5pcy1hY3RpdmU6OmJlZm9yZSB7XG5cdFx0XHQvLyBjb250ZW50OiBcIkNsb3NlXCI7XG5cdFx0XHQvLyBmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHQvLyBmb250LXNpemU6IDFlbTtcblx0XHRcdC8vIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdFx0XHQvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQvLyB0b3A6LTJweDtcblx0XHR9XG5cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHQuaGFtYl9jbG9zZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmhhbWJ1cmdlci1pbm5lciwgLmhhbWJ1cmdlci1pbm5lcjphZnRlciwgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUsIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6YWZ0ZXIsIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6YmVmb3JlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cdH1cblx0XG5cdC5pY29uIHsgXG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6ICRoZWFkZXItaWNvbi13aWR0aDtcblx0XHRoZWlnaHQ6ICRoZWFkZXItaWNvbi1oZWlnaHQ7XG5cdFx0Ly8gYmFja2dyb3VuZDogdXJsKCRoZWFkZXItaWNvbi1iYWNrZ3JvdW5kKSBuby1yZXBlYXQgY2VudGVyIGxlZnQgLyBjb250YWluO1x0XHRcblxuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pY29ucy9sb2dvLWZ1bGwucG5nKTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiA0NHB4O1xuXHRcdFx0bWFyZ2luOiAkaGVhZGVyLWljb24tbWFyZ2luO1xuXHRcdH1cblxuXHRcdHNwYW4ge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlOyBcblx0XHRcdGxlZnQ6IC05OTk5OXB4O1xuXHRcdH1cblxuXHRcdCYuaWNvbi1zbWFsbCB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHQvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaWNvbnMvbG9nby5wbmcpO1xuXHRcdFx0dHJhbnNpdGlvbjogd2lkdGggMC4yNXMsIGhlaWdodCAwLjI1cztcblx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcblx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdH1cblx0fVxuXG5cdC5zZWFyY2hfX3dyYXBwZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmctbGVmdDogMjRweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0d2lkdGg6IDg1JTtcblx0XHRcdHBhZGRpbmctbGVmdDogMTBweDtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH1cblxuXHRcdGZvcm0ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdFx0XHRtYXJnaW46IDBweDtcblx0XHRcdHBhZGRpbmc6IDRweCAyMHB4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDM1cHg7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0Zm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFcwMV81NSBSb21hbjE0NzU1MjBcIjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVzdC1ncmF5O1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDI0cHggMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubWVudSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHR3aWR0aDogMTAwJTtcdFx0XHRcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHRcdFx0XG5cdFx0bGkge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHQvLyBwYWRkaW5nOiAxNnB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1x0XG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMHB4O1xuXHRcdFx0XHR9XG5cdFxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XHRcblx0XHRcdC8vIFx0JjpiZWZvcmUge1xuXHRcdFx0Ly8gXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHQvLyBcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ljb25zL21vYmlsZV9tZW51X2Fycm93QDJ4LnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb250YWluO1xuXHRcdFx0Ly8gXHRcdHdpZHRoOiAxMHB4O1xuXHRcdFx0Ly8gXHRcdGhlaWdodDogMTFweDtcblx0XHRcdC8vIFx0XHRyaWdodDogMTBweDtcblx0XHRcdC8vIFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHQvLyBcdH1cblx0XHRcdC8vIH1cblxuXHRcdFx0Jjpub3QoLmZhdXgtYnV0dG9uKSB7XG5cdFx0XHRcdGEsIGg2IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRwYWRkaW5nOiAxNnB4IDAgNXB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdH1cblx0XHRcdFx0YSB7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS10d287XG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLnNlYXJjaC0tbGluayB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0XHRcdGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ljb25zL3NlYXJjaC1pY29uLnN2Zykgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcblx0XHRcdFx0XHRcdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYuc2VjdGlvbi1sYW5kaW5nIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDBweCAwcHggNXB4IDBweDtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLnNlY29uZGFyeSB7XG5cdFx0XHRtYXJnaW46IDEwcHggMCAxN3B4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdFx0PiBsaSB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0cGFkZGluZzogMCAyMXB4O1xuXG5cdFx0XHRcdCY6bnRoLWNoaWxkKC1uKzIpIHtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYm9yZGVyO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6bnRoLWxhc3QtY2hpbGQoMikge1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDBweDtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOm5vdCguZmF1eC1idXR0b24pIHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5sYW5ndWFnZXMge1xuXHRcdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZ2xvYmUuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47XG5cdFx0XHRcdFx0XHR0ZXh0LWluZGVudDogLTk5OTlweDtcblx0XHRcdFx0XHRcdHdpZHRoOiA1MHB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xuXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA4cHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNXB4O1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY29udGFpbjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmZvY3VzLXdpdGhpbiB7XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdHRvcDogMTAwJTtcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IC04MHB4O1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogNzV2dztcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAyMDBweDtcblx0XHRcdFx0XHRcdFx0ei1pbmRleDogOTk4O1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQjbGFuZ3VhZ2UtbWVudSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCNsYW5ndWFnZS1tZW51IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdFx0XHR0b3A6ICgkaGVhZGVyLWhlaWdodCAtIDQ4cHgpO1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0ei1pbmRleDogOTk5O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4IDA7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogZGlzcGxheSAwIDJzO1xuXG5cdFx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsaWdodC1ncmF5O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDEwcHg7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgMCAxMHB4O1xuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAzMyU7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cblx0XHRcdFx0XHRcdFx0LmxhYmVsIHtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRsaWdodGVyLWdyYXk7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDQ2cHg7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cblx0XHRcdFx0XHRcdCZbdGFyZ2V0PVwiX2JsYW5rXCJdIHtcblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMnB4O1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMTJweDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNnB4O1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMnB4O1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaWNvbnMvbmV3LXdpbmRvdy1ibHVlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY29udGFpbjtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMsICY6Zm9jdXMtd2l0aGluIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuZmF1eC1idXR0b24gYSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0NCk7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDQpO1xuXG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuc2VhcmNoLWl0ZW0ge1xuXHRcdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuaGlkZS1mb3ItbGFyZ2Uge1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRmb290ZXItYnJlYWs7XG5cdFx0fVxuXHRcdCYuZHJvcGRvd24ge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDZweDtcblxuXHRcdFx0Ly8gYWxpZ24gdG8gdGhlIGxlZnQgaWYgMCwxLDIsMyBpdGVtcyBpbiBsaXN0XG5cdFx0XHQmLml0ZW1zLTIsICYuaXRlbXMtMyB7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdFx0Y29sdW1uLWdhcDogNDBweDtcblx0XHRcdH1cblxuXHRcdFx0Ji5uYXZfY2hpbGQge1xuXHRcdFx0XHRsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCwgbGkge1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9kb3duLWFycm93LnN2Zyk7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTVweCAxMXB4O1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTVweDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMXB4O1xuXHRcdFx0XHRcdFx0XHR0b3A6IDIwcHg7XG5cdFx0XHRcdFx0XHRcdHJpZ2h0OiAtMjVweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXG5cdFx0XHRcdFx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRcdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTtcblx0XHRcdFx0XHRcdFx0XHRtYXNrLXNpemU6IDE1cHggMTFweDtcblx0XHRcdFx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktdHdvO1xuXHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFxuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy15ZWxsb3cuc3ZnKTtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDE1cHggMTFweDtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTVweDtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDExcHg7XG5cblx0XHRcdFx0XHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0XHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9kb3duLWFycm93LXllbGxvdy5zdmcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0bWFzay1zaXplOiAxNXB4IDExcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDBweDtcblx0XHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggMjVweDtcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcztcblx0XHRcdFx0XHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LW9uZTtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGxpOm5vdCguaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQpIHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktdHdvO1xuXHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRzZWNvbmRhcnktb25lO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gXG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0Lm1lbnUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1x0XHRcblx0XHRcdGxpIHtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuXHRQYW5lbCAmJiBcblx0Rml4ZWQgUG9zaXRpb24gbmF2aWdhdGlvblxuKi9cbmJvZHkge1xuXHQmLnBhbmVsLW9wZW4geyBcdFx0XG5cdFx0XG5cdFx0dHJhbnNpdGlvbjogYWxsIDFzIGJvdW5jZTtcblx0XHRcblx0XHQuc2l0ZS1oZWFkZXIgeyBcblx0XHRcdGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG5cdFx0XHRcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1x0XHRcdFxuXHRcdFx0XHRoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0XHRcdFx0bWF4LWhlaWdodDogMTAwdmg7XHRcdFx0XHRcblx0XHRcdFx0Lm1lbnUge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGFiLWNvbG91cjtcblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0bGk6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuZHJvcGRvd24tcGFuZSB7XG5cdFx0XHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQjbWVnYV9fbWVudV9fd3JhcHBlciB7XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0XHR0b3A6IDU1cHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nO1xuXHRcdFx0XHRoZWlnaHQ6IGNhbGMoMTAwdmggLSA1NXB4KTtcblxuXHRcdFx0XHQuZHJvcGRvd24tcGFuZSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHRvcDogMTBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5tZW51LnNlY29uZGFyeSB7XG5cdFx0XHRcdGRpc3BsYXk6aW5saW5lLWZsZXg7XG5cdFx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGxpLmZhdXgtYnV0dG9uIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRwYWRkaW5nOiAwcHg7XG5cdFx0XHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsaS5sYW5ndWFnZXMgPiBhIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZ2xvYmUuc3ZnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXIvY29udGFpbjtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDI1cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQmLmZpeGVkLW1lbnUge1xuXHRcdC5zaXRlLWhlYWRlciB7IFx0XG5cdFx0XHQmLWZpeGVkIHtcblx0XHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHotaW5kZXg6IDk5Nztcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRoZWlnaHQ6IDU1cHg7XG5cblx0XHRcdFx0QG1lZGlhIG9ubHkgcHJpbnQge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRcdGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuY2hpbGRfaGVhZGVyIHtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxNzBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuc2l0ZS1jb250ZW50IHtcblx0XHRcdG1hcmdpbi10b3A6IDU1cHg7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAkaGVhZGVyLWhlaWdodDtcblx0XHRcdH1cblxuXHRcdFx0QG1lZGlhIG9ubHkgcHJpbnQge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cblx0XHRcdCYuY2hpbGRfdGhlbWUge1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxNzBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKlxuKlx0TWVnYSBNZW51XG4qL1xuXG4jbWVnYV9fbWVudV9fd3JhcHBlciB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuXHRcdG92ZXJmbG93LXk6IHNjcm9sbDtcblxuXHRcdCNtZW51LWV5ZWJyb3ctbGlua3MtMSB7XG5cdFx0XHRwYWRkaW5nOiAxNXB4IDBweDtcblx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLnNocmlua2VkX21lbnUge1xuXHRcdC5tZWdhLW1lbnUge1xuXHRcdFx0Lm1lZ2FfbWVudV9pbm5lci5kcm9wZG93bi1wYW5lIHtcblx0XHRcdFx0dG9wOiAxMjZweCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5tZW51LnNlY29uZGFyeSAge1xuXHRcdC5sYW5ndWFnZXMge1xuXG5cdFx0XHQjbGFuZ3VhZ2UtbWVudV9tb2Ige1xuXHRcdFx0XHQvLyB0b3A6IDU1cHg7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR6LWluZGV4OiA5OTk7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbGlnaHQtZ3JheTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMTBweDtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDAgMTBweDtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdHdpZHRoOiA1MCU7XHRcdFx0XHRcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0XHRcdFx0LmxhYmVsIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxNXB4O1xuXHRcdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkbGlnaHRlci1ncmF5O1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogNDZweDtcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cblx0XHRcdFx0XHQmW3RhcmdldD1cIl9ibGFua1wiXSB7XG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTJweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDZweDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAycHg7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi4vaWNvbnMvbmV3LXdpbmRvdy1ibHVlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY29udGFpbjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Lmxhbmd1YWdlX21vYmlsZV9hcnJvdyB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogNjVweDtcblx0XHRcdFx0XHRyaWdodDogMzVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyLCAmOmZvY3VzLCAmOmZvY3VzLXdpdGhpbiB7XG5cdFxuXHRcdFx0XHQvLyAjbGFuZ3VhZ2UtbWVudV9tb2Ige1xuXHRcdFx0XHQvLyBcdHRvcDogNyU7XG5cdFx0XHRcdC8vIH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi5tZWdhLW1lbnUge1xuXHQubWVnYV9tZW51X2lubmVyLmRyb3Bkb3duLXBhbmUge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0Ly8gbGVmdDogLTIlICFpbXBvcnRhbnQ7XG5cdFx0dG9wOiAkaGVhZGVyLWhlaWdodCAhaW1wb3J0YW50O1xuXHRcdGxlZnQ6IDAgIWltcG9ydGFudDtcblx0XHRyaWdodDogMCAhaW1wb3J0YW50O1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdFx0LmdyaWQtY29udGFpbmVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdHBhZGRpbmc6IDBweDtcblx0XHRcdGEge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHR0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogYXV0bztcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDVweCAxMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuICBcblx0Lm1lbnUge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ji52ZXJ0aWNhbCB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0Ly9ib3JkZXI6IDFweCBzb2xpZCByZWQ7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0bGkge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubWVnYS0tcGFkZGluZyB7XG5cdFx0cGFkZGluZy1ib3R0b206IDIwcHg7XG5cdH1cblxuXHQubWVudS1zdHJldGNoIHtcblx0XHRtYXJnaW4tbGVmdDogLTIwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAtMjBweDtcblx0fVxuXG5cdC5iYW5uZXItbGluayB7XG5cdFx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQuc2VjdGlvbi0taG9tZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHRhYi1jb2xvdXI7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cdFx0YSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxuXG5cdC5ib3JkZXItLXJpZ2h0IHtcblx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYm9yZGVyO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpe1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdH1cblx0fVxuXHQuc2lkZS0tcGFuZWwge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0cGFkZGluZy1yaWdodDogMjBweDtcblx0XHR9XG5cdFx0c3BhbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0cGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0Lm1lbnVfY3RhX2Jsb2NrIHtcblx0XHRcdGZsZXg6IDEgMCBhdXRvO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdHdvO1xuXHRcdFx0cGFkZGluZzogMjJweDtcblx0XHRcdGEge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkc2Vjb25kYXJ5LW9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5tb2JpbGVfYmFubmVyIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogNDBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmNvbCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbjogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuXHRcdFx0d2lkdGg6IDMzJTtcblx0XHR9XG5cdFx0dWwge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRcdFx0bGkge1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHggMTBweCA1cHggMTBweDtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQubWVudS0tdGl0bGUge1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweCAwIDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdGEsIGg2IHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXG5cdFx0XHQmLm1lbnUtLXRpdGxlLS0wIHtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcblx0XHRcdFx0XHQvLyBtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRociB7XG5cdFx0XHRcdGhlaWdodDogMXB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubWVudS0tY3RhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHQubWVudS0tYmFubmVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogMjBweDtcblx0XHR9XG5cdH1cblxufVxuXG4uc2hyaW5rLS1oaWRlICB7XG5cdGhlaWdodDogYXV0bztcblx0b3BhY2l0eTogMTtcblx0dHJhbnNpdGlvbjogaGVpZ2h0IDBtcyAwbXMsIG9wYWNpdHkgNjAwbXMgMG1zO1xufVxuXG5cbiNzaXRlLWhlYWRlci5tZW51X19zbWFsbCB7XG5cdGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkcHJpbWFyeS10d287XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1pbi1oZWlnaHQ6IDEzMHB4O1xuXHR9XG5cblx0LnNocmluay0taGlkZSB7XG5cdFx0Ly9kaXNwbGF5OiBub25lO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdC8vb3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0cmFuc2l0aW9uOiBoZWlnaHQgMG1zIDEwMG1zLCBvcGFjaXR5IDEwMG1zIDBtcztcblx0fVxuXHQuaWNvbi5pY29uLXNtYWxsIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdFx0XHR3aWR0aDogNzBweDtcblx0XHRcdGhlaWdodDogNzBweDtcblx0XHR9XG5cdH1cblx0XG5cdCNsYW5ndWFnZS1tZW51IHtcblx0XHR0b3A6IDEyNnB4O1xuXHR9XG5cblx0Lm1lbnUge1xuXHRcdGxpIHtcblx0XHRcdGEge1xuXHRcdFx0XHQmLnNlYXJjaC0tbGluayB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGhlaWdodDogMThweDtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgMG1zO1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuZHJvcGRvd24ge1xuXHRcdFx0Ly9kaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHR3aWR0aDogOTAlO1xuXHRcdH1cblx0XHQmLnNlY29uZGFyeSB7XG5cdFx0XHQ+IGxpOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDQwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIFVzZWQgZm9yIG92ZXJyaWRpbmcgZGVmYXVsdHNcbi5kcm9wZG93bi1wYW5lLmN1c3RvbSB7XG5cdHBhZGRpbmc6IDA7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGJvcmRlcjogMDtcbn1cblxuLmhlYWRlci1zcGFjZXIge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiA4MHB4O1xuXHRkaXNwbGF5OiBncmlkO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcblx0XHRoZWlnaHQ6IDIwMHB4O1xuXHR9XG59XG5cbi8vIGdyZXkgYmFja2dvdW5kIHdoZW4gbWVnYW1lbnUgb3BlblxuXG4uYmdGaWx0ZXIge1xuXHQvLyBwb3NpdGlvbjogZml4ZWQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LW9uZTtcblx0b3BhY2l0eTogMDtcbiAgICB3aWR0aDogMTAwdnc7XG5cdGhlaWdodDogMTAwdmg7XHRcblx0ei1pbmRleDogOTk2O1xufVxuXG4uaGVhZGVyNF92MiB7XG5cdC5oZWFkZXI0X3YyX3RyYWZmaWNMaWdodCB7XG5cdFx0bWFyZ2luOiAycmVtIDAgMS41cmVtIDA7XG5cdFx0LnRyYWZmaWNMaWdodF9ncmVlbiB7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0cGFkZGluZzogLjg1ZW0gMi4zZW07XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NFMEQwO1xuXHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdH1cblx0XHQudHJhZmZpY0xpZ2h0X3JlZCB7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0cGFkZGluZzogLjg1ZW0gMi4zZW07XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkFFN0VDO1xuXHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBGT09URVIgXG4gKi9cbi5zaXRlLWZvb3RlciB7XHRcblx0Y29sb3I6ICR3aGl0ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktb25lO1xuXHRwYWRkaW5nOiA4MHB4IDAgMjBweCAwO1xuXG5cdGg2IHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdH1cblx0YTpub3QoLmJ1dHRvbikge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0dGV4dC11bmRlcmxpbmUtcG9zaXRpb246IGF1dG87XG5cdH1cblx0LmJ1dHRvbiB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0fVxuXG5cdC5jZWxsLmF1dG8ge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0Ji5mb290ZXItLWxpbmtzIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHRcdH1cblxuXHRcdFx0bGkge1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMzBweDtcblxuXHRcdFx0XHRcdCZbdGFyZ2V0PVwiX2JsYW5rXCJdIHtcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZXh0ZXJuYWwtbGluay1pY29uLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb250YWluO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMzBweDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMXB4O1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cdFx0Ji50ZXJtcy1saXN0IHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkICRwcmltYXJ5LXRocmVlO1xuXHRcdFx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEoJHdoaXRlLCAwLjMpO1xuXHRcdFx0bWFyZ2luLXRvcDogNDBweDtcblx0XHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiA1cHg7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYubGFzdCB7XG5cdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCBhIHtcblx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpsYXN0LWNoaWxkIGEge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmLnNvY2lhbCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXG5cdFx0XHRsaSB7XG5cdFx0XHRcdHdpZHRoOiAyNSU7XG5cdFx0XHRcdG1heC13aWR0aDogNjBweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktb25lO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMTAwJTtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cztcblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGkge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG5cblx0Lm1pY3Jvc2l0ZS1sb2dvIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQuZm9vdGVyX19sb2dvIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuICAgIFx0Ly8ganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cblx0XHRhLmljb246Zmlyc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMjBweDtcblx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XG5cdFx0fVxuXHR9XG5cblx0Lmljb24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdHdpZHRoOiAyMjlweDtcblx0XHRoZWlnaHQ6IDUzcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHQvLyBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZm9vdGVyLWxvZ28uc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xuXHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHR9XG5cdFx0c3BhbiB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgXHRcdGxlZnQ6IC05OTk5OXB4O1xuXHRcdH1cblx0fVxuXHQuYm9yZGVyLWNvbFx0e1xuXHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdHBhZGRpbmctdG9wOiBpbml0aWFsO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMDtcblx0XHR9XG5cdFx0c3BhbiB7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdH1cblx0fVxuXG5cdC5zZWFyY2hfX3dyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBhdXRvO1xuXHRcdH1cblx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdFx0XHRwYWRkaW5nOiAyNHB4IDIwcHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRvdXRsaW5lOm5vbmUgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdHJpZ2h0OiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZGlzY2xhaW1lcl9mb290ZXIge1xuXHRwYWRkaW5nOiAyMHB4IDBweDtcblx0LmRpc2NsYWltZXJfY29udGVudCB7XG5cdFx0cHtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdGNvbG9yOiAjNzA3MDcwO1xuXHRcdFx0bWFyZ2luOiAwcHg7XG5cdFx0fVxuXHR9XG5cdC5kaXNjbGFpbWVyX2ltZ3Mge1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0aW1nLmRpc2NsYWltZXJfaW1nIHtcblx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDBweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIE1pY3Jvc2l0ZSBPdmVycmlkZXNcbmJvZHkubWljcm9zaXRlIHtcblx0LnNpdGUtZm9vdGVyIHtcblx0XHRwYWRkaW5nOiAzNHB4IDAgMzRweDsgLy8gODBweCAwIDIwcHggMDtcblx0fVxufVxuIiwiLmhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHNwYW4sIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cdGhyIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cblx0cCB7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LW9uZTtcblx0fVxuXG4gICAgLmhlYWRpbmctLXRhZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblx0LnRleHQtcmlnaHQge1xuICAgICAgICB0ZXh0LWFsaWduOiB1bnNldDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cdFx0ICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cdH1cblxuXHRhcnRpY2xlICYge1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdH1cbn1cblxuaHIge1xuXHRib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vLyBOZWdhdGl2ZSBtYXJnaW5cbi5vdmVybGFwX19tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTcycHg7XG4gICAgfVxuICAgIC50ZXh0X193cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG5cdFx0aDUge1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XG5cdFx0fVxuICAgIH1cbn1cblxuLmZpbHRlcl9vcHRpb25zIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIHNlbGVjdCwgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNlbGVjdCwgaW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pe1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gVXNlIHRvIHRoaXMgbWFrZSBvdXRlciB3cmFwcGVyIGdyZXkgLSB1c2VkIG9uIENhcmQgRG93bmxvYWRcbi5ncmV5X291dGVyX3dyYXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmV5ICFpbXBvcnRhbnQ7XG59XG5cbi51cGRhdGVkIHtcblx0c3BhbiB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCkgIWltcG9ydGFudDtcblx0fVxuXG5cdC5kYXRlIHtcblx0XHRAZXh0ZW5kIGg2O1xuXHRcdGNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cdH1cbn1cblxuLnRhZ3Mge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0Zm9udC1mYW1pbHk6XCJBdmVuaXIgTFQgVzAxXzU1IFJvbWFuMTQ3NTUyMFwiO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogJHByaW1hcnktb25lO1xufVxuIiwiLyoqXG5cdEJyZWFkY3J1bWJcbiovXG4uYnJlYWRjcnVtYi13cmFwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJnLWdyZXk7XG5cdC8vIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG4uYnJlYWRjcnVtYiB7XHRcblx0LmJyZWFkY3J1bWItLW5hdmlnYXRpb24ge1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDE1cHggMCAxNXB4O1xuXHRcdGNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdGEge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXHRcdFx0XHQmLmFjdGl2ZSwgJjpob3ZlciB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhIG9ubHkgcHJpbnQge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG4jYnJlYWRjcnVtYnMge1xuXHRAbWVkaWEgb25seSBwcmludCB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8vIEhpZGUgYnJlYWRjcnVtYnMgb24gaG9tZXBhZ2Vcbi5ob21lIHAjYnJlYWRjcnVtYnMge1xuXHRkaXNwbGF5OiBub25lO1xufVxuIiwiI3NlYXJjaF9fd3JhcHBlciB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAtMTAwJTtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcblx0ei1pbmRleDogOTk4ICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmV5O1xuXG5cdCYuc2hvdyB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0b3A6IDA7XG5cblx0XHQjc2VhcmNoLWNsb3NlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdC5pY29uIHsgXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IDlweDtcblx0XHR3aWR0aDogJGhlYWRlci1pY29uLXdpZHRoO1xuXHRcdGhlaWdodDogJGhlYWRlci1pY29uLWhlaWdodDtcblx0XHQvLyBiYWNrZ3JvdW5kOiB1cmwoJGhlYWRlci1pY29uLWJhY2tncm91bmQpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdCAvIGNvbnRhaW47XG5cdFx0c3BhbiB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7IFxuXHRcdFx0bGVmdDogLTk5OTk5cHg7XG5cdFx0fVxuXG5cdFx0Ji5pY29uLXNtYWxsIHtcblx0XHRcdC8vIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9FUlMtbG9nby5zdmcpIG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQ7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXHQjc2VhcmNoLWNsb3NlIHtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvY2xvc2UtcG9wdXAuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47XG5cdFx0aGVpZ2h0OjE3cHg7XG5cdFx0d2lkdGg6MTdweDtcblx0XHR0ZXh0LWluZGVudDotOTk5OXB4O1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRyaWdodDogMjBweDtcblx0XHR0b3A6IDE5cHg7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LW9uZTtcblx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9jbG9zZS1wb3B1cC5zdmcpO1xuXHRcdFx0bWFzay1zaXplOiBjb250YWluO1xuXHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAzNHB4O1xuXHRcdFx0cmlnaHQ6IDlweDtcblx0XHR9XG5cdH1cblx0XG5cdGZvcm0ge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cblxuXHQuc2VhcmNoLWZvcm0ge1xuXHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XG5cdH1cblx0LmNhcmQge1xuXHRcdHVsIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB1bnNldDtcblx0XHRcdGxpOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IHVuc2V0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRtaW4taGVpZ2h0OiAkaGVhZGVyLWhlaWdodDtcblx0fVxufVxuXG4uc2VhcmNoX193cmFwcGVyIHtcblx0aW5wdXRbdHlwZT1zdWJtaXRdLCAuc2VhcmNoLWljb24ge1xuXHRcdGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9zZWFyY2gtaWNvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgMjBweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0cmlnaHQ6IDBweDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdC8vIHotaW5kZXg6IDk5NTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHR6LWluZGV4OiA5OTU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKipcbiAqIEFSVElDTEUgXG4gKi9cbiBcbmFydGljbGUge1xuXHRwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuXHQub3RoZXItdHJhbnNsYXRpb25zIHtcblx0XHRAZXh0ZW5kIC5maWx0ZXJzO1xuXHRcdHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmc6IDQwcHggNTVweCAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcblxuXHRcdHNlbGVjdCB7XG5cdFx0XHRtYXJnaW46IDAgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQuZmFjdHNoZWV0LWNvbnRlbnQge1xuXHRcdG1hcmdpbi10b3A6IDU1cHg7XG5cdH1cblxuXHQrIC5zaWdudXBfZm9ybSB7XG5cdFx0bWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLyoqXG4gKiBUeXBvZ3JhcGh5IHBhZ2VcbiAqL1xuXG4uYXJ0aWNsZV9fcGFnZSwgLmJ1dHRvbl9fcGFnZSB7XG4gICAgLmFydGljbGVfX3RpdGxlLCAuYnV0dG9uX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogNjBweCAwO1xuICAgICAgICAuYXJ0aWNsZV9fdGl0bGVfYm9yZGVyLCAuYnV0dG9uX3RpdGxlX2JvcmRlciB7XG4gICAgICAgICAgIGNvbG9yOiAkdHlwb2dyYXBoeTtcbiAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdHlwb2dyYXBoeTtcbiAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlX19pbmxpbmUge1xuICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9fY29sb3Jfc3BoZXJlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IDQwJTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LW9uZTtcblxuICAgICAgICYucHJpbWFyeV9vbmUge1xuICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG4gICAgICAgfVxuICAgICAgICYucHJpbWFyeV90d28ge1xuICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS10d287XG4gICAgICAgfVxuICAgICAgICYucHJpbWFyeV90aHJlZSB7XG4gICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXRocmVlO1xuICAgICAgIH1cblx0ICAgJi5zZWNvbmRhcnlfb25lIHtcblx0XHQgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcblx0ICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlX19jb2xvcl9oZXhfcHJpbWFyeSwgLmFydGljbGVfX2NvbG9yX2hleF9zZWNvbmRhcnkge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0bztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmFydGljbGVfX3RleHQge1xuICAgICAgICAuYXJ0aWNsZV9fdGV4dF9sYWJlbCB7XG4gICAgICAgICAgIGNvbG9yOiAkdHlwb2dyYXBoeTtcbiAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlX190ZXh0X2NvbG9yIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1vbmU7XG5cbiAgICAgICAgICAgICYudGV4dF9ibGFjayB7XG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnRleHRfd2hpdGUge1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi50ZXh0X2NvYmFsdCB7XG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS10d287XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnRleHRfZ3JleSB7XG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudGV4dF9ncmV5X2xpZ2h0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FwdGlvbi1ncmV5O1xuICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudGV4dF9ibHVlIHtcbiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktb25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZnJlZV90ZXh0IHtcbiAgICAvL21hcmdpbi1sZWZ0OiAwO1xuICAgIC8vbWFyZ2luLXJpZ2h0OiAwO1xuICAgIC5jZWxsIHtcbiAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIC8vcGFkZGluZy1yaWdodDogMTJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gSDIgbmVlZHMgdG8gbWF0Y2ggSDMgc3R5bGUgZm9yIHRoaXMgbW9kdWxlXG4gICAgaDIge1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXJ0aWNsZV9fZmVhdHVyZSB7XG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIG9sIHtcbiAgICAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IFxuICAgICAgIGNvdW50ZXItcmVzZXQ6IGxpO1xuICAgICAgIGxpIHtcbiAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogbGk7XG4gICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKGxpKTtcbiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXRocmVlO1xuICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgICAgICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNGVtO1xuICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjRlbTtcbiAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgIH1cbiAgICAgICB9XG4gICAgfVxufVxuXG4vLyBOZXdzIGFydGljbGVzXG4ubmV3c19pbnRyb19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xufVxuLm5ld3NfaW50cm9fY29udGVudCwgLm5ld3NfY29udGVudCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuXG4uY29udGVudHNfdGFibGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXG5cdC5hY2NvcmRpb24ge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cblx0XHQuYWNjb3JkaW9uLWl0ZW0ge1xuXHRcdFx0LmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHRcdG1hcmdpbjogMzBweCAyNHB4IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcblx0XHRcdFx0dHJhbnNpdGlvbjogYm9yZGVyIDAuMjVzO1xuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0LmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhM2EzYTM7XG5cblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSgtMTgwZGVnKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmFjY29yZGlvbi1jb250ZW50IHtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4IDU4cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cblx0XHRcdFx0XHQuYXJyb3ctYnRuIHtcblx0XHRcdFx0XHRcdHRvcDogMnB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxNXB4O1xuXHRcdFx0XHRcdFx0bWluLXdpZHRoOiAxNXB4O1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9idG5hcnJvdy5zdmcpO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAxNXB4IDE1cHg7XG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYnRuYXJyb3cuc3ZnKTtcblx0XHRcdFx0XHRcdFx0bWFzay1zaXplOiAxNXB4IDE1cHg7XG5cdFx0XHRcdFx0XHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHByaW1hcnktb25lO1xuXG5cdFx0XHRcdFx0XHQuYXJyb3ctYnRuIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2J0bmFycm93LWhvdmVyLnN2Zyk7XG5cblx0XHRcdFx0XHRcdFx0QHN1cHBvcnRzKG1hc2staW1hZ2U6IHVybChcIlwiKSkge1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnktb25lO1xuXHRcdFx0XHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9idG5hcnJvdy1ob3Zlci5zdmcpO1xuXHRcdFx0XHRcdFx0XHRcdG1hc2stc2l6ZTogMTVweCAxNXB4O1xuXHRcdFx0XHRcdFx0XHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBBV0FSRFxuICovXG4gXG4uYXdhcmRfX2hlcm8ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICAucmVnX29wZW5zLCAucmVnX2Nsb3NlcyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIC5yZWdfb3BlbnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxufSIsIi8qKlxuICogQ0FSRFxuICovXG4gXG4uY2FyZCB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXDI1Q0ZcIjsgIFxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnVsbGV0LWJsdWU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBcbiAgICAgICAgICAgICAgICB3aWR0aDogMWVtOyBcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXHQuaW1nX2xpbmsge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXG4gICAgLmNhcmQtbGluayB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaXRpYWw7XG5cdFx0Ly8gYm9yZGVyLXJhZGl1czogNXB4O1xuXG5cdFx0PiBkaXY6bm90KFtjbGFzc10pIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcblx0XHRcdC50ZXh0X193cmFwcGVyIHtcblx0XHRcdFx0ZmxleDogMSAwIGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXG4gICAgICAgICYub3ZlcnJpZGUge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaDUsIC5oNSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblx0XHQudGV4dF9fd3JhcHBlciB7XG5cdFx0XHRjb2xvcjogJHByaW1hcnktb25lO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuXHRcdFx0cGFkZGluZzogJGNhcmQtcGFkZGluZztcblxuXHRcdFx0LnN1YmhlYWRpbmcge1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG5cdFx0XHR9XG5cblx0XHRcdGg1LCAuaDUge1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHQudGV4dF9fd3JhcHBlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LW9uZTtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuXG5cdFx0XHRcdC5zdWJoZWFkaW5nIHtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGg1LCAuaDUge1xuXHRcdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Lypcblx0XHRcdFx0XHRcdC8vIFJlbW92ZWQgZHVlIHRvIGxvbmcgdGl0bGUgY29uZmxpY3RzXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmcpO1xuXG5cdFx0XHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRzZWNvbmRhcnktb25lO1xuXHRcdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmcpO1xuXHRcdFx0XHRcdFx0XHRtYXNrLXNpemU6IDlweCAxM3B4O1xuXHRcdFx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ki9cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG4gICAgfVxuXG5cdC5vdmVybGF5LWxpbmsge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuXHRcdHotaW5kZXg6IDA7XG5cdH1cblxuXHQmLmhhcy1pbWFnZSB7XG5cdFx0bWluLWhlaWdodDogMjU1cHg7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdC5vdmVybGF5LWltYWdlIHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLmhhcy1saW5rIHtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzO1xuXG5cdFx0Jjpob3ZlciwgJi5oYXMtaW1hZ2Uge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktb25lO1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktb25lO1xuXHRcdFx0fVxuXG5cdFx0XHRoNCwgaDUsIHAsIGFbaHJlZl49XCJtYWlsdG86XCJdLCBhW2hyZWZePVwidGVsOlwiXSwgbGkge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5vdmVybGF5LWltYWdlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHR0ZXh0LWluZGVudDogLTk5OTk5cHg7XG5cdFx0ei1pbmRleDogMjtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzO1xuXHR9XG5cbiAgICAmLnRyYW5zcGFyZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgLmNhcmQtbGlua3Mge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICAgICAgICAgIGEubGluay1zZWNvbmQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGFnLCAuY2FyZC1saW5rcyBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10aHJlZTtcbiAgICAgICAgfVxuICAgICAgICAudGFnIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICAgIC5jYXJkLWxpbmtzIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cblx0Ji5ib3JkZXJlZCB7XG5cdFx0Ym9yZGVyLXRvcDogMTJweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRzZWNvbmRhcnktb25lO1xuXHRcdH1cblx0fVxuXG4gICAgJi5jYXJkX19zaW1wbGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgLmJ1dHRvbl93cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5tZWRpdW0tNiB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDBweCAxMHB4IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmNhcmRfX3NpbXBsZS5oZXJvLXBhZGRpbmcge1xuICAgICAgICBkaXYge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuY2FyZF9fbGluayB7XG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDVweCAkc2Vjb25kYXJ5LW9uZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgfVxuICAgICYuY2FyZF9fbGlzdCB7XG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5jYXJkX19jYWxsb3V0IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDI1cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXHQmLmNhcmRfX2V4cGFuZGFibGUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzO1xuXG5cdFx0LmNvbnRlbnQtd3JhcCB7XG5cdFx0XHRwYWRkaW5nOiAxOHB4IDI0cHg7XG5cdFx0fVxuXG5cdFx0LmFjY29yZGlvbi1jb250ZW50IHtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cblx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxNnB4O1xuXHRcdFx0fVxuXG5cdFx0XHRoNiB7XG5cdFx0XHRcdCY6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmFjY29yZGlvbi10aXRsZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdC8vIGJvdHRvbTogNzZweDtcbiAgICAgICAgICAgIGhlaWdodDogMzAwcHg7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdFx0fVxuXG5cdFx0Lmxpbmsge1xuXHRcdFx0ei1pbmRleDogMjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Y29sb3I6ICRwcmltYXJ5LW9uZTtcblx0XHRcdG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xOHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMHB4IDE4cHggMjRweCAxOHB4O1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4OyBcbiAgICAgICAgICAgIH1cblx0XHR9XG5cblx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LW9uZTtcblxuXHRcdFx0aDUsIC5oNSwgLmg2LCBoNiwgcCwgYSwgLnN1YmhlYWRpbmcsIC5hY2NvcmRpb24tY29udGVudCAqLCAubGluayB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cblx0XHRcdGg1LCAuaDUge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3ctd2hpdGUuc3ZnKTtcblxuXHRcdFx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9kb3duLWFycm93LXdoaXRlLnN2Zyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG4gICAgICAgICAgICBoMy5oNSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktb25lO1xuICAgICAgICAgICAgfVxuXHRcdH1cblx0fVxuICAgICYuY2FyZF9fc3RhdCB7XG4gICAgICAgIC50ZXh0X193cmFwcGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAuc3RhdF9fd3JhcHBlcl9fb3V0ZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdGF0X193cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MCUgMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHRcdFx0YmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgLnN0YXQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGhyZWU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNTQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5jYXJkX19iZ19faW1nIHtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRocmVlO1xuXHRcdHBhZGRpbmctdG9wOiA4MHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiA2MHB4O1xuXG4gICAgICAgIHNwYW4uc3ViaGVhZGluZywgcCA+IGEge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRocmVlO1xuICAgICAgICB9XG4gICAgICAgIC5jdGFfd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ucHJpbWFyeV9kZWZhdWx0LmJsdWVfYmcge1xuICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgICAgICYuZGFya19fdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHNwYW4uc3ViaGVhZGluZywgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LW9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZ3JleUJnIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5jYXJkcy1oZWFkaW5nLW1hcmdpbi1ib3R0b20ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICB9XG4gICAgJi5jYXJkX19oZWFkaW5nLCAmLmNhcmRfX2hlYWRpbmdfX2lubmVyIHtcbiAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICBoMi5oMyB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIwMHB4OyAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHRcdC5zdGFuZGFyZC1saW5rIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdFx0fVxuXHRcdH1cbiAgICB9XG4gICAgJi5jYXJkX19oZWFkaW5nX19pbm5lci5tYXJnaW4tYm90dG9tLCAmLmNhcmRfX2hlYWRpbmdfX2lubmVyIC5tYXJnaW4tYm90dG9tIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgJi5jYXJkX19oZWFkaW5nX19pbm5lciB7XG4gICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgLmhlYWRpbmcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktb25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5jYXJkX19wcmV2aWV3IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgLmg1LCBoNSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTIlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuXHRcdFx0XHQvKlxuXHRcdFx0XHQvLyBSZW1vdmVkIGR1ZSB0byBsb25nIHRpdGxlIGNvbmZsaWN0c1xuXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLWJsdWUuc3ZnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCAxM3B4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAvL3RyYW5zaXRpb246IGxlZnQgMC41cyBlYXNlO1xuXG5cdFx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2Fycm93LWJ0bi1ibHVlLnN2Zyk7XG5cdFx0XHRcdFx0bWFzay1zaXplOiA5cHggMTNweDtcblx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCovXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktb25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2VfX3ByZXZpZXcge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgICAgICAgaW1nIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRhZ19pbWcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCA3cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdGhyZWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4yNzVlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkF2ZW5pciBMVCBXMDFfNTUgUm9tYW4xNDc1NTIwXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmVycy12aXNpb24ge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvYXJyb3ctbmV4dEAyeC5wbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5cHggMTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL3RyYW5zaXRpb246IGxlZnQgMC41cyBlYXNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblx0XHRcdCYuYWlybGluZXMsICYucGF0aWVudC1vcmdhbmlzYXRpb24sICYucGFydG5lcl9zb2NpZXRpZXMsICYuY29udGFpbiB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRsaWdodGVyLWdyYXk7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0XHRcdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdFx0XHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG4gICAgICAgIH1cbiAgICAgICAgLnRleHRfX3dyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRsaWdodGVyLWdyYXk7XG5cdFx0XHRib3JkZXItdG9wOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaDUsIGg1IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnBvZGNhc3RfYmxvY2sge1xuICAgICAgICAgICAgLnRleHRfX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmg1OjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mYXV4LS1saW5rIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgfVxuICAgICAgICAuZGF0ZSwgLmNhdGVnb3J5IHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzY3MTc1O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5jYXRlZ29yeSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2FydGljbGUtaWNvbkAyeC5wbmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTlweCAyMXB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXB0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5jYXB0aW9uIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2FydGljbGUtaWNvbkAyeC5wbmcpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTlweCAyMXB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnByZXZpZXdfX2RldGFpbHMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbGkuZG93bmxvYWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9kb3dubG9hZC5wbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jYXJkX19wcmV2aWV3X2hvbWUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIC5pbWFnZV9fcHJldmlldyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAkcHJpbWFyeS10aHJlZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY2FyZF9fcHVzaGRvd24ge1xuICAgICAgICAuaW1hZ2VfX3ByZXZpZXcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMzBweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMzBweDtcbiAgICAgICAgICAgIH1cblx0XHRcdGltZyB7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0XHRoZWlnaHQ6IDIzMHB4O1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0Ji5haXJsaW5lcywgJi5wYXRpZW50LW9yZ2FuaXNhdGlvbiwgJi5wYXJ0bmVyX3NvY2lldGllcywgJi5jb250YWluIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGxpZ2h0ZXItZ3JheTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHRcdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5wYXRpZW50LW9yZ2FuaXNhdGlvbi5kZWZhdWx0LWJnIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGxpZ2h0ZXItZ3JheTtcblx0XHRcdH1cbiAgICAgICAgfVxuXG5cdFx0Ji5haXJsaW5lcyB7XG5cdFx0XHQuY29udGVudC13cmFwIHtcblx0XHRcdFx0LmFjY29yZGlvbi1jb250ZW50IHtcblx0XHRcdFx0XHRoMSxoMixoMyxoNCxoNSxoNiB7XG5cdFx0XHRcdFx0XHRAZXh0ZW5kIHN0cm9uZztcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNjtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG4gICAgICAgIC5jb250ZW50LXdyYXAge1xuICAgICAgICAgICAgaDMuaDUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLm1lZGl1bS02IHtcbiAgICAgICAgICAgIC5pbWFnZV9fcHJldmlldyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzEycHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMxMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzEycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGV4dF9fd3JhcHBlciB7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgLypcbiAgICAgICAgICAgIC50YWcge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXR3bztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICovXG4gICAgICAgICAgICAucHVzaGRvd25fX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy5zdmcpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMTFweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5yZWFkX19tb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdHdvO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaHIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTsgXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7IFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJvZmlsZSB3aXRoIHB1c2hkb3duXG4gICAgICAgICYuY2FyZF9fcHJvZmlsZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0XHRcdC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR9XG5cbiAgICAgICAgICAgIGg0LCAuaDQsIGg1LCAuaDUsIGg2LCAuaDYge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICAmLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuc3RhbmRhcmRfbGluayB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRzZWNvbmRhcnktb25lO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAxMTU0MjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYnVsbGV0LWJsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHVzaGRvd25fX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgJi5oNSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cdCYuY2FyZF9fbWVkaWEge1xuXHRcdC5mZWF0dXJlZF9pbWcge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nOiA0MHB4IDIwcHg7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDgwcHggMTAwcHg7XG5cdFx0XHR9XG5cblx0XHRcdGgyLCBwIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogY2xhbXAoMjBweCwgNTBweCwgNzBweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAgICAgfVxuXHRcdH1cblxuXHRcdCYgKyAuY2VsbCB7XG5cdFx0XHRhIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuICAgICYuY2FyZF9fdGlsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLnRpbGUtLXdyYXAge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI3MHB4O1xuXG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICovXG5cbiAgICAgICAgICAgIC50aWxlLS1pbm5lciB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgLy8gTkVXXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgICAgICAgICAgIGltZywgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRpbGUtLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQ1cHggMzBweCA0NXB4IDMwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdHdvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgc3Bhbi51bmRlcmxpbmUge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaDQsIHAsIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQtbGluay5mYXV4LWxpbmsge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLnRpbGUtLXdyYXAgPiBhIC50aWxlLS1ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyNzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi50ZXh0X19iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1vbmU7XG5cdFx0cGFkZGluZzogMzJweCA0MHB4O1xuXG5cdFx0aDEsIGgyLCAuc3ViaGVhZGluZywgcCB7XG5cdFx0XHRjb2xvcjogJHByaW1hcnktb25lO1xuXHRcdH1cblxuICAgICAgICAuc3ViaGVhZGluZyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cblx0XHRoMiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbi1ncm91cCB7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRhOm5vdCguYnV0dG9uKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHQvL2ZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7ICAgXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LW9uZTsgICAgIFxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHNlY29uZGFyeS1vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRidWxsZXQtYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblx0XHR9XG5cbiAgICAgICAgLmNsZWFyZml4IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICYubmVnYXRpdmVfX21hcmdpbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmhpZ2hsb2dodF9fdmlkZW9fYnRuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAwcHggMHB4O1xuXG4gICAgICAgIH1cblxuXHRcdCYuYmctbm9uZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdGgyLCBwIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuXHRcdFx0fVxuICAgICAgICAgICAgLnN1YmhlYWRpbmcge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG4gICAgICAgICAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICB9XG5cdFx0fVxuXG5cdFx0Ji5iZy1ibHVlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXRocmVlO1xuXG5cdFx0XHQuc3ViaGVhZGluZywgaDIsIHAsIGE6bm90KC5idXR0b24pIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cbiAgICAgICAgJi5iZy15ZWxsb3cgIHtcbiAgICAgICAgICAgIC5idXR0b24tZ3JvdXAgeyAgICBcbiAgICAgICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkcHJpbWFyeS1vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYnVsbGV0LWJsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5jYXJkX19zaW1wbGVIZWFkaW5nIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgLmhlYWRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgXG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5oNCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDAgYXV0byBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jYXJkX19zaW1wbGVIZWFkaW5nX2ZlYXR1cmVkIHtcbiAgICAgICAgLmhlYWRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAuaDQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAwIGF1dG8gYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY2FyZF9fZmVhdHVyZWQsICYuY2FyZF9fc2ltcGxlSGVhZGluZ19pbWcge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NhcmRzL2NhcmQtaGVhZGluZy5wbmcpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi5jYXJkX19mZWF0dXJlZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIzMHB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICA1cHggNXB4IDBweCAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAubGluay1ibG9jayB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmNhcmRfX2ZlYXR1cmVkX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0YwRjBGMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICAwcHggMHB4IDVweCA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgYS5pbm5lci13cmFwIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5jYXB0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG5cblx0XHRcdCYuZGF0ZSwgJi5hdXRob3Ige1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMTJweDtcblx0XHRcdH1cblxuXHRcdFx0Ji5kYXRlIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmF1dGhvciB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OlwiQXZlbmlyIExUIFcwMV84NSBIZWF2eTE0NzU1NDRcIjtcblx0XHRcdH1cblxuXHRcdFx0Ji5kYXRlICsgLmF1dGhvciB7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlcjtcblx0XHRcdH1cbiAgICAgICAgfVxuICAgICAgICBzcGFuLmNhcHRpb24ge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvYXJ0aWNsZS1pY29uQDJ4LnBuZyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxOXB4IDIxcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5jYXJkX19ibHVlLCAmLmNhcmRfX2dyZXkge1xuICAgICAgICAuY2VsbDpub3QoLmNhcmRfX2hlYWRpbmdfX2lubmVyKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS10d287XG4gICAgICAgICAgICAqOm5vdChhKSAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10aHJlZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY2VsbC5sYXJnZS1vcmRlci0xIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW1nX19mZWF0dXJlZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnZlcnRpY2FsX19hbGlnbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwLnRleHQtbGluayB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRocmVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmNhcmRfX2JsdWUge1xuICAgICAgICAuY2VsbCB7XG4gICAgICAgICAgICAuYnV0dG9uLnRlcnRpYXJ5IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS10aHJlZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LXRocmVlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuY2FyZF9faGFsdmVzIHtcbiAgICAgICAgLnZlcnRpY2FsX19hbGlnbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAuaGFsdmVzX2xlZnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWdyZXk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIC8vY29sb3I6ICRwcmltYXJ5LXR3bztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5jYXJkX19ncmV5IHtcbiAgICAgICAgLmNlbGw6bm90KC5jYXJkX19oZWFkaW5nX19pbm5lcikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWdyZXk7XG4gICAgICAgICAgICAqOm5vdChhKSAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdWJoZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdHdvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuY2FyZF9fc2ltcGxlSGVhZGluZ19mZWF0dXJlZEhhbGYge1xuICAgICAgICAuY2FyZF9pbWcge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jYXJkcy9jYXJkLWhlYWRpbmcucG5nKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZF9jb250ZW50IHtcbiAgICAgICAgICAgIC5oNSB7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9hcnJvdy1uZXh0QDJ4LnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY2FyZF9fcHJvZmlsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMHB4IDIwcHggMzBweCAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4IGF1dG87XG4gICAgICAgIC5wcm9maWxlX2ltZyB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAvLyBoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgIH1cbiAgICAgICAgLnByb2ZpbGVfaW5mbyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIHNwYW46YWZ0ZXIge1xuXHRcdFx0XHQvKlxuXHRcdFx0XHQvLyBSZW1vdmVkIGR1ZSB0byBsb25nIHRpdGxlIGNvbmZsaWN0c1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Rvd24tYXJyb3cuc3ZnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjlweDtcblxuXHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9kb3duLWFycm93LnN2Zyk7XG5cdFx0XHRcdFx0bWFzay1zaXplOiAxNXB4IDEwcHg7XG5cdFx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0fVxuXHRcdFx0XHQqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wcm9maWxlX2xpbmsge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNEN0Q3RDc7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIycHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmxpc3Rpbmcge1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgJHByaW1hcnktb25lO1xuICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cbiAgICAgICAgJi5wb3N0X2xpc3Rpbmd7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQzMjYzO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNGREM0MDA7XG4gICAgICAgICAgICAgICAgLmxpc3RpbmctY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGIsIGEsIHN1bW1hcnksIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGEuY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LW9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktb25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZG93bi1hcnJvdy15ZWxsb3cuc3ZnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnllbGxvd19saXN0aW5nIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICRzZWNvbmRhcnktb25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmd1aWRlbGluZV9sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogJGNhcHRpb24tZ3JleTtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYueWVhciB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50YWdzX2xhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY2FwdGlvbi1ncmV5O1xuICAgICAgICB9XG5cdFx0XG5cdFx0Lmxpc3RpbmctY29udGVudCB7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQudGFncyB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDE4cHg7XG5cdFx0XHR9XG5cblx0XHRcdC5hdXRob3JzLCAucHVibGlzaGVkLXR5cGUsIC5wdWJsaXNoZWQteWVhciB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm92ZXJsYXktbGluayB7XG5cdFx0XHR+IC5saXN0aW5nLWNvbnRlbnQge1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQudHJhbnNsYXRpb25zIHtcblx0XHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAkbGlnaHQtZ3JheTtcblx0XHRcdHBhZGRpbmctdG9wOiA3cHg7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdG1hcmdpbjogNDZweCAwIDAgMjZweCAhaW1wb3J0YW50O1xuXG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHN1bW1hcnkge1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQuY2FyZCB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXg6IDEgMCBhdXRvO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkbGlnaHRlci1ncmF5O1xuXHRcdFx0XHRwYWRkaW5nOiAxOHB4IDYwcHggMThweCAyMHB4O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cztcblxuXHRcdFx0XHRzcGFuLmxhYmVsIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE0cHg7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Lmxhbmcge1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRoNSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ljb25zL25ldy13aW5kb3ctYmx1ZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIGNvbnRhaW47XG5cdFx0XHRcdFx0d2lkdGg6IDE4cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxOHB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRyaWdodDogMjBweDtcblx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cblx0XHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvbmV3LXdpbmRvdy1ibHVlLnN2Zyk7XG5cdFx0XHRcdFx0XHRtYXNrLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LW9uZTtcblxuXHRcdFx0XHRcdHNwYW4ubGFiZWwge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHNlY29uZGFyeS1vbmU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aDUge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRzZWNvbmRhcnktb25lO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pY29ucy9uZXctd2luZG93LXllbGxvdy5zdmcnKTtcblxuXHRcdFx0XHRcdFx0QHN1cHBvcnRzKG1hc2staW1hZ2U6IHVybChcIlwiKSkge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL25ldy13aW5kb3cteWVsbG93LnN2Zyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuICAgIH1cbiAgICAmLmNhcmRfX2V2ZW50IHtcbiAgICAgICAgLnRleHRfX3dyYXBwZXIge1xuICAgICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY2FwdGlvbi1ncmV5O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICYubG9jYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvZ2xvYmUtaWNvbkAyeC5wbmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTlweCAxOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jb2wtLWZpcnN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbl9fd3JhcCB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweCBhdXRvOyAvLyBDbGllbnQgZmVlZGJhY2tcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNhcmRfX2V2ZW50X3NpbXBsZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMTBweDtcbiAgICAgICAgICAgIC5jb2wtLWZpcnN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhcmRfX2V2ZW50X2ltYWdlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgLmV2ZW50X2ltZ19iZyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY2FyZF9fZGV0YWlscyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgLy8gcGFkZGluZzogJGNhcmQtcGFkZGluZztcbiAgICAgICAgLy8gcGFkZGluZzogMzZweCA0NnB4O1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDI0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWItY29sb3VyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAmLmhhcy1saW5rIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXN0LWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGg0LCBoNSwgcCwgYVtocmVmXj1cIm1haWx0bzpcIl0sIGFbaHJlZl49XCJ0ZWw6XCJdLCBsaSwgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktb25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmRfX2RldGFpbHNfbGluayB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaGFzLWxpbmsge1xuICAgICAgICAgICAgaDQsIGg1LCBwLCBhW2hyZWZePVwibWFpbHRvOlwiXSwgYVtocmVmXj1cInRlbDpcIl0sIGxpLCBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dF9fd3JhcHBlciB7XG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN1YmhlYWRpbmcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jYXRlZ29yeSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjYXB0aW9uLWdyZXk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgJi5sb2NhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9nbG9iZS1pY29uQDJ4LnBuZykgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxOXB4IDE5cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2FyZF9fZGV0YWlsc19jb250YWN0cyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDBweDtcbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jb2wtLWZpcnN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRzZWNvbmRhcnktb25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYnVsbGV0LWJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEuc2ltcGxlX2xpbmsge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbl9fd3JhcCB7XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAvL2FsaWduLWl0ZW1zOiBiYXNlbGluZTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHggYXV0bzsgLy8gQ2xpZW50IGZlZWRiYWNrXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29udGVudF9fd3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubWVkaXVtLTYge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDsgLy8gNDBweCAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5jYXJkX19kZXRhaWxzX3NpbXBsZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiA1cHggc29saWQgJHNlY29uZGFyeS1vbmU7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNhcmRfX2RldGFpbHNfc2luZ2xlIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICAuY29sLS1maXJzdCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmJ1dHRvbi50YWcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMjBweCA1cHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNhcmRfX2RldGFpbHNfc29jaWV0eSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDIwcHggMjBweCAyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLmJ1dHRvbi50YWcubm9fbGluayB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwOyBcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7ICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb250ZW50X193cmFwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uX193cmFwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNhcmRfX2RldGFpbHNfc2NpZW5jZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgICAgICAgICAub3JnYW5pemVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGhyZWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uX193cmFwIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9zY2llbmNlX2JhcnJvdy5zdmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LW9uZTtcblx0XHRcdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL3NjaWVuY2VfYmFycm93LnN2Zyk7XG5cdFx0XHRcdFx0XHRcdG1hc2stc2l6ZTogMTVweCAxNXB4O1xuXHRcdFx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXJkX19kZXRhaWxzX3RhZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0NnB4IDI0cHggMThweCAyNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRhZy5ub19saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDI1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS10aHJlZTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yNzVlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJBdmVuaXIgTFQgVzAxXzU1IFJvbWFuMTQ3NTUyMFwiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgLyogbWFyZ2luLXRvcDogLTE4cHg7ICovXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuXHRcdC8vIEBtZWRpYSBwcmludCB7XG5cdFx0XHRcblx0XHQvLyB9XG4gICAgfVxuXG4gICAgJi5jYXJkX190ZWFtIHtcbiAgICAgICAgLmltZ19fd3JhcHBlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50ZXh0X193cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzc2NzE3NSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b25fX3NpbXBsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY2FyZF9fdGVhbV9pbWcge1xuICAgICAgICAuaW1nX193cmFwcGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRleHRfX3dyYXBwZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgICAgICAgICAgLmg2LCBoNiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXR3bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY2FyZF9faW1nX2RldGFpbHMge1xuICAgICAgICAuaW1hZ2VfX3dyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMDBweCAyMHB4IDIwcHggMjBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuY2FyZF9fYWNjb3JkaWFuLW5leHQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuXG4gICAgJi5jYXJkX2Rvd25sb2FkX2xpc3Qge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDQwcHg7XG5cblx0XHQuZG93bmxvYWRfbGlzdCwgLm5vcm1hbF9saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXG5cdFx0XHRsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA1MHB4IDE1cHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRcdCAgICBmb250LWZhbWlseTpcIkF2ZW5pciBMVCBXMDFfODUgSGVhdnkxNDc1NTQ0XCI7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXItZ3JheTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LW9uZTtcblx0XHRcdFx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cbiAgICAgICAgLmRvd25sb2FkX2xpc3Qge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pY29ucy9kb3dubG9hZC1pY29uLnN2Zyk7XG5cblx0XHRcdFx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bmxvYWQtaWNvbi5zdmcpO1xuXHRcdFx0XHRcdFx0XHRtYXNrLXNpemU6IDIwcHggMThweDtcblx0XHRcdFx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pY29ucy9kb3dubG9hZC1pY29uLXllbGxvdy5zdmcpO1xuXG5cdFx0XHRcdFx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvZG93bmxvYWQtaWNvbi15ZWxsb3cuc3ZnKTtcblx0XHRcdFx0XHRcdFx0XHRtYXNrLXNpemU6IDIwcHggMThweDtcblx0XHRcdFx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubm9ybWFsX2xpc3Qge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pY29ucy9leHRlcm5hbC1saW5rLWljb24tYmx1ZS5zdmcpO1xuXG5cdFx0XHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LW9uZTtcblx0XHRcdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL2V4dGVybmFsLWxpbmstaWNvbi1ibHVlLnN2Zyk7XG5cdFx0XHRcdFx0XHRcdG1hc2stc2l6ZTogMTFweCAxMXB4O1xuXHRcdFx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0fVxuICAgICAgICAgICAgICAgICAgICB9XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaWNvbnMvZXh0ZXJuYWwtbGluay1pY29uLXllbGxvdy5zdmcpO1xuXG5cdFx0XHRcdFx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvZXh0ZXJuYWwtbGluay1pY29uLXllbGxvdy5zdmcpO1xuXHRcdFx0XHRcdFx0XHRcdG1hc2stc2l6ZTogMTFweCAxMXB4O1xuXHRcdFx0XHRcdFx0XHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuY2FyZF9zdWdnZXN0ZWQge1xuICAgICAgICAuaW1hZ2VfX3dyYXBwZXIge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICYuZmVhdHVyZWRfY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pe1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICYucHJvbW9fY2FyZF9mdWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bil7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMjVweDtcbiAgICAgICAgICAgICYucHJvbW9fY2FyZF9mdWxsX2ltZyB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGlzdGluZ19ub19wb3N0X21zZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgfVxufVxuXG4uY2FyZF90YWJsZSB7XG4gICAgdGFibGUge1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDdEN0Q3O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZF9mZWF0dXJlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGxpZ2h0ZXItZ3JheTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5ncmlkLXgge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuZmVhdHVyZWRfaW1nIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jYXJkcy9jYXJkLWhlYWRpbmcucG5nKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1zaXplOiBjb250YWluICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cdFx0bWluLWhlaWdodDogMTMwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cdC50YWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmc6IDVweCA3cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdGhyZWU7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4yNzVlbTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtZmFtaWx5OlwiQXZlbmlyIExUIFcwMV81NSBSb21hbjE0NzU1MjBcIjtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblxuICAgIC5mZWF0dXJlZF90ZXh0IHtcbiAgICAgICAgcGFkZGluZzogNHB4IDE2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuXG4gICAgICAgIGgzLmg1IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG5cdFx0XHRcdC8qXG5cdFx0XHRcdC8vIFJlbW92ZWQgZHVlIHRvIGxvbmcgdGl0bGUgY29uZmxpY3RzXG5cbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLWJsdWUuc3ZnKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCAxM3B4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9hcnJvdy1idG4tYmx1ZS5zdmcpO1xuXHRcdFx0XHRcdG1hc2stc2l6ZTogOXB4IDEzcHg7XG5cdFx0XHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0fVxuXHRcdFx0XHQqL1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZzogJGNhcmQtcGFkZGluZztcblx0XHR9XG5cblx0XHQmLmNhcmRfX3NtYWxsIHtcblx0XHRcdGEge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5mZWF0dXJlZF90ZXh0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LW9uZTtcblxuICAgICAgICAgICAgLnN1YmhlYWRpbmcsIC5jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIC5oNSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktb25lO1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuXG5cdFx0XHRcdFx0Lypcblx0XHRcdFx0XHQvLyBSZW1vdmVkIGR1ZSB0byBsb25nIHRpdGxlIGNvbmZsaWN0c1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmcpO1xuXG5cdFx0XHRcdFx0QHN1cHBvcnRzKG1hc2staW1hZ2U6IHVybChcIlwiKSkge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJHNlY29uZGFyeS1vbmU7XG5cdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvYXJyb3ctYnRuLXllbGxvdy5zdmcpO1xuXHRcdFx0XHRcdFx0bWFzay1zaXplOiA5cHggMTNweDtcblx0XHRcdFx0XHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCovXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZF9fY2FsbG91dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdHdvO1xuICAgIC5jYXJkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS10d287XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblx0XHRwYWRkaW5nOiA1MHB4IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nOiA3MHB4IDA7XG5cdFx0fVxuXG4gICAgICAgIGgyLCAuaDIsIGg0LCAuaDQge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgXG4gICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmZ1bGxfdGV4dCB7XG4gICAgICAgIC5jYXJkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblx0Ji5zZWNvbmRhcnkge1xuXHRcdC5jYXJkIHtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcblxuXHRcdFx0aDIsIC5oMiwgaDQsIC5oNCB7XG5cdFx0XHRcdGNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jYXJkX19mYW1lIHtcbiAgICAuY2VsbC5zaW5nbGVfX2ZhbWUge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHggMzBweCAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBoNSwgaDYge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBoNiB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdHdvO1xuICAgICAgICB9XG4gICAgICAgIGhyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5iZ19faW1nIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgICBcbiAgICB9XG5cbiAgICAmLmFsdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgICYuaGVyb19fY2Fyb3VzZWwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBoMSwgaDIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGgxLCBoMiwgaDIgc3BhbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cdC5idXR0b24tZ3JvdXAge1xuXHRcdC5idXR0b24ge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyNnB4O1xuXHRcdH1cblx0fVxuXG4gICAgJi5iZ19faGVybyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgbWluLWhlaWdodDogNDYwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRoMSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XG5cdFx0fVxuXG4gICAgICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cdFx0YTpub3QoLmJ1dHRvbikge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRzZWNvbmRhcnktb25lO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzY0OUFEQjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRtYXJnaW46IDAgNjBweDtcblx0XHRcdH1cblx0XHR9XG5cbiAgICAgICAgJi5iZ19faGVyb19ob21lIHtcblx0XHRcdHBhZGRpbmctdG9wOiAyMDhweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzNnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiA2NHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNDhweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmRfX3ByZXZpZXcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdGhyZWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290bm90ZXNfY2FyZCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjQjlCOUI5O1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIH1cblxufVxuXG4ubW9yZV9uZXdzIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmctZ3JleTtcbiAgICBwYWRkaW5nOiAxOHB4IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblx0YSwgcCwgLnNob3cge1xuXHRcdGNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cdFx0dHJhbnNpdGlvbjogY29sb3IgMC4yNXM7XG5cdH1cbiAgICBwIHtcblx0XHRtYXJnaW46IDEuN3JlbSAwIDIuNXJlbTtcbiAgICAgICAgY29sb3I6ICRkYXJrZXItZ3JheTtcblx0fVxuICAgIHNwYW4uZmF1eC1saW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OlwiQXZlbmlyIExUIFcwMV82NSBNZWRpdW0xNDc1NTMyXCI7XG4gICAgICAgIC8vIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkc2Vjb25kYXJ5LW9uZTtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cztcblx0XHR9XG4gICAgfVxuXG4gICAgaDQuc2hvdyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LW9uZTtcblxuXHRcdGEsIHAsIC5zaG93IHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuICAgIH1cbn1cblxuLm5ld3NfYXV0aG9yX2luZm8ge1xuICAgIC5pbWdfd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG1hcmdpbjogMHB4IGF1dG8gMjBweCBhdXRvO1xuICAgIH1cbn0gXG5cbi5oZWFkaW5nX190ZWFtIHtcbiAgICBoMyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuXG4uY2FyZF9fdm90aW5nX3N0YXQge1xuICAgIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgICBwLCBoMiwgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDBweCAwcHggMHB4O1xuICAgIH1cbn1cblxuLmNhcmRfX3BvcHVwIHtcbiAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRkVERTE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICYuaW5mb2NhcmQge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgLmluZm9jYXJkLWNvbnRlbnQge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5wb3B1cF9jaGVjayB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICMyMUE2N0E7XG4gICAgfVxuICAgICYucG9wdXBfaW5mbyB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICMwRjU4OUE7XG4gICAgfVxuICAgICYucG9wdXBfd2FybmluZyB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNDRTAwM0E7XG4gICAgfVxuICAgIC5wb3B1cF9jbG9zZSB7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ljb25zL2Nsb3NlLXBvcHVwLnN2Zyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4O1xuICAgICAgICByaWdodDogMzBweDtcblxuXHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LW9uZTtcblx0XHRcdG1hc2staW1hZ2U6IHVybCguLi9pY29ucy9jbG9zZS1wb3B1cC5zdmcpO1xuXHRcdFx0bWFzay1zaXplOiAxNXB4IDE1cHg7XG5cdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdH1cbiAgICB9XG4gICAgLnBvcHVwLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgLmljb25fY2hlY2sge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvcG9wdXAtY2hlY2suc3ZnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzBweCAzMHB4O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5pY29uX2luZm8ge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAxMHB4IGF1dG8gMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvcG9wdXAtaW5mby5zdmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMHB4IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmljb25fd2FybmluZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9wb3B1cC13YXJuaW5nLnN2Zyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHggMzBweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucG9wdXAtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJkX19jYXJvdXNlbCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgfVxuICAgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgIC5vd2wtaXRlbSB7XG4gICAgICAgICAgICAuY2Fyb3VzZWxfdGV4dCB7XG4gICAgICAgICAgICAgICAgLy9wYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNjBweCAyMHB4IDAgMjBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jYXJvdXNlbF9pbWcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7ICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgfVxuICAgfSBcbiAgIC5vd2wtZG90cyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTUwcHg7XG4gICAgICAgIC5vd2wtZG90IHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjYXB0aW9uLWdyZXkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibHVlX19iZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdHdvOyBcbn1cbi5ldmVudHNfbmF2X3JlZ2lzdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS10d287IFxuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgLmNhcmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IGF1dG87IFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMmVtIDFlbTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ldmVudHNfbmF2X2xpbmtzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyOyBcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEuMmVtIDFlbTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCAwcHggNXB4IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZXZlbnRzX2hlYWRpbmdfbGlua3Mge1xuICAgIG1hcmdpbjogMzBweCAwcHg7XG4gICAgLmV2ZW50c19oZWFkaW5nX2xpbmsge1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuLmZlYXRoZXJsaWdodCB7XG4gICAgLmZlYXRoZXJsaWdodC1jb250ZW50IHtcbiAgICAgICAgbWF4LWhlaWdodDogOTUlO1xuICAgICAgICBtaW4taGVpZ2h0OiA4MCU7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIC5mZWF0aGVybGlnaHQtaW5uZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiA5NSU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICAgICAgLnZpZGVvLWJveCB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA5NSU7XG4gICAgICAgICAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5keW5hbWljLW1vZHVsZSB7XG4gICAgLm92ZXJsYXktbGluayB7XG4gICAgICAgIHotaW5kZXg6IDk4OTtcbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgICAuaW1hZ2VfX3ByZXZpZXcgaW1ne1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgICAgICAmLmltYWdlLXdyYXAge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIC5mZWF0dXJlZF9pbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5mZWF0dXJlZF90ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIFZlcnRpY2FsIGFsaWdubWVudCAqL1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvKiBPcHRpb25hbCwgZGVwZW5kcyBvbiBwYXJlbnQgY29udGV4dCAqL1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogOTkwO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmZlYXR1cmVkX2ltZyB7XG4gICAgICAgICAgICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICAgICAgICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmltYWdlX19wcmV2aWV3IHtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbmdsZSBDYXJkXG4gICAgLmxhcmdlLTEwIHtcbiAgICAgICAgLmNlbGwuc21hbGwtNS5pbWFnZS13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtb25seSkge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIC8vbWluLWhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1pY3Jvc2l0ZSBPdmVycmlkZXNcbmJvZHkubWljcm9zaXRlIHtcbiAgICAmLmxpZ2h0LWJyYW5kLWNvbG91cnMge1xuICAgICAgICAuY2FyZC5jYXJkX19wcmV2aWV3IHtcbiAgICAgICAgICAgIC50ZXh0X193cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBoNSwgcCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5kYXJrLWJyYW5kLWNvbG91cnMge1xuICAgICAgICAuY2FyZC5jYXJkX19wcmV2aWV3IHtcbiAgICAgICAgICAgIC50ZXh0X193cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBoNSwgcCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAudGV4dF9fd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIGg1LCBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jYXJvdXNlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWdyZXkgIWltcG9ydGFudDtcblxufVxuXG4ub3dsLWNhcm91c2VsIHtcbiAgICAub3dsLXN0YWdlLW91dGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAub3dsLXN0YWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICAvL2hlaWdodDogYXV0bztcbiAgICAgICAgICAgIC8vbWF4LWhlaWdodDogODBweDtcbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGhyZWU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGNhcHRpb24tZ3JleTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHByaW1hcnktb25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmZpbHRlcnMge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LXRocmVlO1xuXHRib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblx0bWFyZ2luLXRvcDogLTYwcHg7XG5cdHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xNXB4KTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXHRcdG1hcmdpbi10b3A6IC04MHB4O1xuXHR9XG5cblx0c2VsZWN0IHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGJvcmRlci1jb2xvcjogJHdoaXRlO1xuXHRcdG1hcmdpbjogMzBweCAwO1xuXHRcdG1heC13aWR0aDogMjg1cHg7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pY29ucy9kb3duLWFycm93LXdoaXRlLnN2ZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEwcHg7XG5cdFx0YmFja2dyb3VuZC1zaXplOiAxNHB4IDdweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS10aHJlZTtcblxuXHRcdG9wdGlvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS10aHJlZTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0bWF4LXdpZHRoOiAzMDVweDtcblx0XHR9XG5cdH1cblx0XG5cdCY6ZW1wdHkge1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxuXG5cdC5zbWFsbC10d28tdXAgJiB7XG5cdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdG1hcmdpbi10b3A6IC01MHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdH1cbn1cbiIsIi8qKlxuICogSGVyb1xuICovXG4gXG4uaGVyb19fYmFubmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICB9XG4gXG59XG5cbi50aWVyX29uZSB7XG5cdC50ZXh0X19iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktb25lO1xuXG5cdFx0aDEsIGgyLCAuc3ViaGVhZGluZywgcCwgYTpub3QoLmJ1dHRvbikge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYTpvbmx5LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIH1cblx0fVxufVxuXG4ub3ZlcmxhcF9fbWFyZ2luIHtcbiAgICAuY2FyZC5jYXJkX19wcmV2aWV3IHtcbiAgICAgICAgLmNhcmQtbGluayB7XG4gICAgICAgICAgICAudGV4dF9fd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGllcl90d28ge1xuXHQuaGVyb19fYmFubmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1vbmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgICAgIH1cblx0fVxuXG5cdC5oZXJvX19vZmZzZXQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVyLWdyYXk7XG5cblx0XHRoMSwgLmgxLCBoMiwgLmgyIHtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi50aWVyX3RocmVlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxOTBweCAhaW1wb3J0YW50O1xuICAgIH1cblx0LmNhcmQge1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG5cdFx0cGFkZGluZzogMjhweCAyNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblx0fVxufVxuXG4udGllcl9vbmUsIC50aWVyX3R3bywgLmhlcm8tZXZlbnQge1xuXHQuY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDMycHggMjBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMycHggNDBweDtcbiAgICAgICAgfVxuXHR9XG59XG5cbi50aWVyX29uZSwgLnRpZXJfdHdvLCAudGllcl90aHJlZSB7XG5cdHAge1xuXHRcdGZvbnQtZmFtaWx5OiAnQXZlbmlyIExUIFcwMV81NSBSb21hbjE0NzU1MjAnO1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdH1cbn1cblxuLnRpZXJfdHdvLCAudGllcl90aHJlZSB7XG4gICAgcCwgLmxhcmdlX2ludHJvIHNwYW4ge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDA7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LW9uZTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTsgLy8gVGhpcyB3YXMgcHJldmlvdXNseSAyNFxuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcblx0XHR9XG4gICAgfVxufVxuXG4uaGVyby1ldmVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVzdC1ncmF5O1xuXHRwYWRkaW5nLWJvdHRvbTogNDJweDtcblxuXHQuc2hhcmUge1xuXHRcdG1hcmdpbjogMjNweCAwO1xuXHR9XG5cblx0LmNvbnRlbnQge1xuXHRcdC5jZWxsIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHR9XG5cblx0XHQuY29udGVudC10ZXh0IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cdFx0XHQuaGVyb19fYnV0dG9uX193cmFwIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgfVxuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5oZXJvX19vZmZzZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG5cdG1hcmdpbi10b3A6IC0yMDBweDtcbiAgICBtaW4taGVpZ2h0OiAyNzBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjUwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwMHB4O1xuICAgIH1cbn1cblxuLmhlcm9fdGllcjNfbGFyZ2Uge1xuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uaGVyb190aWVyM19pbWcge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLmhlYWRlcjRfdjIge1xuICAgIC5jYXB0aW9uIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdGNvbG9yOiAkcHJpbWFyeS1vbmU7IFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAmLmRhdGU6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuXHRpbWcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdH1cbn1cblxuXG4uaGVyb19fbWVkaWEge1xuICAgIHBhZGRpbmc6IDEwMHB4IDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2JhY2tncm91bmRzL3BsYWNlaG9sZGVyLmpwZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAueW91dHViZV9fYnRuIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpZ2h0Ym94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpOyBcbiAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgLmxpZ2h0Ym94LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiA3JSBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7ICAgIFxuICAgICAgICAgICAgcGFkZGluZzogMCAzJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAubGlnaHRib3gtY29udGVudCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC43KTtcblxuICAgICAgICAgICAgICAgIC5saWdodGJveC1jbG9zZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7ICAgIFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgICAgICBcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTIycHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAzJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudmlkZW8tY29udGFpbmVyIHsgIFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7ICBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7IFxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7IFxuXG4gICAgICAgICAgICAgICAgICAgICYgaWZyYW1lLCAmIG9iamVjdCwgJiBlbWJlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyAgXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwOyAgXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZXJvX25ld3NfdmVyc2lvbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gICAgLmhlYWRpbmdfbmV3cyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgfVxuICAgICAgICBwe1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5uZXdzX3RhZ3Mge1xuICAgICAgICAuY2VsbHtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4IDEwcHggMjBweCAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDRCN0U7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubmV3c19zdXBwb3J0ZXJzIHtcbiAgICAgICAgLmdyaWQteCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAuY2VsbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZXJvX3RpZXI1X2xhcmdlIHtcbiAgICAuaGVyb190ZXh0X2FyZWEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5oZXJvX3RpdGxlX2FyZWEge1xuICAgICAgICAgICAgcGFkZGluZzogMHB4IDUwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnN1YmhlYWRpbmcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRDdEN0Q3O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oZXJvX2luZm9fYXJlYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDUwcHggNTBweCA1MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0Q3RDdENztcbiAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvY2xvY2stYmx1ZS5wbmcpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMjVweDtcbiAgICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oZXJvX2RhdGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGVyb190aHVtYm5haWwge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxufVxuXG4uZmFjdHNoZWV0X2Jhbm5lcl9jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLnByaW50X2J0biB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBGNTg5QTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgICYuVG9jX3ByaW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9IFxuICAgICAgICB9XG4gICAgICAgIGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktb25lO1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktb25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLmZhY3RzaGVldF9oZXJvX2NvbnRlbnQge1xuXHRwYWRkaW5nLWxlZnQ6ICgkZ2xvYmFsLXBhZGRpbmcgKyA0MHB4KSAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLXJpZ2h0OiAoJGdsb2JhbC1wYWRkaW5nICsgNDBweCkgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgfSBcbn1cbiIsIi8vIE92ZXJyaWRlIGRlZmF1bHRzXG4uZmVhdGhlcmxpZ2h0IHtcbiAgICAuZmVhdGhlcmxpZ2h0LWNsb3NlLWljb24ge1xuICAgICAgICBtYXJnaW46IDIwcHggNDBweCAyMHB4IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgfVxufSBcblxuLy8gQ3VzdG9tIC0gRGVjbGFyYXRpb24gb2YgSW50ZXJlc3RzXG4uZGVjbGFyYXRpb25JbnRlcmVzdHMsIC52aWRlb19saWdodGJveCB7XG4gICAgZGlzcGxheTogbm9uZTsgLy8gSGlkZSBieSBkZWZhdWx0XG4gICAgLmRlY2xhcmF0aW9uSGVhZGVyLCAudmlkZW8tYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG4gICAgdGFibGUge1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY2FwdGlvbi1ncmV5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICB0ZCwgdGgge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY2FwdGlvbi1ncmV5O1xuICAgICAgICB9XG4gICAgfVxufSIsIiNtYXAge1xuXHRoZWlnaHQ6IDUzMHB4O1xuXG5cdGJ1dHRvbiB7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4ubWFwLXdyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0LmNhbGxvdXQtLWNvbnRhY3Qge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IDM2cHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0Ym90dG9tOiBhdXRvO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHR9XG5cblx0XHQuY2VsbCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHRwYWRkaW5nOiA0MHB4O1xuXHRcdH1cblxuXHRcdGFkZHJlc3Mge1xuXHRcdFx0Zm9udC1mYW1pbHk6IFwiQXZlbmlyIExUIFcwMV81NSBSb21hbjE0NzU1MjBcIjtcblx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdGNvbG9yOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyOHB4O1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBTRUNUSU9OIFxuICovXG5cbnNlY3Rpb24ge1xuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNTBweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRtYXJnaW4tYm90dG9tOiA4MHB4O1xuXHR9XG5cblx0Ji5zZWN0aW9uLWNvbGxhcHNlIHtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHQmLnNlY3Rpb24tc2lkZWJhciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxuXG5cdCYuc2VjdGlvbi1wdWxsdXAge1xuXHRcdG1hcmdpbi10b3A6IC0zMHB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdG1hcmdpbi10b3A6IC01MHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdG1hcmdpbi10b3A6IC04MHB4O1xuXHRcdH1cblx0fVxuXG5cdCYuZ3JleUJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZ3JleTtcblx0XHQuZ3JpZC1jb250YWluZXIge1xuXHRcdFx0Ly8gYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdGhyZWU7XG5cdFx0XHRwYWRkaW5nLXRvcDogNDBweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXG5cdFx0XHQmLnB1c2hkb3duLXdyYXAge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZ3JleTtcblx0XHRcdFx0LmFjY29yZGlvbl9fY2FyZCwgLmFjY29yZGlvbi1jb250ZW50IHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZ3JleTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji50cmFuc3BhcmVudCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHQuZ3JpZC14IHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS10aHJlZTtcblx0XHRcdFx0XHQmLnRyYW5zcGFyZW50IHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQuZ3JpZC14OmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0fVxuXHRcdFx0XHQuY2VsbCB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktdGhyZWU7XG5cdFx0XHRcdFx0Ji50cmFuc3BhcmVudCB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5pbm5lciB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5tZWRpdW0tNSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmLndyYXBwZXIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHQuYnV0dG9uX19oYWxmaGFsZiB7XG5cdFx0XHRcdFx0XHRcdC5idXR0b25fX3NpbXBsZSB7XG5cdFx0XHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS10aHJlZTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmNlbGwuY2FyZF9faGVhZGluZ19faW5uZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuY2FyZC5jYXJkX19zaW1wbGUge1xuXHRcdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0fVxuXG5cdCYuYWNjb3JkaW9uQmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmV5O1xuXHRcdC5hY2NvcmRpb24sIC5hY2NvcmRpb24tY29udGVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZ3JleTtcblx0XHR9XG5cdH1cblxuXHQmLmxpc3RpbmdzIHtcblx0XHRiYWNrZ3JvdW5kOiAkbGlnaHRlc3QtZ3JheTtcblx0XHRwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuXHRcdCYuaGFzLWhlYWRpbmcge1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblxuXHRcdFx0Lmxpc3Rpbmcge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLnN0b3JpZXMge1xuXHRcdFx0cGFkZGluZy10b3A6IDQwcHg7XG5cdFx0fVxuXG5cdFx0Ji5yaXNrLWZhY3RvcnMge1xuXHRcdFx0bWFyZ2luLXRvcDogLTgwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA3MHB4O1xuXHRcdFx0cGFkZGluZy10b3A6IDQwcHg7XG5cdFx0fVxuXG5cdH1cblxuXHQmLmZvcm0ge1xuXHRcdGJhY2tncm91bmQ6ICRsaWdodGVyLWdyYXk7XG5cdFx0cGFkZGluZzogNDBweCAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cGFkZGluZzogODBweCAwO1xuXHRcdH1cblx0fVxuXG5cdCYubWIwIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdH1cblx0XG59XG5cbkBtZWRpYSBwcmludCB7XG5cdC5mYWN0c2hlZXQtY29udGVudCwgLmNhcmQuY2FyZF9faGVhZGluZyB7XG5cdFx0Lm1lZGl1bS04LCAuaGVhZGluZy5tZWRpdW0tOCwgLmNhcmRfX2RldGFpbHMge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRsZWZ0OiAwJTtcblx0XHR9XG5cdH1cblx0LmZhY3RzaGVldC1jb250ZW50IHtcblx0XHQuY2FyZF9fZGV0YWlscyB7XG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0bGVmdDogMCUgIWltcG9ydGFudDtcblx0XHRcdC5idXR0b24ge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5mYWN0c2hlZXRfaGVyb19jb250ZW50IHtcblx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdGhlaWdodDogNDV2aDtcblx0fVxuXG5cdC5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnQsIC5kcm9wZG93bl9fdGFibGVvZmNvbnRlbnRfbW9iaWxlLCAjY29va2llLWxhdy1pbmZvLWFnYWluIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdC5mYWN0c2hlZXRfYmFubmVyX2NvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHRoZWlnaHQ6IDQ1dmg7XG5cdH1cblxuXHQuY2FyZF9fZmVhdHVyZWRfX3RleHQsIC5jYXJkX19mZWF0dXJlZCB7XG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0fVxufVxuIiwiLyoqXG4gKiBTSEFSRVxuICovXG4gXG4uc2hhcmUge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIC5zaGFyZS0tdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIHVsLnNvY2lhbC0tbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdHdpZHRoOiAyMnB4O1xuXHRcdFx0aGVpZ2h0OiAyMnB4O1xuXHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0fVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBWSURFT1xuICovXG4gXG4udmlkZW8ge1xuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAmLnZpZGVvX19lbWJlZCB7XG4gICAgICAgIC52aWRlb19fd3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvKiAxNjo5ICovXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICB9XG4gICAgICAgIC52aWRlb19fd3JhcHBlciBpZnJhbWUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC52aWRlb19faWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvdmlkZW8tcGxheWVyLWljb24uc3ZnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXIgLyAyOHB4IDE3cHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxOHB4O1xuXG5cdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRwcmltYXJ5LW9uZTtcblx0XHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL3ZpZGVvLXBsYXllci1pY29uLnN2Zyk7XG5cdFx0XHRcdG1hc2stc2l6ZTogMjhweCAxN3B4O1xuXHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0fVxuXG4gICAgICAgICAgICAmLnNvdW5kY2xvdWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9zb3VuZGNsb3VkLXBsYXllci1pY29uLnN2Zykgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzRweCAyN3B4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAzNHB4O1xuXG5cdFx0XHRcdEBzdXBwb3J0cyhtYXNrLWltYWdlOiB1cmwoXCJcIikpIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL3NvdW5kY2xvdWQtcGxheWVyLWljb24uc3ZnKTtcblx0XHRcdFx0XHRtYXNrLXNpemU6IDM0cHggMjdweDtcblx0XHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdG1hc2stcG9zaXRpb246IGNlbnRlciAzNHB4O1xuXHRcdFx0XHR9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnZpZGVvLXRleHQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIC52aWRlb19fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgICAudmlkZW9fX2luZm8ge1xuICAgICAgICAgICAgY29sb3I6ICM3NjcxNzU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICYudmlkZW9fX3RpbWUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaWNvbnMvdGltZS1pY29uLnN2Zykgbm8tcmVwZWF0IGxlZnQgY2VudGVyIC8gMjFweCAyMXB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdFx0XHRAc3VwcG9ydHMobWFzay1pbWFnZTogdXJsKFwiXCIpKSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkcHJpbWFyeS1vbmU7XG5cdFx0XHRcdFx0XHRtYXNrLWltYWdlOiB1cmwoLi4vaWNvbnMvdGltZS1pY29uLnN2Zyk7XG5cdFx0XHRcdFx0XHRtYXNrLXNpemU6IDIxcHggMjFweDtcblx0XHRcdFx0XHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRtYXNrLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcblx0XHRcdFx0XHR9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi52aWV3X19jb3VudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXHRcdC52aWRlb19tYXJnaW4ge1xuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHR9XG5cbiAgICB9XG5cbiAgICAvLyBWaWRlbyBwbGF5ZXIgY29tcG9uZW50c1xuICAgIC52aWRlb19fYmFubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0bWFyZ2luLWJvdHRvbTogMjJweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAudmlkZW8tY29udGFpbmVyIGlmcmFtZSwgIFxuICAgIC52aWRlby1jb250YWluZXIgb2JqZWN0LCAgXG4gICAgLnZpZGVvLWNvbnRhaW5lciBlbWJlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAucGxheWJ1dHRvbntcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTs7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy92aWRlby1wbGF5LnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyA1MHB4IDUwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cdFx0ei1pbmRleDogOTk5O1xuXG5cdFx0QHN1cHBvcnRzKG1hc2staW1hZ2U6IHVybChcIlwiKSkge1xuXHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktb25lO1xuXHRcdFx0bWFzay1pbWFnZTogdXJsKC4uL2ljb25zL3ZpZGVvLXBsYXkuc3ZnKTtcblx0XHRcdG1hc2stc2l6ZTogNTBweCA1MHB4O1xuXHRcdFx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0fVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogNjVweCA2NXB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNsb3Nle1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICAgIFxufVxuXG4ubWVkaWEge1xuXHQudmlkZW9fX2VtYmVkIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cdFx0LnZpZGVvX193cmFwcGVyIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEycHg7XG5cdFx0fVxuXG5cdFx0LnZpZGVvX19pbmZvIHtcblx0XHRcdCYudmlkZW9fX3RpbWUge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIuY2Mtd2luZG93e29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAxcyBlYXNlO3RyYW5zaXRpb246b3BhY2l0eSAxcyBlYXNlfS5jYy13aW5kb3cuY2MtaW52aXNpYmxle29wYWNpdHk6MH0uY2MtYW5pbWF0ZS5jYy1yZXZva2V7LXdlYmtpdC10cmFuc2l0aW9uOnRyYW5zZm9ybSAxcyBlYXNlOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAxcyBlYXNlO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMXMgZWFzZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAxcyBlYXNlO3RyYW5zaXRpb246dHJhbnNmb3JtIDFzIGVhc2UsLXdlYmtpdC10cmFuc2Zvcm0gMXMgZWFzZX0uY2MtYW5pbWF0ZS5jYy1yZXZva2UuY2MtdG9wey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJlbSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJlbSl9LmNjLWFuaW1hdGUuY2MtcmV2b2tlLmNjLWJvdHRvbXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDJlbSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMmVtKX0uY2MtYW5pbWF0ZS5jYy1yZXZva2UuY2MtYWN0aXZlLmNjLXRvcHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5jYy1hbmltYXRlLmNjLXJldm9rZS5jYy1hY3RpdmUuY2MtYm90dG9tey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmNjLXJldm9rZTpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5jYy1ncm93ZXJ7bWF4LWhlaWdodDowO292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246bWF4LWhlaWdodCAxczt0cmFuc2l0aW9uOm1heC1oZWlnaHQgMXN9XG4uY2MtcmV2b2tlLC5jYy13aW5kb3d7cG9zaXRpb246Zml4ZWQ7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTpIZWx2ZXRpY2EsQ2FsaWJyaSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuNWVtO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDt6LWluZGV4Ojk5OTl9LmNjLXdpbmRvdy5jYy1zdGF0aWN7cG9zaXRpb246c3RhdGljfS5jYy13aW5kb3cuY2MtZmxvYXRpbmd7cGFkZGluZzoyZW07bWF4LXdpZHRoOjI0ZW07LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmNjLXdpbmRvdy5jYy1iYW5uZXJ7cGFkZGluZzoxZW0gMS44ZW07d2lkdGg6MTAwJTstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93fS5jYy1yZXZva2V7cGFkZGluZzouNWVtfS5jYy1yZXZva2U6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uY2MtaGVhZGVye2ZvbnQtc2l6ZToxOHB4O2ZvbnQtd2VpZ2h0OjcwMH0uY2MtYnRuLC5jYy1jbG9zZSwuY2MtbGluaywuY2MtcmV2b2tle2N1cnNvcjpwb2ludGVyfS5jYy1saW5re29wYWNpdHk6Ljg7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzouMmVtO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmNjLWxpbms6aG92ZXJ7b3BhY2l0eToxfS5jYy1saW5rOmFjdGl2ZSwuY2MtbGluazp2aXNpdGVke2NvbG9yOmluaXRpYWx9LmNjLWJ0bntkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjRlbSAuOGVtO2ZvbnQtc2l6ZTouOWVtO2ZvbnQtd2VpZ2h0OjcwMDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZDt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9LmNjLWhpZ2hsaWdodCAuY2MtYnRuOmZpcnN0LWNoaWxke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5jYy1oaWdobGlnaHQgLmNjLWJ0bjpmaXJzdC1jaGlsZDpmb2N1cywuY2MtaGlnaGxpZ2h0IC5jYy1idG46Zmlyc3QtY2hpbGQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5jYy1jbG9zZXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDouNWVtO3JpZ2h0Oi41ZW07Zm9udC1zaXplOjEuNmVtO29wYWNpdHk6Ljk7bGluZS1oZWlnaHQ6Ljc1fS5jYy1jbG9zZTpmb2N1cywuY2MtY2xvc2U6aG92ZXJ7b3BhY2l0eToxfVxuLmNjLXJldm9rZS5jYy10b3B7dG9wOjA7bGVmdDozZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouNWVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi41ZW19LmNjLXJldm9rZS5jYy1ib3R0b217Ym90dG9tOjA7bGVmdDozZW07Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouNWVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi41ZW19LmNjLXJldm9rZS5jYy1sZWZ0e2xlZnQ6M2VtO3JpZ2h0OnVuc2V0fS5jYy1yZXZva2UuY2MtcmlnaHR7cmlnaHQ6M2VtO2xlZnQ6dW5zZXR9LmNjLXRvcHt0b3A6MWVtfS5jYy1sZWZ0e2xlZnQ6MWVtfS5jYy1yaWdodHtyaWdodDoxZW19LmNjLWJvdHRvbXtib3R0b206MWVtfS5jYy1mbG9hdGluZz4uY2MtbGlua3ttYXJnaW4tYm90dG9tOjFlbX0uY2MtZmxvYXRpbmcgLmNjLW1lc3NhZ2V7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjFlbX0uY2Mtd2luZG93LmNjLWZsb2F0aW5nIC5jYy1jb21wbGlhbmNley13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleDoxIDAgYXV0bztmbGV4OjEgMCBhdXRvfS5jYy13aW5kb3cuY2MtYmFubmVyey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5jYy1iYW5uZXIuY2MtdG9we2xlZnQ6MDtyaWdodDowO3RvcDowfS5jYy1iYW5uZXIuY2MtYm90dG9te2xlZnQ6MDtyaWdodDowO2JvdHRvbTowfS5jYy1iYW5uZXIgLmNjLW1lc3NhZ2V7ZGlzcGxheTpibG9jazstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAxIGF1dG87ZmxleDoxIDEgYXV0bzttYXgtd2lkdGg6MTAwJTttYXJnaW4tcmlnaHQ6MWVtfS5jYy1jb21wbGlhbmNle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtbGluZS1wYWNrOmp1c3RpZnk7YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVufS5jYy1mbG9hdGluZyAuY2MtY29tcGxpYW5jZT4uY2MtYnRuey13ZWJraXQtYm94LWZsZXg6MTstbXMtZmxleDoxO2ZsZXg6MX0uY2MtYnRuKy5jYy1idG57bWFyZ2luLWxlZnQ6LjVlbX1cbkBtZWRpYSBwcmludHsuY2MtcmV2b2tlLC5jYy13aW5kb3d7ZGlzcGxheTpub25lfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KXsuY2MtYnRue3doaXRlLXNwYWNlOm5vcm1hbH19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo0MTRweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksc2NyZWVuIGFuZCAobWF4LXdpZHRoOjczNnB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LmNjLXdpbmRvdy5jYy10b3B7dG9wOjB9LmNjLXdpbmRvdy5jYy1ib3R0b217Ym90dG9tOjB9LmNjLXdpbmRvdy5jYy1iYW5uZXIsLmNjLXdpbmRvdy5jYy1mbG9hdGluZywuY2Mtd2luZG93LmNjLWxlZnQsLmNjLXdpbmRvdy5jYy1yaWdodHtsZWZ0OjA7cmlnaHQ6MH0uY2Mtd2luZG93LmNjLWJhbm5lcnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uY2Mtd2luZG93LmNjLWJhbm5lciAuY2MtY29tcGxpYW5jZXstd2Via2l0LWJveC1mbGV4OjE7LW1zLWZsZXg6MSAxIGF1dG87ZmxleDoxIDEgYXV0b30uY2Mtd2luZG93LmNjLWZsb2F0aW5ne21heC13aWR0aDpub25lfS5jYy13aW5kb3cgLmNjLW1lc3NhZ2V7bWFyZ2luLWJvdHRvbToxZW19LmNjLXdpbmRvdy5jYy1iYW5uZXJ7LXdlYmtpdC1ib3gtYWxpZ246dW5zZXQ7LW1zLWZsZXgtYWxpZ246dW5zZXQ7YWxpZ24taXRlbXM6dW5zZXR9LmNjLXdpbmRvdy5jYy1iYW5uZXIgLmNjLW1lc3NhZ2V7bWFyZ2luLXJpZ2h0OjB9fVxuLmNjLWZsb2F0aW5nLmNjLXRoZW1lLWNsYXNzaWN7cGFkZGluZzoxLjJlbTtib3JkZXItcmFkaXVzOjVweH0uY2MtZmxvYXRpbmcuY2MtdHlwZS1pbmZvLmNjLXRoZW1lLWNsYXNzaWMgLmNjLWNvbXBsaWFuY2V7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmU7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4Om5vbmU7ZmxleDpub25lfS5jYy10aGVtZS1jbGFzc2ljIC5jYy1idG57Ym9yZGVyLXJhZGl1czo1cHh9LmNjLXRoZW1lLWNsYXNzaWMgLmNjLWJ0bjpsYXN0LWNoaWxke21pbi13aWR0aDoxNDBweH0uY2MtZmxvYXRpbmcuY2MtdHlwZS1pbmZvLmNjLXRoZW1lLWNsYXNzaWMgLmNjLWJ0bntkaXNwbGF5OmlubGluZS1ibG9ja31cbi5jYy10aGVtZS1lZGdlbGVzcy5jYy13aW5kb3d7cGFkZGluZzowfS5jYy1mbG9hdGluZy5jYy10aGVtZS1lZGdlbGVzcyAuY2MtbWVzc2FnZXttYXJnaW46MmVtO21hcmdpbi1ib3R0b206MS41ZW19LmNjLWJhbm5lci5jYy10aGVtZS1lZGdlbGVzcyAuY2MtYnRue21hcmdpbjowO3BhZGRpbmc6LjhlbSAxLjhlbTtoZWlnaHQ6MTAwJX0uY2MtYmFubmVyLmNjLXRoZW1lLWVkZ2VsZXNzIC5jYy1tZXNzYWdle21hcmdpbi1sZWZ0OjFlbX0uY2MtZmxvYXRpbmcuY2MtdGhlbWUtZWRnZWxlc3MgLmNjLWJ0bisuY2MtYnRue21hcmdpbi1sZWZ0OjB9Il19 */
