/*
Theme Name: Walraven.com
Description: WordPress theme for www.walraven.com
Author: Uprise <arjan@uprise.nl>
Author URI: http://www.uprise.nl
Version: 1.0
*/
@import "//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css";
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

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

/*
 * Vertical Rhythmn in Sass with helpful mixins and helpers
 * Author:  Gaya Kessler
 * Version: 0.0.1
 * Date:    2014-05-18
 */
/*
----------------------------------------------------------------

readyclass.css
Gravity Forms Ready Class Pre-Set Helper Styles
http://www.gravityforms.com
updated: July 12, 2016 10:11 PM GMT-5

Gravity Forms is a Rocketgenius project
copyright 2008-2016 Rocketgenius Inc.
http: //www.rocketgenius.com
this may not be redistributed without the
express written permission of the author.

NOTE: DO NOT EDIT THIS FILE! MAKE ANY MODIFICATIONS IN YOUR
THEME STYLESHEET. THIS FILE IS REPLACED DURING AUTO-UPDATES
AND ANY CHANGES MADE HERE WILL BE OVERWRITTEN.

If you need to make extensive customizations,
copy the contents of this file to your theme
style sheet for editing. Then, go to the form
settings page & set the 'output CSS' option
to no.

----------------------------------------------------------------
*/
@media only screen and (min-width: 641px) {
  .gform_wrapper .top_label li.gfield.gf_inline {
    vertical-align: top;
    width: auto !important;
    margin: 0;
    padding-right: 16px;
    float: none !important;
    display: -moz-inline-stack;
    display: inline-block; }
  .gform_wrapper .top_label li.gfield.gf_inline input[type=text].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=url].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=email].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=tel].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=number].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=password].large,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=text].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=url].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=email].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=tel].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=number].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=password].medium,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=text].small,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=url].small,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=email].small,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=tel].small,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=number].small,
  .gform_wrapper .top_label li.gfield.gf_inline input[type=password].small {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_inline input[type=text].datepicker.medium {
    width: 96px !important; }
  .gform_wrapper .top_label li.gfield.gf_inline select {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_inline textarea {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_hour input[type=text],
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_minute input[type=text] {
    width: 70% !important; }
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_hour,
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_minute,
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_date_month,
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_date_day,
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_date_year {
    width: 50px; }
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_ampm {
    width: auto; }
  .gform_wrapper li.gf_inline div.ginput_container {
    white-space: nowrap !important; }
  .gform_wrapper li.gf_inline div.ginput_container.ginput_container_date label {
    display: block !important; }
  .gform_wrapper .top_label li.gfield.gf_left_half,
  .gform_wrapper .top_label li.gfield.gf_right_half {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    width: 50%; }
  .gform_wrapper .top_label li.gfield.gf_left_half,
  .gform_wrapper .top_label li.gfield.gf_right_half {
    padding-right: 16px;
    float: none; }
  .gform_wrapper .top_label li.gfield.gf_left_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(ul.gfield_radio li input):not(ul.gfield_checkbox li input):not(.datepicker),
  .gform_wrapper .top_label li.gfield.gf_right_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker) {
    width: 100% !important;
    margin: 8px 0 0 0;
    padding-left: 0;
    padding-right: 0; }
  .gform_wrapper .top_label li.gfield.gf_left_half:before {
    content: "";
    display: block;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_right_half:after {
    content: "";
    display: table;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_left_half,
  .gform_wrapper .top_label li.gfield.gfield_error.gf_right_half {
    width: calc(50% - 8px); }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_left_half {
    margin-right: 16px; }
  .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) input.medium,
  .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) input.large,
  .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) select.medium,
  .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) select.large,
  .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) input.medium,
  .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) input.large,
  .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) select.medium,
  .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) select.large {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_left_half textarea,
  .gform_wrapper .top_label li.gfield.gf_right_half textarea {
    width: 98%; }
  .gform_wrapper .top_label li.gfield.gf_left_half input.small,
  .gform_wrapper .top_label li.gfield.gf_right_half input.small {
    width: 35%; }
  .gform_wrapper .top_label li.gfield.gf_left_half + li.gsection,
  .gform_wrapper .top_label li.gfield.gf_right_half + li.gsection {
    padding: 16px 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gf_left_half + li.gfield.gsection.gf_left_half,
  .gform_wrapper .top_label li.gfield.gf_right_half + li.gfield.gsection.gf_left_half,
  .gform_wrapper .top_label li.gfield.gf_left_half + li.gfield.gsection.gf_right_half,
  .gform_wrapper .top_label li.gfield.gf_right_half + li.gfield.gsection.gf_right_half,
  .gform_wrapper .top_label li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_left_half,
  .gform_wrapper .top_label li.gfield.gsection.gf_right_half + li.gfield.gsection.gf_left_half,
  .gform_wrapper .top_label li.gfield.gsection.gf_right_half + li.gfield.gsection.gf_right_half {
    padding: 16px 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_right_half {
    padding: 0 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_right_half + li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_right_half {
    padding: 16px 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gf_left_half + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_right_half + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_left_half + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_right_half + .gform_footer {
    clear: both; }
  /* 3 columns */
  .gform_wrapper .top_label li.gfield.gf_left_third,
  .gform_wrapper .top_label li.gfield.gf_middle_third,
  .gform_wrapper .top_label li.gfield.gf_right_third {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    float: none; }
  .gform_wrapper .top_label li.gfield.gf_left_third:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm),
  .gform_wrapper .top_label li.gfield.gf_middle_third:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm) {
    width: 33.3%; }
  .gform_wrapper .top_label li.gfield.gf_right_third:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm) {
    width: 33.4%; }
  .gform_wrapper .top_label li.gfield.gf_left_third,
  .gform_wrapper .top_label li.gfield.gf_middle_third,
  .gform_wrapper .top_label li.gfield.gf_right_third {
    margin-bottom: 8px; }
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) input.medium,
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) input.large,
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) select.medium,
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) select.large,
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) input.medium,
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) input.large,
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) select.medium,
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) select.large,
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) input.medium,
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) input.large,
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) select.medium,
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) select.large {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']):not(.ginput_quantity),
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']):not(.ginput_quantity),
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']):not(.ginput_quantity),
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) select,
  .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) select,
  .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) select {
    width: 100% !important; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_left_third,
  .gform_wrapper .top_label li.gfield.gfield_error.gf_middle_third {
    width: calc(33.3% - 16px) !important;
    margin-right: 16px; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_right_third {
    width: 33.4%; }
  .gform_wrapper .top_label li.gfield.gf_right_third:after {
    content: "";
    display: table;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_left_third + li.gsection,
  .gform_wrapper .top_label li.gfield.gf_right_third + li.gsection {
    padding: 16px 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gf_left_third + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_middle_third + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_right_third + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_left_third + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_middle_third + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_right_third + .gform_footer {
    clear: both; }
  /* 4 columns - quarters */
  .gform_wrapper .top_label li.gfield.gf_first_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm),
  .gform_wrapper .top_label li.gfield.gf_second_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm),
  .gform_wrapper .top_label li.gfield.gf_third_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm),
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm) {
    width: 25%;
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    float: none; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter,
  .gform_wrapper .top_label li.gfield.gf_second_quarter,
  .gform_wrapper .top_label li.gfield.gf_third_quarter,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter {
    margin-bottom: 8px; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']),
  .gform_wrapper .top_label li.gfield.gf_second_quarter div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']),
  .gform_wrapper .top_label li.gfield.gf_third_quarter div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']),
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter div:not(.ginput_container_date) input:not([type='radio']):not([type='checkbox']),
  .gform_wrapper .top_label li.gfield.gf_first_quarter div:not(.ginput_container_date) select,
  .gform_wrapper .top_label li.gfield.gf_second_quarter div:not(.ginput_container_date) select,
  .gform_wrapper .top_label li.gfield.gf_third_quarter div:not(.ginput_container_date) select,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter div:not(.ginput_container_date) select {
    width: 100% !important; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_first_quarter,
  .gform_wrapper .top_label li.gfield.gfield_error.gf_second_quarter,
  .gform_wrapper .top_label li.gfield.gfield_error.gf_third_quarter,
  .gform_wrapper .top_label li.gfield.gfield_error.gf_fourth_quarter {
    width: 24.5%; }
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter:after {
    content: "";
    display: table;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter input.medium,
  .gform_wrapper .top_label li.gfield.gf_first_quarter input.large,
  .gform_wrapper .top_label li.gfield.gf_first_quarter select.medium,
  .gform_wrapper .top_label li.gfield.gf_first_quarter select.large,
  .gform_wrapper .top_label li.gfield.gf_second_quarter input.medium,
  .gform_wrapper .top_label li.gfield.gf_second_quarter input.large,
  .gform_wrapper .top_label li.gfield.gf_second_quarter select.medium,
  .gform_wrapper .top_label li.gfield.gf_second_quarter select.large,
  .gform_wrapper .top_label li.gfield.gf_third_quarter input.medium,
  .gform_wrapper .top_label li.gfield.gf_third_quarter input.large,
  .gform_wrapper .top_label li.gfield.gf_third_quarter select.medium,
  .gform_wrapper .top_label li.gfield.gf_third_quarter select.large,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter input.medium,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter input.large,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter select.medium,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter select.large {
    width: 97.5%; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter + li.gsection,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter + li.gsection {
    padding: 16px 0 8px 0; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_second_quarter + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_third_quarter + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter + li.gfield,
  .gform_wrapper .top_label li.gfield.gf_first_quarter + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_second_quarter + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_third_quarter + .gform_footer,
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter + .gform_footer {
    clear: both; }
  /* horizontal list columns - displayed inline */
  .gform_wrapper .top_label li ul.gfield_checkbox,
  .gform_wrapper .top_label li ul.gfield_radio {
    width: calc(100% + 16px); }
  .gform_wrapper ul.gform_fields:not(.top_label) li ul.gfield_checkbox,
  .gform_wrapper ul.gform_fields:not(.top_label)li ul.gfield_radio {
    width: calc(70% + 16px); }
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_radio li {
    width: 50%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_radio li {
    width: 33.3%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0 0 2px 0;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_checkbox li label,
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_radio li label,
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_checkbox li label,
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_radio li label,
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_checkbox li label,
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_radio li label {
    max-width: 75%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle; }
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_radio li {
    width: 25%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper li.gfield.gf_list_5col ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_5col ul.gfield_radio li {
    width: 20%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_checkbox,
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_radio,
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_checkbox,
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_radio,
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_checkbox,
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_radio,
  .gform_wrapper li.gfield.gf_list_5col ul.gfield_checkbox,
  .gform_wrapper li.gfield.gf_list_5col ul.gfield_radio {
    overflow: hidden; }
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_2col label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_3col label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_4col label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_5col label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_inline label.gfield_label {
    margin: 0 0 10px 0; }
  /* vertical list columns - using CSS columns */
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_3col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_4col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_5col_vertical .ginput_container_checkbox ul.gfield_checkbox {
    -webkit-column-gap: 16px;
    -moz-column-gap: 16px;
    column-gap: 16px; }
  .gform_wrapper ul.gform_fields:not(.top_label) li.gf_list_2col_vertical label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gf_list_2col_vertical label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gf_list_2col_vertical label.gfield_label,
  .gform_wrapper ul.gform_fields:not(.top_label) li.gf_list_2col_vertical label.gfield_label {
    margin: 0 0 10px 0; }
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 16px);
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2; }
  .gform_wrapper li.gf_list_3col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_3col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 8px);
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3; }
  .gform_wrapper li.gf_list_4col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_4col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 8px);
    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4; }
  .gform_wrapper li.gf_list_5col_vertical .ginput_container_checkbox ul.gfield_checkbox,
  .gform_wrapper li.gf_list_5col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 8px);
    -webkit-column-count: 5;
    -moz-column-count: 5;
    column-count: 5; }
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_checkbox ul.gfield_checkbox li label,
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_radio ul.gfield_radio li label,
  .gform_wrapper li.gf_list_3col_vertical .ginput_container_checkbox ul.gfield_checkbox li label,
  .gform_wrapper li.gf_list_3col_vertical .ginput_container_radio ul.gfield_radio li label,
  .gform_wrapper li.gf_list_4col_vertical .ginput_container_checkbox ul.gfield_checkbox li label,
  .gform_wrapper li.gf_list_4col_vertical .ginput_container_radio ul.gfield_radio li label,
  .gform_wrapper li.gf_list_5col_vertical .ginput_container_checkbox ul.gfield_checkbox li label,
  .gform_wrapper li.gf_list_5col_vertical .ginput_container_radio ul.gfield_radio li label {
    max-width: 75%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .gform_wrapper li.gfield.gf_list_height_25 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_25 ul.gfield_radio li {
    height: 25px; }
  .gform_wrapper li.gfield.gf_list_height_50 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_50 ul.gfield_radio li {
    height: 50px; }
  .gform_wrapper li.gfield.gf_list_height_75 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_75 ul.gfield_radio li {
    height: 75px; }
  .gform_wrapper li.gfield.gf_list_height_100 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_100 ul.gfield_radio li {
    height: 100px; }
  .gform_wrapper li.gfield.gf_list_height_125 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_125 ul.gfield_radio li {
    height: 125px; }
  .gform_wrapper li.gfield.gf_list_height_150 ul.gfield_checkbox li,
  .gform_wrapper li.gfield.gf_list_height_150 ul.gfield_radio li {
    height: 150px; }
  .gform_wrapper li.gf_list_inline ul.gfield_checkbox li,
  .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    width: auto !important;
    float: none !important;
    margin: 0 8px 10px 0;
    display: -moz-inline-stack;
    display: inline-block; }
  html:not[dir="rtl"] .gform_wrapper li.gf_list_inline ul.gfield_checkbox li,
  html:not[dir="rtl"] .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    padding-right: 16px !important; }
  html[dir="rtl"] .gform_wrapper li.gf_list_inline ul.gfield_checkbox li,
  html[dir="rtl"] .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    padding-left: 16px !important; }
  .gform_wrapper li.gf_hide_ampm div.gfield_time_ampm {
    display: none !important; }
  .gform_wrapper li.gsection.gf_scroll_text {
    height: 240px;
    width: calc(100% - 16px);
    padding: 16px;
    background-color: #fff;
    overflow-y: scroll;
    overflow-x: hidden;
    border: 1px solid #CCC;
    border-bottom: 1px solid #CCC !important; }
  .gform_wrapper .top_label li.gsection.gf_scroll_text h2.gsection_title {
    margin: 10px 10px 0 8px !important; }
  .gform_wrapper.gf_browser_gecko .top_label li.gsection.gf_scroll_text h2.gsection_title,
  .gform_wrapper.gf_browser_chrome .top_label li.gsection.gf_scroll_text h2.gsection_title {
    margin: 0 10px 0 8px !important; }
  .gform_wrapper .top_label li.gsection.gf_scroll_text .gsection_description {
    margin: 10px;
    font-size: 12px; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul li,
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul li {
    list-style-type: disc !important;
    margin: 0 0 8px;
    overflow: visible;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul,
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul {
    list-style-type: disc !important;
    margin: 16px 0 16px 18px;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li,
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li {
    list-style-type: decimal !important;
    overflow: visible;
    margin: 0 0 8px;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol,
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol {
    list-style-type: decimal !important;
    margin: 16px 0 18px 32px;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul,
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul li {
    list-style-type: disc !important;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul {
    margin: 16px 0 16px 18px; }
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul li {
    margin: 0 0 8px; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description dl {
    margin: 0 0 18px 0;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description dl dt {
    font-weight: 700; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description dl dd {
    margin: 0 0 16px 18px; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_green,
  .gform_wrapper li.gfield.gfield_html.gf_alert_red,
  .gform_wrapper li.gfield.gfield_html.gf_alert_yellow,
  .gform_wrapper li.gfield.gfield_html.gf_alert_gray,
  .gform_wrapper li.gfield.gfield_html.gf_alert_blue {
    border-radius: 3px;
    margin: 20px 0 !important;
    padding: 20px !important; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_green {
    border: 1px solid #97B48A;
    background-color: #CBECA0;
    text-shadow: #DFB 1px 1px;
    color: #030; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_red {
    border: 1px solid #CFADB3;
    background-color: #FAF2F5;
    text-shadow: #FFF 1px 1px;
    color: #832525; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_yellow {
    border: 1px solid #E6DB55;
    background-color: #FFFBCC;
    text-shadow: #FCFAEA 1px 1px;
    color: #222; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_gray {
    border: 1px solid #CCC;
    background-color: #EEE;
    text-shadow: #FFF 1px 1px;
    color: #424242; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_blue {
    border: 1px solid #a7c2e7;
    background-color: #D1E4F3;
    text-shadow: #E0F1FF 1px 1px;
    color: #314475; }
  div.gform_confirmation_wrapper.gf_confirmation_simple_yellow {
    margin: 30px 0;
    max-width: 99%;
    border-top: 1px solid #E6DB55;
    border-bottom: 1px solid #E6DB55;
    padding: 32px;
    background-color: #FFFBCC;
    color: #424242;
    font-size: 25px; }
  div.gform_confirmation_wrapper.gf_confirmation_simple_gray {
    margin: 30px 0;
    max-width: 99%;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    padding: 32px;
    background-color: #EAEAEA;
    color: #424242;
    font-size: 25px; }
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient {
    position: relative;
    background-color: #FFFBD2;
    margin: 30px 0;
    border: 1px solid #E6DB55;
    -webkit-box-shadow: 0px 0px 5px rgba(221, 215, 131, 0.75);
    box-shadow: 0px 0px 5px rgba(221, 215, 131, 0.75); }
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient div.gforms_confirmation_message {
    margin: 0;
    padding: 40px;
    max-width: 99%;
    font-size: 28px;
    border-top: 2px solid #FFF;
    border-bottom: 1px solid #E6DB55;
    background-color: #FFFBCC;
    color: #424242;
    background: #fffce5;
    background: -webkit-gradient(linear, left top, left bottom, from(#fffce5), to(#fff9bf));
    background: linear-gradient(to bottom, #fffce5 0%, #fff9bf 100%); }
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient {
    position: relative;
    background-color: #f1fcdf;
    margin: 30px 0;
    border: 1px solid #a7c37c;
    -webkit-box-shadow: 0px 0px 5px rgba(86, 122, 86, 0.4);
    box-shadow: 0px 0px 5px rgba(86, 122, 86, 0.4); }
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient div.gforms_confirmation_message {
    margin: 0;
    padding: 40px;
    max-width: 99%;
    font-size: 28px;
    border-top: 2px solid #effade;
    border-bottom: 1px solid #a7c37c;
    background-color: #FFFBCC;
    text-shadow: #DFB 1px 1px;
    color: #030;
    background: #dbf2b7;
    background: -webkit-gradient(linear, left top, left bottom, from(#dbf2b7), to(#b4d088));
    background: linear-gradient(to bottom, #dbf2b7 0%, #b4d088 100%); }
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient:before,
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient:after,
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient:before,
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient:after {
    z-index: -1;
    position: absolute;
    content: "";
    bottom: 15px;
    left: 10px;
    width: 50%;
    top: 80%;
    max-width: 40%;
    background: rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 15px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 15px 10px rgba(0, 0, 0, 0.2);
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg); }
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient:after,
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient:after {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
    right: 10px;
    left: auto; }
  /* simple horizontal form ready class - very simple implementation for up to 5 fields and a button */
  .gform_wrapper form.gf_simple_horizontal {
    width: calc(100% -16px);
    margin: 0 auto; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body,
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    padding: 0;
    position: relative; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body {
    width: auto;
    max-width: 75%; }
  .gform_wrapper form.gf_simple_horizontal div.ginput_container,
  .gform_wrapper form.gf_simple_horizontal ul li.gfield {
    margin-top: 0 !important; }
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    width: auto;
    max-width: 25%;
    padding: 0;
    margin: 0; }
  body:not(rtl) .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    text-align: left; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield {
    display: -moz-inline-stack;
    display: inline-block;
    padding-right: 16px;
    height: auto; }
  .gform_wrapper form.gf_simple_horizontal label.gfield_label,
  .gform_wrapper form.gf_simple_horizontal .ginput_complex label,
  .gform_wrapper form.gf_simple_horizontal .gfield_description:not(.validation_message) {
    display: block;
    height: 1px;
    width: 1px;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: -9000px; }
  /* simple horizontal form - set a width for one field */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(1) {
    width: 100%; }
  /* simple horizontal form - set a width for two fields */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(2),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(2):nth-last-child(1) {
    width: 50%; }
  /* simple horizontal form - set a width for three fields */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(3),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(2):nth-last-child(2),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(3):nth-last-child(1) {
    width: 33.3333%; }
  /* simple horizontal form - set a width for four fields */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(4),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(2):nth-last-child(3),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(3):nth-last-child(2),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(4):nth-last-child(1) {
    width: 25%; }
  /* simple horizontal form - simple horizontal form - set a width for five fields */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(5),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(2):nth-last-child(4),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(3):nth-last-child(3),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(4):nth-last-child(2),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(5):nth-last-child(1) {
    width: 20%; }
  /* simple horizontal form - set a width for six fields */
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(1):nth-last-child(6),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(2):nth-last-child(5),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(3):nth-last-child(4),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(4):nth-last-child(3),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(5):nth-last-child(2),
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield:nth-child(6):nth-last-child(1) {
    width: 16.6%; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label.form_sublabel_below li.gfield {
    vertical-align: middle; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label.form_sublabel_above li.gfield {
    vertical-align: middle; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield input.small,
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield input.medium,
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield input.large {
    width: 100%; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield select.small,
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield select.medium,
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield select.large {
    width: 100%; }
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label input[type="submit"],
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label input[type="button"],
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label input[type="image"] {
    height: auto; }
  .gform_wrapper form.gf_simple_horizontal .top_label .gfield_error {
    margin-bottom: 0; }
  /* end media query */ }

header, section, footer, aside, nav, article, figure {
  display: block;
  margin: 0px;
  padding: 0px; }

html {
  color: #000; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

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

fieldset, img {
  border: 0; }

address, caption, cite, code, dfn, em, strong, th, var, optgroup {
  font-style: inherit;
  font-weight: inherit; }

del, ins {
  text-decoration: none; }

li {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

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

abbr, acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: baseline; }

sub {
  vertical-align: baseline; }

legend {
  color: #000; }

input, button, textarea, select, optgroup, option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit; }

input, button, textarea, select {
  *font-size: 100%; }

html {
  font-size: 62.5%;
  /* Sets up the Base 10 stuff */ }

html body, html input, html textarea, html button {
  font-size: 1.6rem;
  line-height: 2.4rem; }

button,
.button, .button--yellow, input[type=submit], .gform_footer .gform_button, .header__sub__mobile__button, .dealer-form__submit, .doormat-question__content__button, .footer-newsletter__form__submit,
.footer-newsletter__form .gform_button,
.footer-newsletter form__submit,
.footer-newsletter form .gform_button, .filter-items__label__button, .slideshow__slide__button {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 24px;
  line-height: 2.4rem; }

h1, .doormat-question__content__heading, .content__main-heading {
  font-size: 35px;
  font-size: 3.5rem;
  line-height: 52.5px;
  line-height: 5.25rem; }

h2 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 36px;
  line-height: 3.6rem; }

h3 {
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 28.5px;
  line-height: 2.85rem; }

h4 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 24px;
  line-height: 2.4rem; }

h5 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem; }

h6 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem; }

body, .content h2, .specs-table th.heading .desc,
.specs-table th.table-header .desc,
.specs-table .label .desc, .contact-section__heading {
  font-family: 'proxima-nova', Arial, sans-serif;
  font-weight: 400; }

.doormat-dealer__content__heading, .searchform__submit, .list-categories__item__count, .list-categories__item__text__heading, .list-persons__item__heading, .list-products__item__label, .see-also__item, .show-more-filters {
  font-family: 'proxima-nova', Arial, sans-serif;
  font-weight: 600; }

a.bigger-link, strong, button,
.button, .button--yellow, input[type=submit], .gform_body .gfield label,
.mktoForm .gfield label, .gform_footer .gform_button, .mktoForm label, .header__sub__mobile__button, .doormat-dealer__content__subheading, .dealer-form__submit, .doormat-question__content__button, .footer-navigation .column h4, .footer-newsletter__form__submit,
.footer-newsletter__form .gform_button,
.footer-newsletter form__submit,
.footer-newsletter form .gform_button, .content__section__intro, .content h3, .content h4, .filter__section__heading, .filter-items__label__button, .free-support__heading, .list-green-text__item__content__heading, .list-image__item__heading, .list-image-top__item__heading, .list-persons__item__location, .list-products__item__heading, .main-image__heading, .slideshow__slide__heading, .slideshow__slide__button, .specs-table th.heading,
.specs-table th.table-header,
.specs-table .label, .specs-table-wrapper__show-more, .specs-list__heading, .product-installation__heading, .product-complementary__heading,
.product-alternative__heading {
  font-family: 'proxima-nova', Arial, sans-serif;
  font-weight: 700; }

body {
  color: #000; }

body,
img {
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear; }

p {
  margin: 0 0 2.4rem; }

a {
  -webkit-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
  color: #006950;
  cursor: pointer;
  outline: none;
  text-decoration: none; }
  a:hover {
    color: #004535; }
  a.bigger-link {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
    line-height: 2.4rem; }
  a.underline {
    border-bottom: 1px solid #006950; }

h1,
h2,
h3 {
  margin-bottom: 2.4rem; }

h1 {
  color: #006950; }

h2 {
  color: #006950; }

h4 {
  margin-bottom: 0; }

h5 {
  margin-bottom: 0; }

h6 {
  margin-bottom: 0; }

em {
  font-style: italic; }

del {
  text-decoration: line-through; }

abbr {
  border-bottom: 1px solid #a3bdb5;
  color: #006950;
  cursor: help; }

sup,
superscript {
  vertical-align: sup; }

sub,
subscript {
  vertical-align: sub; }

.highlight {
  color: #ffed00; }

html,
body {
  background: #fff;
  -webkit-font-smoothing: antialiased;
  height: 100%;
  margin: 0;
  padding: 0; }
  html.no-scrolling,
  body.no-scrolling {
    overflow-y: hidden; }

body {
  padding-top: 189px; }
  @media screen and (max-width: 960px) {
    body {
      padding-top: 144px; } }
  @media screen and (max-width: 768px) {
    body {
      padding-top: 196px; } }

.wrapper {
  max-width: 1220px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  position: relative; }
  .wrapper::after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1220px) {
    .wrapper {
      max-width: 100%; } }
  .wrapper--archive {
    margin-bottom: 4.8rem; }

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0; }
  .video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.alignleft {
  float: left;
  margin: 0 15px 1.2rem; }

.alignright {
  float: right;
  margin: 0 0 1.2rem 15px; }

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.center {
  text-align: center; }

.clear {
  clear: both; }

.more-link {
  -webkit-transition: background-position 0.2s ease-in-out;
  transition: background-position 0.2s ease-in-out;
  display: inline-block;
  padding: 0.6rem 0 0.6rem 45px;
  position: relative; }
  @media screen and (max-width: 460px) {
    .post-type-archive-product .category-overview .more-link,
    .tax-product-category .category-overview .more-link {
      padding-left: 0; } }
  .more-link:before {
    background: #006950;
    content: '';
    height: 32px;
    left: 0;
    position: absolute;
    top: 1px;
    -webkit-transition: background-color .2s ease-in-out;
    transition: background-color .2s ease-in-out;
    width: 32px; }
    @media screen and (max-width: 460px) {
      .post-type-archive-product .category-overview .more-link:before,
      .tax-product-category .category-overview .more-link:before {
        display: none; } }
  .more-link:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
    height: 7px;
    left: 11px;
    position: absolute;
    top: 13px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    width: 7px; }
    @media screen and (max-width: 460px) {
      .post-type-archive-product .category-overview .more-link:after,
      .tax-product-category .category-overview .more-link:after {
        display: none; } }
  .more-link--inverse:after {
    left: 13px;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg); }
  .more-link:hover {
    text-decoration: underline; }
    .more-link:hover:before {
      background: #004535; }

.hidden {
  display: none; }

@media screen and (max-width: 320px) {
  figure.alignleft, figure.alignright {
    float: none;
    margin: 1.2rem 0; } }

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

figure.alignleft {
  float: left;
  margin: 0 5px 0 0; }

figure.alignright {
  float: right;
  margin: 0 0 0 5px; }

.hide-for-desktop {
  display: none; }
  @media screen and (max-width: 768px) {
    .hide-for-desktop {
      display: inline-block; } }

#map_canvas {
  height: 250px;
  width: 100%; }

.home-section-list-images {
  display: none; }
  .home-section-list-images .wrapper {
    padding-top: 1.2rem; }

#to-top {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem;
  background: #006950;
  border-radius: 3px;
  bottom: 7.2rem;
  color: #fff;
  display: none;
  padding: 25px 15px 0 15px;
  opacity: 0.8;
  position: fixed;
  right: 7.2rem;
  text-transform: lowercase;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
  z-index: 88; }
  @media screen and (max-width: 640px) {
    #to-top {
      right: 20px; } }
  #to-top:hover {
    opacity: 1; }
  #to-top:before {
    color: #fff;
    content: '\f106';
    font-family: "Font Awesome 5 Free", FontAwesome, sans-serif;
    font-weight: 900;
    font-size: 30px;
    position: absolute;
    left: 50%;
    margin-left: -10px;
    top: 0; }

.youtube-video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin-bottom: 2.4rem; }
  .youtube-video-container iframe,
  .youtube-video-container object,
  .youtube-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

button,
.button {
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  display: inline-block;
  width: auto;
  padding: 1.2rem 20px;
  color: #fff;
  text-align: center;
  text-decoration: none !important;
  border: 0;
  background: #006950;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  button:hover,
  .button:hover {
    background-color: #004535;
    color: #fff; }
  button:active,
  .button:active {
    background-color: #003428;
    color: #fff; }
  button.disabled,
  .button.disabled {
    cursor: default; }
  @media screen and (max-width: 640px) {
    button,
    .button {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      padding-bottom: 0.6rem;
      padding-top: 0.6rem; } }
  button--more:after,
  .button--more:after {
    -webkit-transition: margin 0.2s ease-in-out;
    transition: margin 0.2s ease-in-out;
    background-image: url("../images/icon-arrow-right-white.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 9px 8px;
    content: '';
    display: inline-block;
    height: 8px;
    margin-left: 5px;
    margin-right: 2px;
    width: 9px; }
  button--more:hover:after,
  .button--more:hover:after {
    margin-left: 7px;
    margin-right: 0; }

.button--yellow {
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  display: inline-block;
  width: auto;
  padding: 1.2rem 20px;
  color: #fff;
  text-align: center;
  text-decoration: none !important;
  border: 0;
  background: #ffed00;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: #000; }
  .button--yellow:hover {
    background-color: #004535;
    color: #fff; }
  .button--yellow:active {
    background-color: #003428;
    color: #fff; }
  .button--yellow.disabled {
    cursor: default; }
  @media screen and (max-width: 640px) {
    .button--yellow {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      padding-bottom: 0.6rem;
      padding-top: 0.6rem; } }
  .button--yellow:hover {
    background-color: #fff466;
    color: #000; }

select, .gform_body .gfield select,
.mktoForm .gfield select, .mktoForm select, input,
textarea {
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-color: #e8ecea;
  border-radius: 0;
  border-style: solid;
  border-width: 1px;
  color: #000;
  outline: none;
  padding: 1.2rem 10px; }
  select:focus, .gform_body .gfield select:focus, input:focus,
  textarea:focus {
    border-color: #999999; }
  select:-ms-input-placeholder, .gform_body .gfield select:-ms-input-placeholder, input:-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    color: #a9a9a9; }

select, .gform_body .gfield select,
.mktoForm .gfield select, .mktoForm select {
  -webkit-transition: background-position 0.2s ease-in-out;
  transition: background-position 0.2s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: url("../images/select-arrow.svg");
  background-position: right 10px top 21px;
  background-size: 8px 7px;
  background-repeat: no-repeat;
  border: 1px solid #e8ecea;
  border-radius: 0;
  cursor: pointer;
  line-height: 2.4rem;
  margin: 0;
  padding-right: 34px;
  text-indent: .01px;
  text-overflow: '';
  width: auto; }
  select::-ms-expand, .gform_body .gfield select::-ms-expand,
  .mktoForm .gfield select::-ms-expand, .mktoForm select::-ms-expand {
    display: none; }
  select + label, .gform_body .gfield select + label, .mktoForm .gfield select + label, .mktoForm select + label {
    display: none; }

input[type=checkbox] {
  -webkit-appearance: checkbox;
     -moz-appearance: checkbox;
          appearance: checkbox; }

input[type=radio] {
  -webkit-appearance: radio;
     -moz-appearance: radio;
          appearance: radio; }

input[type=submit],
label {
  cursor: pointer; }

input[type=submit] {
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  display: inline-block;
  width: auto;
  padding: 1.2rem 20px;
  color: #fff;
  text-align: center;
  text-decoration: none !important;
  border: 0;
  background: #006950;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  input[type=submit]:hover {
    background-color: #004535;
    color: #fff; }
  input[type=submit]:active {
    background-color: #003428;
    color: #fff; }
  input[type=submit].disabled {
    cursor: default; }
  @media screen and (max-width: 640px) {
    input[type=submit] {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      padding-bottom: 0.6rem;
      padding-top: 0.6rem; } }

input[type=hidden] {
  display: none !important; }

input.disabled {
  background-color: #d3dbd7;
  color: #e8ecea; }

.gform_wrapper {
  margin-bottom: 2.4rem; }
  .gform_wrapper .gf_progressbar {
    display: none; }

.gform_body,
.mktoForm {
  margin-bottom: 2.4rem; }
  .gform_body::after,
  .mktoForm::after {
    clear: both;
    content: "";
    display: block; }
  .gform_body .gform_fields,
  .mktoForm .gform_fields {
    margin-left: 0; }
  .gform_body .gfield,
  .mktoForm .gfield {
    background: none;
    list-style: none;
    margin-bottom: 1.2rem;
    padding-left: 0; }
    .gform_body .gfield::after,
    .mktoForm .gfield::after {
      clear: both;
      content: "";
      display: block; }
    .gform_body .gfield:before,
    .mktoForm .gfield:before {
      content: '';
      display: none; }
    .gform_body .gfield.gform_hidden,
    .mktoForm .gfield.gform_hidden {
      clear: both;
      display: none; }
    .gform_body .gfield label,
    .mktoForm .gfield label {
      display: block;
      float: none;
      padding: 0.6rem 0;
      width: auto; }
    .gform_body .gfield.hidden_label label,
    .mktoForm .gfield.hidden_label label {
      display: none; }
    .gform_body .gfield input, .gform_body .gfield select, .gform_body .gfield textarea,
    .mktoForm .gfield input,
    .mktoForm .gfield select,
    .mktoForm .gfield textarea {
      width: 100%; }
    .gform_body .gfield .textarea.small,
    .mktoForm .gfield .textarea.small {
      height: 9.6rem; }
    .gform_body .gfield .textarea.medium,
    .mktoForm .gfield .textarea.medium {
      height: 19.2rem; }
    .gform_body .gfield .textarea.large,
    .mktoForm .gfield .textarea.large {
      height: 28.8rem; }
    .gform_body .gfield .gfield_checkbox,
    .gform_body .gfield .gfield_radio,
    .mktoForm .gfield .gfield_checkbox,
    .mktoForm .gfield .gfield_radio {
      margin: 0; }
      .gform_body .gfield .gfield_checkbox li,
      .gform_body .gfield .gfield_radio li,
      .mktoForm .gfield .gfield_checkbox li,
      .mktoForm .gfield .gfield_radio li {
        background: none !important;
        list-style: none;
        padding-left: 0; }
        .gform_body .gfield .gfield_checkbox li:before,
        .gform_body .gfield .gfield_radio li:before,
        .mktoForm .gfield .gfield_checkbox li:before,
        .mktoForm .gfield .gfield_radio li:before {
          content: '';
          display: none; }
      .gform_body .gfield .gfield_checkbox input,
      .gform_body .gfield .gfield_radio input,
      .mktoForm .gfield .gfield_checkbox input,
      .mktoForm .gfield .gfield_radio input {
        background: none;
        border: 0;
        -webkit-box-shadow: none;
                box-shadow: none;
        display: inline;
        margin: 0 10px 0 0;
        padding: 0;
        width: auto; }
      .gform_body .gfield .gfield_checkbox label,
      .gform_body .gfield .gfield_radio label,
      .mktoForm .gfield .gfield_checkbox label,
      .mktoForm .gfield .gfield_radio label {
        display: inline;
        font-weight: normal;
        padding: 0;
        vertical-align: baseline;
        width: auto; }
    .gform_body .gfield.gfield_error,
    .mktoForm .gfield.gfield_error {
      color: #da291c; }
      .gform_body .gfield.gfield_error input[type="text"],
      .mktoForm .gfield.gfield_error input[type="text"] {
        border: 1px solid #da291c; }
    .gform_body .gfield .gfield_required,
    .mktoForm .gfield .gfield_required {
      margin-left: 5px; }
    .gform_body .gfield .gfield_radio li,
    .mktoForm .gfield .gfield_radio li {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      margin-right: 20px; }
    .gform_body .gfield .disabled,
    .mktoForm .gfield .disabled {
      background-color: #d3dbd7;
      color: #e8ecea; }
    .gform_body .gfield .gfield_description,
    .gform_body .gfield .ginput_counter,
    .mktoForm .gfield .gfield_description,
    .mktoForm .gfield .ginput_counter {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 24px;
      line-height: 2.4rem;
      line-height: 1.5em; }

.gform_footer {
  clear: both; }
  .gform_footer::after {
    clear: both;
    content: "";
    display: block; }
  .gform_footer .gform_button {
    -webkit-transition: background 0.3s ease-in-out;
    transition: background 0.3s ease-in-out;
    display: inline-block;
    width: auto;
    padding: 1.2rem 20px;
    color: #fff;
    text-align: center;
    text-decoration: none !important;
    border: 0;
    background: #006950;
    cursor: pointer;
    outline: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    padding-left: 50px;
    padding-right: 50px; }
    .gform_footer .gform_button:hover {
      background-color: #004535;
      color: #fff; }
    .gform_footer .gform_button:active {
      background-color: #003428;
      color: #fff; }
    .gform_footer .gform_button.disabled {
      cursor: default; }
    @media screen and (max-width: 640px) {
      .gform_footer .gform_button {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 24px;
        line-height: 2.4rem;
        padding-bottom: 0.6rem;
        padding-top: 0.6rem; } }

.validation_error {
  display: none; }

.mktoForm fieldset {
  margin-bottom: 2.4rem; }

.mktoForm legend {
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 28.5px;
  line-height: 2.85rem;
  font-weight: bold; }

.mktoForm .mktoAsterix {
  display: inline-block; }

.mktoForm label {
  display: block;
  float: none;
  padding: 0.6rem 0;
  width: auto; }

.mktoForm .mktoCheckboxList input {
  display: inline-block;
  float: none;
  margin-right: 5px;
  width: auto; }

.mktoForm .mktoCheckboxList label {
  display: inline-block;
  font-weight: normal; }

.mktoForm input, .mktoForm select, .mktoForm textarea {
  width: 100%; }

.mktoForm .textarea.small {
  height: 9.6rem; }

.mktoForm .textarea.medium {
  height: 19.2rem; }

.mktoForm .textarea.large {
  height: 28.8rem; }

.mktoForm .mktoErrorMsg {
  color: red; }

.checkbox [type="checkbox"]:not(:checked), .checkbox [type="checkbox"]:checked {
  position: absolute;
  left: -9999px; }
  .checkbox [type="checkbox"]:not(:checked) + label, .checkbox [type="checkbox"]:checked + label {
    cursor: pointer;
    display: inline-block;
    padding-left: 2em;
    position: relative; }
    .checkbox [type="checkbox"]:not(:checked) + label:before, .checkbox [type="checkbox"]:checked + label:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      height: 1.25em;
      width: 1.25em;
      background: #e5e5e5;
      -webkit-box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39);
              box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39); }
    .checkbox [type="checkbox"]:not(:checked) + label:after, .checkbox [type="checkbox"]:checked + label:after {
      background-image: url("../images/icon-checkbox-tick.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 14px 14px;
      content: '';
      font-family: Arial, sans-serif;
      height: 14px;
      left: 3px;
      position: absolute;
      top: 3px;
      -webkit-transition: all .2s;
      transition: all .2s;
      width: 14px; }

.checkbox [type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0); }

.checkbox [type="checkbox"]:checked + label:after {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1); }

.checkbox--white [type="checkbox"]:not(:checked), .checkbox--white [type="checkbox"]:checked {
  position: absolute;
  left: -9999px; }
  .checkbox--white [type="checkbox"]:not(:checked) + label, .checkbox--white [type="checkbox"]:checked + label {
    cursor: pointer;
    display: inline-block;
    padding-left: 2em;
    position: relative; }
    .checkbox--white [type="checkbox"]:not(:checked) + label:before, .checkbox--white [type="checkbox"]:checked + label:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      height: 1.25em;
      width: 1.25em;
      background: #fff;
      -webkit-box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39);
              box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39); }
    .checkbox--white [type="checkbox"]:not(:checked) + label:after, .checkbox--white [type="checkbox"]:checked + label:after {
      background-image: url("../images/icon-checkbox-tick.svg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: 14px 14px;
      content: '';
      font-family: Arial, sans-serif;
      height: 14px;
      left: 3px;
      position: absolute;
      top: 3px;
      -webkit-transition: all .2s;
      transition: all .2s;
      width: 14px; }

.checkbox--white [type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0); }

.checkbox--white [type="checkbox"]:checked + label:after {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1); }

.content__section__content .gform_wrapper .gfield_radio li input[type=radio] {
  vertical-align: inherit; }

.content__section__content .gform_wrapper li.gfield ul.gfield_radio li input[type=radio] + input[type=text] {
  font-size: 0.875em !important;
  padding: 0 !important; }

@media screen and (max-width: 600px) {
  .onFormSubmittedFeedback {
    width: 100% !important; } }

.marketingForm > div {
  max-width: 100% !important; }

.marketingForm .notification-container {
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
  margin-top: 10px; }

.marketingForm .notification-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 38px;
  border: 1.44737px solid #CCCCCC;
  border-radius: 10px;
  margin-bottom: 10px;
  margin-top: 10px; }

.marketingForm .notification-message-hide {
  display: none; }

.marketingForm .textFormFieldBlock,
.marketingForm .dateTimeFormFieldBlock,
.marketingForm .twoOptionFormFieldBlock,
.marketingForm .optionSetFormFieldBlock,
.marketingForm .multiOptionSetFormFieldBlock,
.marketingForm .lookupFormFieldBlock {
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px; }

.marketingForm label > p {
  margin: 0; }

.marketingForm .textFormFieldBlock label,
.marketingForm .dateTimeFormFieldBlock label,
.marketingForm .lookupFormFieldBlock label,
.marketingForm .twoOptionFormFieldBlock label.block-label,
.marketingForm .optionSetFormFieldBlock label.block-label,
.marketingForm .multiOptionSetFormFieldBlock label.block-label,
.marketingForm div[data-editorblocktype="Captcha"] label[id^="wlspispHipInstructionContainer"],
.marketingForm .textFormFieldBlock label *,
.marketingForm .dateTimeFormFieldBlock label *,
.marketingForm .lookupFormFieldBlock label *,
.marketingForm .twoOptionFormFieldBlock label.block-label *,
.marketingForm .optionSetFormFieldBlock label.block-label *,
.marketingForm .multiOptionSetFormFieldBlock label.block-label *,
.marketingForm .consentBlock label > p {
  font-weight: 600; }

.marketingForm .twoOptionFormFieldBlock div.twooption_checkbox div label,
.marketingForm .twoOptionFormFieldBlock div.twooption_checkbox div label div,
.marketingForm .consentBlock div label p {
  font-weight: 400; }

.marketingForm table.multi .textFormFieldBlock,
.marketingForm table.multi .dateTimeFormFieldBlock,
.marketingForm table.multi .twoOptionFormFieldBlock,
.marketingForm table.multi .optionSetFormFieldBlock,
.marketingForm table.multi .multiOptionSetFormFieldBlock,
.marketingForm table.multi .lookupFormFieldBlock {
  padding: 12px 20px; }

.marketingForm .phoneFormFieldBlock {
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px; }
  .marketingForm .phoneFormFieldBlock label,
  .marketingForm .phoneFormFieldBlock label * {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #323130; }
  .marketingForm .phoneFormFieldBlock label {
    display: inline-block;
    margin-top: 4px;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-right: 0px;
    padding: 0px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: 100%; }
    .marketingForm .phoneFormFieldBlock label:after {
      width: 22px;
      display: inline-block;
      line-height: 22px;
      text-align: center;
      color: #c33400;
      content: "*"; }
    .marketingForm .phoneFormFieldBlock label > * {
      display: inline-block; }

.marketingForm table.multi .phoneFormFieldBlock {
  padding: 12px 20px; }

.marketingForm .consentBlock {
  padding: 4px 30px; }

.marketingForm .columnContainer {
  width: 100% !important;
  max-width: 600px !important;
  display: table; }
  @media screen and (max-width: 600px) {
    .marketingForm .columnContainer {
      -webkit-box-flex: 0 !important;
          -ms-flex: 0 1 100% !important;
              flex: 0 1 100% !important; } }
  .marketingForm .columnContainer div[data-editorblocktype="Text"] {
    margin: 0 0 2.4rem 0 !important; }
  .marketingForm .columnContainer .textFormFieldBlock,
  .marketingForm .columnContainer .twoOptionFormFieldBlock,
  .marketingForm .columnContainer .phoneFormFieldBlock,
  .marketingForm .columnContainer .optionSetFormFieldBlock,
  .marketingForm .columnContainer .lookupFormFieldBlock,
  .marketingForm .columnContainer .consentBlock,
  .marketingForm .columnContainer .submitButtonWrapper {
    padding: 0 !important;
    margin-bottom: 1.2rem !important;
    gap: 5px !important; }
    .marketingForm .columnContainer .textFormFieldBlock label,
    .marketingForm .columnContainer .twoOptionFormFieldBlock label,
    .marketingForm .columnContainer .phoneFormFieldBlock label,
    .marketingForm .columnContainer .optionSetFormFieldBlock label,
    .marketingForm .columnContainer .lookupFormFieldBlock label,
    .marketingForm .columnContainer .consentBlock label,
    .marketingForm .columnContainer .submitButtonWrapper label {
      font-family: 'proxima-nova', Arial, sans-serif !important;
      margin-left: 1px; }
  .marketingForm .columnContainer .textFormFieldBlock label::after,
  .marketingForm .columnContainer .twooption_checkbox label::after,
  .marketingForm .columnContainer .dateTimeFormFieldBlock label::after,
  .marketingForm .columnContainer .lookupFormFieldBlock label::after,
  .marketingForm .columnContainer .twoOptionFormFieldBlock label.block-label::after,
  .marketingForm .columnContainer .twoOptionFormFieldBlock div.twooption_checkbox label::after,
  .marketingForm .columnContainer .optionSetFormFieldBlock label.block-label::after,
  .marketingForm .columnContainer .multiOptionSetFormFieldBlock label.block-label::after,
  .marketingForm .columnContainer .consentBlock label p:first-of-type::after,
  .marketingForm .columnContainer .eventSession label::after,
  .marketingForm .columnContainer div[data-editorblocktype="Sessions"] h2::after,
  .marketingForm .columnContainer div[data-editorblocktype="Captcha"] label[id^="wlspispHipInstructionContainer"]::after {
    width: 22px;
    display: inline-block;
    line-height: 22px;
    text-align: center;
    color: #c33400;
    content: "*"; }
  .marketingForm .columnContainer .twoOptionFormFieldBlock div.radiobuttons div input,
  .marketingForm .columnContainer .twoOptionFormFieldBlock div.twooption_checkbox div input,
  .marketingForm .columnContainer .optionSetFormFieldBlock div.radiobuttons div input,
  .marketingForm .columnContainer .multiOptionSetFormFieldBlock fieldset > div > input[type="checkbox"],
  .marketingForm .columnContainer .eventSession > div > input[type="checkbox"],
  .marketingForm .columnContainer .eventSession > div > input[type="radio"],
  .marketingForm .columnContainer .consentBlock div input {
    margin: 0px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 20px;
    height: 20px;
    border: 1px solid #323130;
    border-radius: 2px;
    accent-color: #0078d4;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
  .marketingForm .columnContainer .phoneFormFieldBlock input {
    display: block;
    width: 100%;
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-flex: 2;
        -ms-flex: 2;
            flex: 2; }
  .marketingForm .columnContainer .twoOptionFormFieldBlock div.radiobuttons > div,
  .marketingForm .columnContainer .twoOptionFormFieldBlock div.twooption_checkbox > div,
  .marketingForm .columnContainer .optionSetFormFieldBlock div.radiobuttons > div,
  .marketingForm .columnContainer .multiOptionSetFormFieldBlock fieldset > div,
  .marketingForm .columnContainer .consentBlock > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0px;
    gap: 8px; }
  .marketingForm .columnContainer .lookupFormFieldBlock input {
    background-image: url("../images/icon-search-flipped.png") !important;
    background-size: 16px 16px !important;
    background-repeat: no-repeat !important;
    background-position: right 5px center !important; }
  .marketingForm .columnContainer .lookupFormFieldBlock ul li {
    list-style: none !important;
    padding-left: 3px; }
    .marketingForm .columnContainer .lookupFormFieldBlock ul li.ui-state-active {
      background: #006950 !important;
      border-color: #006950 !important; }
    .marketingForm .columnContainer .lookupFormFieldBlock ul li:before {
      display: none; }
  .marketingForm .columnContainer .submitButton {
    padding: 1.2rem 50px; }
  .marketingForm .columnContainer select,
  .marketingForm .columnContainer input,
  .marketingForm .columnContainer textarea {
    font-size: 16px !important;
    background: #fff !important;
    font-family: 'proxima-nova', Arial, sans-serif !important; }
  .marketingForm .columnContainer input[type="checkbox"] {
    accent-color: #006950 !important; }

@media print {
  #header-pusher,
  .hide-for-print,
  .header__notify,
  .header__service,
  .header__sub,
  .breadcrumbs,
  .more-link,
  .product-info__content__contact,
  .anchor-nav,
  .specs-table-wrapper__show-more,
  .specs-drawings__links,
  .list-videos,
  .product-installation__tips,
  .product-downloads__contact .button,
  .list-products__item__specs,
  .list-product__more,
  .doormat-dealer,
  .doormat-question,
  .doormat-case-studies,
  .get-in-touch,
  .footer,
  .material-list-mini,
  .navigation,
  .radish-cookie-bar {
    display: none !important; }
  .page-title {
    background: none !important;
    margin-bottom: 2.4rem !important;
    padding: 0 !important; }
  .section-products {
    padding-bottom: 0.6rem !important;
    padding-top: 0.6rem !important; }
  .copyright {
    display: block !important;
    margin: 0; }
  .keep-together,
  .specs-drawings,
  .specs-list,
  .product-installation__usage,
  .list-products {
    page-break-inside: avoid; }
  .specs-list {
    page-break-before: always;
    -webkit-columns: auto;
       -moz-columns: auto;
            columns: auto; }
  .header {
    -webkit-print-color-adjust: exact;
    height: auto !important;
    margin-bottom: 2.4rem !important;
    padding: 0 !important;
    position: static !important; }
    .header .wrapper {
      padding-left: 20px !important;
      padding-right: 20px !important; }
    .header__top {
      padding: 1.2rem 0 !important; }
    .header__contact {
      float: right !important;
      width: auto !important; }
  .specs-table-wrapper {
    max-height: 100% !important; }
    .specs-table-wrapper:after {
      display: none !important; }
    .specs-table-wrapper .specs-table {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 24px;
      line-height: 2.4rem; }
      .specs-table-wrapper .specs-table td {
        padding: 0.6rem 10px; }
      .specs-table-wrapper .specs-table tr:nth-child(even) {
        -webkit-print-color-adjust: exact; }
  .list-pdfs li {
    background: none !important;
    padding: 0 0 0.6rem 0 !important; }
    .list-pdfs li:first-letter {
      text-transform: uppercase; }
  .list-products__item {
    display: block !important; }
  .page-template-tpl-material-list .material-actions,
  .page-template-tpl-material-list .action-bar {
    display: none !important; }
  .page-template-tpl-material-list .material-list tbody tr td {
    border: 0 !important; }
  .page-template-tpl-material-list .material-list tbody tr .cell-details .specs-list {
    -webkit-columns: auto;
       -moz-columns: auto;
            columns: auto; }
  .page-template-tpl-material-list .material-list .cell-check {
    display: none; }
  .page-template-tpl-material-list .material-list .cell-details {
    width: 40%; }
    .page-template-tpl-material-list .material-list .cell-details li {
      list-style: square; }
  .page-template-tpl-material-list .material-list .cell-remove {
    display: none; }
  .page-template-tpl-material-list .material-list .cell-amount input {
    border: 0;
    background: none; } }

.show-on-print {
  display: none; }
  @media print {
    .show-on-print {
      display: inline-block !important; } }

table {
  width: 100%;
  margin-bottom: 2.4rem; }

.tablepress thead th,
.tablepress tfoot th,
.tablepress > :where(thead, tfoot) > tr > * {
  background: #006950;
  color: #fff; }

.tablepress thead .dt-orderable-asc:hover,
.tablepress thead .dt-orderable-desc:hover,
.tablepress thead .dt-ordering-asc,
.tablepress thead .dt-ordering-desc {
  background: #006950 !important;
  color: #fff !important; }

.tablepress tbody td,
.tablepress tfoot th {
  background: #e8ecea; }

.tablepress thead .dt-orderable-asc .dt-column-order,
.tablepress thead .dt-orderable-desc .dt-column-order {
  color: #fff !important; }

.dt-search .dt-input {
  width: 300px; }

.dt-input {
  border: 1px solid #a9a9a9;
  display: inline-block; }

select.dt-input {
  display: inline-block !important;
  padding-right: 24px !important;
  background-position: right 10px top 14px !important; }

.paging_simple .paginate_button.previous:before, .paging_simple .paginate_button.next:after {
  color: #000;
  content: '\f104';
  font-family: FontAwesome, sans-serif;
  text-shadow: none; }

.paging_simple .paginate_button.next:after {
  content: '\f105'; }

.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem;
  margin-bottom: 1.2rem; }
  .dataTables_wrapper .dataTables_filter select,
  .dataTables_wrapper .dataTables_length select,
  .dataTables_wrapper .dataTables_info select,
  .dataTables_wrapper .dataTables_paginate select {
    background-position: right 4px top 12px;
    padding: 4px 20px 4px 10px; }
  .dataTables_wrapper .dataTables_filter input,
  .dataTables_wrapper .dataTables_length input,
  .dataTables_wrapper .dataTables_info input,
  .dataTables_wrapper .dataTables_paginate input {
    margin-left: 5px;
    padding: 4px 5px; }

/*! jQuery UI - v1.12.1 - 2018-08-08
* http://jqueryui.com
* Includes: core.css, tooltip.css
* Copyright jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
  display: none; }

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

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none; }

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse; }

.ui-helper-clearfix:after {
  clear: both; }

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  filter: Alpha(Opacity=0);
  /* support: IE8 */ }

.ui-front {
  z-index: 100; }

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
  cursor: default !important;
  pointer-events: none; }

/* Icons
----------------------------------*/
.ui-icon {
  display: inline-block;
  vertical-align: middle;
  margin-top: -.25em;
  position: relative;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat; }

.ui-widget-icon-block {
  left: 50%;
  margin-left: -8px;
  display: block; }

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.ui-tooltip {
  position: absolute;
  z-index: 9999;
  max-width: 300px; }

body .ui-tooltip {
  border-width: 2px; }

@media print {
  #header-pusher,
  .hide-for-print,
  .header__notify,
  .header__service,
  .header__sub,
  .breadcrumbs,
  .more-link,
  .product-info__content__contact,
  .anchor-nav,
  .specs-table-wrapper__show-more,
  .specs-drawings__links,
  .list-videos,
  .product-installation__tips,
  .product-downloads__contact .button,
  .list-products__item__specs,
  .list-product__more,
  .doormat-dealer,
  .doormat-question,
  .doormat-case-studies,
  .get-in-touch,
  .footer,
  .material-list-mini,
  .navigation,
  .radish-cookie-bar {
    display: none !important; }
  .page-title {
    background: none !important;
    margin-bottom: 2.4rem !important;
    padding: 0 !important; }
  .section-products {
    padding-bottom: 0.6rem !important;
    padding-top: 0.6rem !important; }
  .copyright {
    display: block !important;
    margin: 0; }
  .keep-together,
  .specs-drawings,
  .specs-list,
  .product-installation__usage,
  .list-products {
    page-break-inside: avoid; }
  .specs-list {
    page-break-before: always;
    -webkit-columns: auto;
       -moz-columns: auto;
            columns: auto; }
  .header {
    -webkit-print-color-adjust: exact;
    height: auto !important;
    margin-bottom: 2.4rem !important;
    padding: 0 !important;
    position: static !important; }
    .header .wrapper {
      padding-left: 20px !important;
      padding-right: 20px !important; }
    .header__top {
      padding: 1.2rem 0 !important; }
    .header__contact {
      float: right !important;
      width: auto !important; }
  .specs-table-wrapper {
    max-height: 100% !important; }
    .specs-table-wrapper:after {
      display: none !important; }
    .specs-table-wrapper .specs-table {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 24px;
      line-height: 2.4rem; }
      .specs-table-wrapper .specs-table td {
        padding: 0.6rem 10px; }
      .specs-table-wrapper .specs-table tr:nth-child(even) {
        -webkit-print-color-adjust: exact; }
  .list-pdfs li {
    background: none !important;
    padding: 0 0 0.6rem 0 !important; }
    .list-pdfs li:first-letter {
      text-transform: uppercase; }
  .list-products__item {
    display: block !important; }
  .page-template-tpl-material-list .material-actions,
  .page-template-tpl-material-list .action-bar {
    display: none !important; }
  .page-template-tpl-material-list .material-list tbody tr td {
    border: 0 !important; }
  .page-template-tpl-material-list .material-list tbody tr .cell-details .specs-list {
    -webkit-columns: auto;
       -moz-columns: auto;
            columns: auto; }
  .page-template-tpl-material-list .material-list .cell-check {
    display: none; }
  .page-template-tpl-material-list .material-list .cell-details {
    width: 40%; }
    .page-template-tpl-material-list .material-list .cell-details li {
      list-style: square; }
  .page-template-tpl-material-list .material-list .cell-remove {
    display: none; }
  .page-template-tpl-material-list .material-list .cell-amount input {
    border: 0;
    background: none; } }

.show-on-print {
  display: none; }
  @media print {
    .show-on-print {
      display: inline-block !important; } }

.header {
  -webkit-transition: height 0.2s linear;
  transition: height 0.2s linear;
  background: #e8ecea;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 90; }
  .header::after {
    clear: both;
    content: "";
    display: block; }
  body.admin-bar .header {
    top: 32px; }
  @media screen and (max-width: 640px) {
    .header {
      padding: 0; } }
  .header__top {
    -webkit-transition: padding 0.2s linear;
    transition: padding 0.2s linear;
    background: #006950;
    padding: 2.4rem 0 2.4rem 0; }
    @media screen and (max-width: 460px) {
      .header__top {
        height: auto; } }
    body.site-1 .header__top {
      padding-top: 1.2rem; }
    .header__top .wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      @media screen and (max-width: 640px) {
        .header__top .wrapper {
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
    .header__top__right {
      margin-left: auto;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      @media screen and (max-width: 960px) {
        .header__top__right {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          margin: 0;
          -webkit-box-flex: 0;
              -ms-flex: 0 100%;
                  flex: 0 100%;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
      @media screen and (max-width: 640px) {
        .header__top__right {
          margin-top: 20px; } }
      @media screen and (max-width: 640px) {
        .header--hidden .header__top__right {
          margin-top: 0; } }
  .header__logo {
    margin-right: 34px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 300px;
            flex: 0 0 300px;
    -webkit-transition: -webkit-box-flex 0.2s;
    transition: -webkit-box-flex 0.2s;
    transition: flex 0.2s;
    transition: flex 0.2s, -webkit-box-flex 0.2s, -ms-flex 0.2s; }
    @media screen and (max-width: 1024px) {
      .header__logo {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 230px;
                flex: 0 0 230px; } }
    @media screen and (max-width: 640px) {
      .header__logo {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin-right: 0;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%; } }
    .header--hidden .header__logo {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 200px;
              flex: 0 0 200px; }
      @media screen and (max-width: 640px) {
        .header--hidden .header__logo {
          -webkit-box-flex: 0;
              -ms-flex: 0 1 100%;
                  flex: 0 1 100%; } }
    .header__logo h1 {
      display: inline-block;
      margin: 0;
      font-size: 1em;
      line-height: 1em; }
    .header__logo a {
      display: inline-block; }
      @media screen and (max-width: 640px) {
        .header__logo a {
          -webkit-box-flex: 0;
              -ms-flex: 0 1 180px;
                  flex: 0 1 180px; } }
    .header__logo img {
      max-width: 100%;
      height: auto;
      width: 100%; }
  .header__service {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    max-height: 100px; }
    @media screen and (max-width: 960px) {
      .header__service {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%;
        margin-right: 40px; } }
    @media screen and (max-width: 640px) {
      .header__service {
        margin-right: 0; } }
    @media screen and (max-width: 460px) {
      .header__service {
        clear: both;
        display: block;
        float: none;
        width: 100%; } }
    @media screen and (max-width: 320px) {
      .header__service {
        margin-top: 0; } }
    .header--hidden .header__service {
      -webkit-transition: all 0.25s ease-in-out;
      transition: all 0.25s ease-in-out;
      margin: 0;
      max-height: 0;
      padding: 0;
      overflow-y: hidden; }
    .header__service__navigation {
      clear: both;
      margin-left: auto; }
      @media screen and (max-width: 960px) {
        .header__service__navigation {
          display: none;
          left: 0;
          position: absolute;
          top: calc(100% + 2.4rem);
          background: #006950;
          width: 100%;
          margin: 0;
          padding: 0 20px; } }
      .header__service__navigation .header__sub__menu {
        background: #e8ecea;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        margin-bottom: 2.4rem;
        padding: 2.4rem; }
  .header__contact {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    color: #fff;
    text-align: right; }
    .header__contact:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .header__contact {
        clear: both;
        display: block;
        float: none;
        width: 100%;
        text-align: left; } }
    @media screen and (max-width: 640px) {
      .header__contact {
        display: none; } }
    .header__contact__item {
      display: block; }
      @media screen and (max-width: 768px) {
        .header__contact__item {
          display: inline-block;
          margin-right: 20px; } }
      .header__contact__item a {
        color: #fff; }
      .header__contact__item__phone {
        background-image: url("../images/icon-telephone-white.svg");
        background-position: left center;
        background-size: 16px 16px;
        background-repeat: no-repeat;
        padding-left: 24px; }
      .header__contact__item__email {
        background-image: url("../images/icon-mail-white.svg");
        background-position: left center;
        background-size: 14px 10px;
        background-repeat: no-repeat;
        padding-left: 24px; }
  .header__sub {
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background: #e8ecea;
    max-height: 200px;
    padding: 1.2rem 0; }
    @media screen and (max-width: 640px) {
      .header__sub {
        background: #e5e5e5; } }
    .header__sub .wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .header__sub .wrapper::after {
        display: none; }
    body.site-1 .header__sub {
      display: none; }
    .header--scrolling .header__sub,
    .header--hidden .header__sub {
      -webkit-transition: all 0.25s ease-in-out;
      transition: all 0.25s ease-in-out;
      margin: 0;
      max-height: 0;
      padding: 0;
      overflow-y: hidden; }
    .header__sub__language-switcherchoose-country-link {
      margin-right: 10px; }
    @media screen and (max-width: 640px) {
      .header__sub__desktop {
        display: none; } }
    .header__sub__mobile {
      display: none; }
      @media screen and (max-width: 640px) {
        .header__sub__mobile {
          display: block; } }
      .header__sub__mobile__button {
        -webkit-transition: background 0.3s ease-in-out;
        transition: background 0.3s ease-in-out;
        display: inline-block;
        width: auto;
        padding: 1.2rem 20px;
        color: #fff;
        text-align: center;
        text-decoration: none !important;
        border: 0;
        background: #006950;
        cursor: pointer;
        outline: none;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 24px;
        line-height: 2.4rem;
        display: block; }
        .header__sub__mobile__button:hover {
          background-color: #004535;
          color: #fff; }
        .header__sub__mobile__button:active {
          background-color: #003428;
          color: #fff; }
        .header__sub__mobile__button.disabled {
          cursor: default; }
        @media screen and (max-width: 640px) {
          .header__sub__mobile__button {
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 24px;
            line-height: 2.4rem;
            padding-bottom: 0.6rem;
            padding-top: 0.6rem; } }
        .header__sub__mobile__button img {
          display: inline-block;
          margin: 0 15px -2px 0; }
    .header__sub__menu {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      @media screen and (max-width: 960px) {
        .header__sub__menu {
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1; } }
      @media screen and (max-width: 460px) {
        .header__sub__menu:not(.inline) {
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
      @media screen and (max-width: 460px) {
        .header__sub__menu:not(.inline) .header__sub__menu__item {
          -webkit-box-flex: 1;
              -ms-flex: 1 0 100%;
                  flex: 1 0 100%; } }
      @media screen and (max-width: 460px) {
        .header__sub__menu:not(.inline) .header__sub__menu__item a {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 24px;
          line-height: 2.4rem;
          padding: 0; } }
      .header__sub__menu__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; }
        .header__sub__menu__item img {
          height: 16px;
          width: 16px;
          margin-right: 4px;
          margin-top: 3px; }
        .header__sub__menu__item--custom img {
          height: auto;
          max-height: 24px;
          width: auto;
          margin-right: 0; }
        .header__sub__menu__item a {
          padding: 0 20px;
          color: #000;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          @media screen and (max-width: 640px) {
            .header__sub__menu__item a {
              padding: 0 10px; } }
          .header__sub__menu__item a:before {
            content: '';
            background-repeat: no-repeat;
            display: inline-block;
            height: 16px;
            width: 16px;
            margin-top: 3px;
            margin-right: 4px;
            min-width: 16px; }
          .header__sub__menu__item a:hover {
            text-decoration: underline; }
          .header__sub__menu__item a.downloads:before {
            background-image: url("../images/icon-downloads.svg"); }
          .header__sub__menu__item a.materiallist:before {
            background-image: url("../images/icon-materiallist.svg"); }
          .header__sub__menu__item a.login:before {
            background-image: url("../images/icon-login.svg"); }
          @media screen and (max-width: 768px) {
            .header__sub__menu__item a.language {
              padding: 0; } }
          .header__sub__menu__item a.language:before {
            display: none; }
          .header__sub__menu__item a.language figure {
            display: block; }
            .header__sub__menu__item a.language figure img {
              display: block;
              -o-object-fit: cover;
                 object-fit: cover;
              border-radius: 50%;
              height: 20px;
              width: 20px; }
              @media screen and (max-width: 768px) {
                .header__sub__menu__item a.language figure img {
                  height: 40px;
                  width: 40px;
                  min-width: 40px; } }
        .header__sub__menu__item--custom a {
          padding-left: 0; }
          .header__sub__menu__item--custom a:before {
            display: none; }
  .header__notify {
    background: #ffed00;
    text-align: center; }
    .header__notify__section {
      padding: 1.2rem 0; }
      @media screen and (max-width: 460px) {
        .header__notify__section__action {
          display: block;
          margin-top: 1.2rem; } }
    .header__notify__content {
      margin-right: 40px; }
    .header__notify__choose-link {
      margin-left: 20px; }
    .header__notify a {
      text-decoration: underline; }

#header-pusher {
  height: 18rem; }
  body.site-1 #header-pusher {
    height: 12rem; }
  body.header-hidden #header-pusher {
    height: 14.4rem; }

.doormat-dealer {
  background-image: url("../images/bg-doormat-dealer.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  min-height: 260px;
  position: relative; }
  .doormat-dealer::after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 640px) {
    .doormat-dealer {
      min-height: 0; } }
  .doormat-dealer a {
    color: #fff; }
  .doormat-dealer fieldset {
    margin-bottom: 1.2rem; }
  .doormat-dealer__content {
    padding: 4.8rem 0;
    text-align: center; }
    @media screen and (max-width: 640px) {
      .doormat-dealer__content {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%; }
        .doormat-dealer__content:last-child {
          margin-right: 0; } }
    .doormat-dealer__content__heading {
      color: #fff;
      margin-bottom: 1.2rem; }
    .doormat-dealer__content__subheading {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      margin-bottom: 2.4rem; }
  .doormat-dealer__image {
    background-image: url("../images/_dummy/footer-truck.jpg");
    background-position: left center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    width: 50%; }
    @media screen and (max-width: 640px) {
      .doormat-dealer__image {
        display: none; } }

.dealer-form {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 24px;
  line-height: 2.4rem;
  margin: 0 auto;
  width: 60%; }
  .dealer-form:after {
    clear: both;
    content: ''; }
  .dealer-form__text {
    border: 0;
    margin-right: 2%;
    width: calc( 98% - 185px); }
    @media screen and (max-width: 640px) {
      .dealer-form__text {
        margin-bottom: 1.2rem;
        width: 100%; } }
  .dealer-form__submit {
    -webkit-transition: background 0.3s ease-in-out;
    transition: background 0.3s ease-in-out;
    display: inline-block;
    width: auto;
    padding: 1.2rem 20px;
    color: #fff;
    text-align: center;
    text-decoration: none !important;
    border: 0;
    background: #ffed00;
    cursor: pointer;
    outline: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    color: #000;
    width: 175px; }
    .dealer-form__submit:hover {
      background-color: #004535;
      color: #fff; }
    .dealer-form__submit:active {
      background-color: #003428;
      color: #fff; }
    .dealer-form__submit.disabled {
      cursor: default; }
    @media screen and (max-width: 640px) {
      .dealer-form__submit {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 24px;
        line-height: 2.4rem;
        padding-bottom: 0.6rem;
        padding-top: 0.6rem; } }
    .dealer-form__submit:hover {
      background-color: #fff466;
      color: #000; }
    @media screen and (max-width: 640px) {
      .dealer-form__submit {
        width: 100%; } }
    .dealer-form__submit:hover {
      background-color: #d0e5da;
      color: #006950; }
    .dealer-form__submit:active {
      background-color: #bad3c6;
      color: #006950; }
    .dealer-form__submit .fa-search {
      -webkit-transform: scaleX(-1);
              transform: scaleX(-1);
      -webkit-filter: FlipH;
              filter: FlipH; }
  .dealer-form .location-detection {
    background-image: url("../images/icon-location.svg");
    background-position: left center;
    background-size: 11px 11px;
    background-repeat: no-repeat;
    padding-left: 15px;
    text-decoration: underline; }

.doormat-question {
  background: #e5e5e5; }
  .doormat-question::after {
    clear: both;
    content: "";
    display: block; }
  .doormat-question__content {
    background-image: url("../images/icon-builder.svg");
    background-position: left 16% top 45%;
    background-size: 101px 122px;
    background-repeat: no-repeat;
    padding: 4.8rem 0;
    text-align: center; }
    @media screen and (max-width: 640px) {
      .doormat-question__content {
        background: none; } }
    .doormat-question__content__heading {
      color: #006950; }
    .doormat-question__content__button {
      -webkit-transition: background 0.3s ease-in-out;
      transition: background 0.3s ease-in-out;
      display: inline-block;
      width: auto;
      padding: 1.2rem 20px;
      color: #fff;
      text-align: center;
      text-decoration: none !important;
      border: 0;
      background: #006950;
      cursor: pointer;
      outline: none;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem;
      margin-bottom: 2.4rem;
      padding-left: 50px;
      padding-right: 50px; }
      .doormat-question__content__button:hover {
        background-color: #004535;
        color: #fff; }
      .doormat-question__content__button:active {
        background-color: #003428;
        color: #fff; }
      .doormat-question__content__button.disabled {
        cursor: default; }
      @media screen and (max-width: 640px) {
        .doormat-question__content__button {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 24px;
          line-height: 2.4rem;
          padding-bottom: 0.6rem;
          padding-top: 0.6rem; } }
      .doormat-question__content__button--mobile {
        display: none; }
      @media screen and (max-width: 640px) {
        .doormat-question__content__button {
          display: inline-block;
          width: 90%; }
          .doormat-question__content__button img {
            margin: 0 15px -2px 0; } }

.doormat-case-studies {
  padding: 3.6rem 0; }
  .doormat-case-studies__heading {
    margin-bottom: 4.8rem;
    text-align: center; }

.get-in-touch {
  background-color: #ededed;
  background-image: url("../images/bg-quick-links.svg");
  background-size: cover;
  background-repeat: no-repeat;
  padding: 7.2rem 0; }
  .get-in-touch__header {
    margin-bottom: 4.8rem; }
    .get-in-touch__header__title {
      font-size: 55px;
      font-size: 5.5rem;
      line-height: 82.5px;
      line-height: 8.25rem;
      text-align: center;
      color: #000;
      font-weight: 300;
      margin-bottom: 0; }
  .get-in-touch__entries {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media screen and (max-width: 1280px) {
      .get-in-touch__entries {
        margin: 0 auto;
        max-width: 600px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .get-in-touch__entries__entry {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1;
      -ms-flex-preferred-size: calc( 100% / 4 - 40px);
          flex-basis: calc( 100% / 4 - 40px); }
      @media screen and (max-width: 1280px) {
        .get-in-touch__entries__entry {
          -ms-flex-preferred-size: calc( 100% / 2 - 40px);
              flex-basis: calc( 100% / 2 - 40px);
          max-width: 300px;
          margin-bottom: 2.4rem; } }
      @media screen and (max-width: 640px) {
        .get-in-touch__entries__entry {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%; } }
      .get-in-touch__entries__entry__link {
        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;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
      .get-in-touch__entries__entry__icon {
        margin-bottom: 2.4rem;
        max-width: 150px;
        width: 60%; }
        @media screen and (max-width: 640px) {
          .get-in-touch__entries__entry__icon {
            max-width: 50%;
            width: 50%; } }
      .get-in-touch__entries__entry__label {
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 36px;
        line-height: 3.6rem;
        font-weight: 600;
        color: #000;
        width: 100%;
        text-align: center;
        display: block; }
        @media screen and (max-width: 1280px) {
          .get-in-touch__entries__entry__label {
            font-size: 18px;
            font-size: 1.8rem;
            line-height: 27px;
            line-height: 2.7rem; } }
        @media screen and (max-width: 640px) {
          .get-in-touch__entries__entry__label {
            font-size: 24px;
            font-size: 2.4rem;
            line-height: 36px;
            line-height: 3.6rem; } }

.footer {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 27px;
  line-height: 2.7rem;
  line-height: 30px;
  background: #006950;
  color: #fff;
  padding: 50px 0 0; }
  .site-1 .footer {
    padding: 0; }
  .footer a {
    color: #fff;
    text-decoration: underline; }
    .footer a:hover {
      color: #e8ecea; }
    .footer a.button {
      color: #000; }

.footer-widgets {
  padding: 50px 0; }
  .footer-widgets .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .footer-widgets__sidebar {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1; }
    .footer-widgets__sidebar__menu {
      -ms-flex-preferred-size: calc( 100% / 12 * 3 - 40px);
          flex-basis: calc( 100% / 12 * 3 - 40px); }
      @media screen and (max-width: 640px) {
        .footer-widgets__sidebar__menu {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          margin-bottom: 2.4rem; } }
      .footer-widgets__sidebar__menu__logo {
        max-width: 180px;
        display: block; }
        .footer-widgets__sidebar__menu__logo img {
          max-width: 100%;
          height: auto; }
      .footer-widgets__sidebar__menu__navigation li {
        line-height: 30px;
        padding-left: 20px;
        position: relative; }
        .footer-widgets__sidebar__menu__navigation li:before {
          content: '';
          height: 7px;
          width: 7px;
          background-color: #fff;
          display: inline-block;
          margin-right: 4px;
          position: absolute;
          top: 12px;
          left: 0; }
    .footer-widgets__sidebar__text, .footer-widgets__sidebar__newsletter {
      -ms-flex-preferred-size: calc( 100% / 12 * 4 - 40px);
          flex-basis: calc( 100% / 12 * 4 - 40px); }
      @media screen and (max-width: 640px) {
        .footer-widgets__sidebar__text, .footer-widgets__sidebar__newsletter {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          margin-bottom: 2.4rem; } }
    .footer-widgets__sidebar__text__tagline {
      font-size: 36px;
      font-size: 3.6rem;
      line-height: 54px;
      line-height: 5.4rem;
      font-weight: 400;
      color: #ffed00; }
    .footer-widgets__sidebar__newsletter .widget-title {
      font-weight: 600; }
    .footer-widgets__sidebar__newsletter form {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    .footer-widgets__sidebar__newsletter .gform_body {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    .footer-widgets__sidebar__newsletter input[type="submit"] {
      color: #000;
      width: 50px;
      height: 50px;
      padding: 0;
      border-radius: 0;
      position: relative;
      background-color: #ffed00; }
      .footer-widgets__sidebar__newsletter input[type="submit"]:hover {
        background-color: #ffed00; }
    .footer-widgets__sidebar__newsletter__form-header {
      color: #ffed00; }

.footer-navigation {
  border-bottom: 1px solid #e8ecea;
  padding: 4.8rem 0 2.4rem 0; }
  .footer-navigation::after {
    clear: both;
    content: "";
    display: block; }
  .footer-navigation .column {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    margin-bottom: 2.4rem; }
    .footer-navigation .column:last-child {
      margin-right: 0; }
    .footer-navigation .column:nth-child(4n) {
      margin-right: 0; }
    .footer-navigation .column:nth-child(4n+1) {
      clear: left; }
    @media screen and (max-width: 768px) {
      .footer-navigation .column {
        float: left;
        display: block;
        margin-right: 3.52941%;
        width: 48.23529%; }
        .footer-navigation .column:nth-child(4n) {
          margin-right: 3.52941%; }
        .footer-navigation .column:nth-child(4n+1) {
          clear: none; }
        .footer-navigation .column:last-child {
          margin-right: 0; }
        .footer-navigation .column:nth-child(2n) {
          margin-right: 0; }
        .footer-navigation .column:nth-child(2n+1) {
          clear: left; } }
    @media screen and (max-width: 640px) {
      .footer-navigation .column {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%; }
        .footer-navigation .column:nth-child(2n) {
          margin-right: 7.31707%; }
        .footer-navigation .column:nth-child(2n+1) {
          clear: none; }
        .footer-navigation .column:last-child {
          margin-right: 0; } }
    .footer-navigation .column h4 {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 24px;
      line-height: 2.4rem;
      margin-bottom: 0.6rem; }
    .footer-navigation .column ul {
      margin-left: 17px; }
      .footer-navigation .column ul li {
        list-style: square;
        margin-bottom: 0.6rem; }
        .footer-navigation .column ul li.last {
          margin-top: 3.6rem; }
    .footer-navigation .column--contact h4 {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem;
      margin-bottom: 2.4rem; }
    .footer-navigation .column--contact ul {
      list-style: none;
      margin-left: 0; }
      .footer-navigation .column--contact ul li {
        list-style: none;
        margin-bottom: 1.2rem; }
    .footer-navigation .column--contact__item {
      background-position: left center;
      background-repeat: no-repeat;
      padding-left: 25px; }
      .footer-navigation .column--contact__item--phone {
        font-size: 21px;
        font-size: 2.1rem;
        line-height: 31.5px;
        line-height: 3.15rem;
        background-image: url("../images/icon-telephone-white.svg");
        background-size: 16px 16px; }
      .footer-navigation .column--contact__item--mail {
        background-image: url("../images/icon-mail-white.svg");
        background-size: 14px 10px; }
      .footer-navigation .column--contact__item--contact {
        background-image: url("../images/icon-contact-white.svg");
        background-size: 13px 14px; }

.footer-newsletter {
  padding: 4.8rem 0; }
  @media screen and (max-width: 768px) {
    .footer-newsletter {
      padding-bottom: 0; } }
  .footer-newsletter__form,
  .footer-newsletter form {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 65.89147%;
    overflow: hidden; }
    .footer-newsletter__form:last-child,
    .footer-newsletter form:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .footer-newsletter__form,
      .footer-newsletter form {
        clear: both;
        display: block;
        float: none;
        width: 100%;
        margin-bottom: 2.4rem; } }
    .footer-newsletter__form .gfield_label,
    .footer-newsletter form .gfield_label {
      display: none; }
    .footer-newsletter__form__text,
    .footer-newsletter__form .gform_body,
    .footer-newsletter form__text,
    .footer-newsletter form .gform_body {
      margin-right: 10px;
      width: 60%; }
      @media screen and (max-width: 768px) {
        .footer-newsletter__form__text,
        .footer-newsletter__form .gform_body,
        .footer-newsletter form__text,
        .footer-newsletter form .gform_body {
          width: 50%; } }
      @media screen and (max-width: 640px) {
        .footer-newsletter__form__text,
        .footer-newsletter__form .gform_body,
        .footer-newsletter form__text,
        .footer-newsletter form .gform_body {
          display: block;
          margin-bottom: 10px;
          width: 100%; } }
    .footer-newsletter__form .gform_body,
    .footer-newsletter__form .gform_footer,
    .footer-newsletter form .gform_body,
    .footer-newsletter form .gform_footer {
      clear: none;
      float: left; }
    .footer-newsletter__form__submit,
    .footer-newsletter__form .gform_button,
    .footer-newsletter form__submit,
    .footer-newsletter form .gform_button {
      -webkit-transition: background 0.3s ease-in-out;
      transition: background 0.3s ease-in-out;
      display: inline-block;
      width: auto;
      padding: 1.2rem 20px;
      color: #fff;
      text-align: center;
      text-decoration: none !important;
      border: 0;
      background: #ffed00;
      cursor: pointer;
      outline: none;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      color: #000; }
      .footer-newsletter__form__submit:hover,
      .footer-newsletter__form .gform_button:hover,
      .footer-newsletter form__submit:hover,
      .footer-newsletter form .gform_button:hover {
        background-color: #004535;
        color: #fff; }
      .footer-newsletter__form__submit:active,
      .footer-newsletter__form .gform_button:active,
      .footer-newsletter form__submit:active,
      .footer-newsletter form .gform_button:active {
        background-color: #003428;
        color: #fff; }
      .footer-newsletter__form__submit.disabled,
      .footer-newsletter__form .gform_button.disabled,
      .footer-newsletter form__submit.disabled,
      .footer-newsletter form .gform_button.disabled {
        cursor: default; }
      @media screen and (max-width: 640px) {
        .footer-newsletter__form__submit,
        .footer-newsletter__form .gform_button,
        .footer-newsletter form__submit,
        .footer-newsletter form .gform_button {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 24px;
          line-height: 2.4rem;
          padding-bottom: 0.6rem;
          padding-top: 0.6rem; } }
      .footer-newsletter__form__submit:hover,
      .footer-newsletter__form .gform_button:hover,
      .footer-newsletter form__submit:hover,
      .footer-newsletter form .gform_button:hover {
        background-color: #fff466;
        color: #000; }
      @media screen and (max-width: 640px) {
        .footer-newsletter__form__submit,
        .footer-newsletter__form .gform_button,
        .footer-newsletter form__submit,
        .footer-newsletter form .gform_button {
          display: block;
          width: 100%; } }
  .footer-newsletter__social {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 31.78295%;
    float: right;
    text-align: right; }
    .footer-newsletter__social:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .footer-newsletter__social {
        clear: both;
        display: block;
        float: none;
        width: 100%; } }
    @media screen and (max-width: 640px) {
      .footer-newsletter__social {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%;
        text-align: left; }
        .footer-newsletter__social:last-child {
          margin-right: 0; } }
  .footer-newsletter .social-links li {
    display: inline-block; }
  .footer-newsletter .social-links__item {
    -webkit-transition: color 0.2s ease-in-out;
    transition: color 0.2s ease-in-out;
    font-size: 35px;
    font-size: 3.5rem;
    line-height: 52.5px;
    line-height: 5.25rem;
    margin-left: 20px; }
    .footer-newsletter .social-links__item:hover {
      color: #e8ecea; }

.footer-bottom {
  background: #fff;
  color: #000;
  padding: 4.8rem 0; }
  @media screen and (max-width: 768px) {
    .footer-bottom {
      padding-bottom: 7.2rem; } }
  .footer-bottom .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .footer-bottom .wrapper:after {
      display: none; }
  .footer-bottom a {
    color: #000;
    text-decoration: underline; }
  .footer-bottom__links {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 60%;
            flex: 0 1 60%; }
    @media screen and (max-width: 768px) {
      .footer-bottom__links {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  .footer-bottom__social {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 40%;
            flex: 0 1 40%; }
    @media screen and (max-width: 768px) {
      .footer-bottom__social {
        -webkit-box-ordinal-group: 1;
            -ms-flex-order: 0;
                order: 0;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%; } }
    .footer-bottom__social .social-links {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .footer-bottom__social .social-links li {
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -ms-flex-negative: 1;
            flex-shrink: 1;
        -ms-flex-preferred-size: auto;
            flex-basis: auto;
        margin: 0 20px 0 0; }
        .footer-bottom__social .social-links li a svg {
          display: inline-block;
          height: 30px;
          width: auto;
          fill: #006950; }
        .footer-bottom__social .social-links li a:hover svg {
          fill: #e8ecea; }
    .footer-bottom__social a {
      color: #006950; }

.copyright {
  display: none; }

.disable-cookies {
  display: none; }
  @media screen and (max-width: 768px) {
    .disable-cookies {
      display: inline; } }

.search-block {
  position: relative; }
  .search-block ul {
    margin-bottom: 0 !important; }
  .search-block .pagination {
    margin: 0;
    padding: 1.2rem 30px; }
    .search-block .pagination::after {
      clear: both;
      content: "";
      display: block; }
    .search-block .pagination .prev {
      float: left; }
    .search-block .pagination .next {
      float: right; }

#walraven_ajax_loader {
  position: absolute;
  top: calc( 50% - 50px);
  left: 50%;
  margin: -27px 0 0 -27px;
  width: 54px;
  height: 55px; }

.searchform {
  -webkit-transition: margin-top 0.2s ease-in-out;
  transition: margin-top 0.2s ease-in-out;
  background: #fff;
  position: relative; }
  .searchform::after {
    clear: both;
    content: "";
    display: block; }
  .searchform--content {
    margin-bottom: 4.8rem; }
    .searchform--content fieldset {
      border: 1px solid #e8ecea;
      margin-bottom: 1.2rem;
      position: relative; }
  .searchform__select {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 24px;
    line-height: 2.4rem;
    background-color: #d3dbd7;
    background-position: right 10px top 19px;
    border: 0;
    color: #000;
    float: left;
    height: 4.8rem;
    padding-bottom: 12px;
    padding-right: 10px;
    padding-top: 10px;
    width: 20%; }
    @media screen and (max-width: 880px) {
      .searchform__select {
        display: none; } }
    .searchform__select:hover {
      background-position: right 10px top 21px; }
  .searchform .twitter-typeahead {
    float: left;
    margin: 0;
    width: 100%;
    background: #fff; }
  .searchform__text {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 24px;
    line-height: 2.4rem;
    background: none;
    border: 0;
    display: block;
    padding: 4px 30px 4px 15px;
    width: 100%;
    min-height: 32px; }
    body.no-search .searchform__text {
      float: left;
      margin: 0;
      width: 79%; }
  .searchform__submit {
    border: 0;
    border-radius: 0;
    color: #000;
    padding: 0 10px;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 4.8rem;
    background: #fff;
    border-left: 1px solid #cce1dc; }
    @media screen and (max-width: 640px) {
      .searchform__submit {
        background-position: right 10px top 50%;
        text-indent: 0;
        padding-right: 15px;
        width: auto; } }
    .searchform__submit .fa-search {
      -webkit-transform: scaleX(-1);
              transform: scaleX(-1);
      -webkit-filter: FlipH;
              filter: FlipH; }
    .searchform__submit__text {
      display: none; }
  .searchform .search-suggestion {
    font-style: italic; }

.navigation {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  margin-top: 20px;
  -webkit-transition: margin-top 0.2s;
  transition: margin-top 0.2s; }
  @media screen and (max-width: 960px) {
    .navigation {
      display: none;
      position: absolute;
      top: 68px;
      margin-top: 0;
      padding-bottom: 20px;
      overflow-y: scroll;
      overflow-x: hidden; } }
  @media screen and (max-width: 640px) {
    .navigation {
      top: 119px; } }
  .header--hidden .navigation {
    margin-top: 0; }
    @media screen and (max-width: 960px) {
      .header--hidden .navigation {
        padding: 0 20px;
        position: fixed;
        top: 90px;
        height: calc(100% - 110px); } }
  .navigation__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    /**
         * General menu item styling
         */
    /**
         * Styling sub menu.
         * Since there are more than one sub menu's, this styling only applies to the first 'layer'
         *
         * Use focus-within for accessibility, this makes the menu keyboard friendly.
         */ }
    @media screen and (max-width: 960px) {
      .navigation__list {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        display: block; } }
    .navigation__list a[href="#"], .navigation__list a[href=""], .navigation__list a:not([href]) {
      cursor: default; }
    .navigation__list .menu-item > a {
      line-height: 3rem;
      padding-bottom: 10px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    .navigation__list .menu-item a {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem;
      color: #fff; }
    .navigation__list > .menu-item {
      border-bottom: 1px solid transparent;
      /**
             * This has to be a separate selector because of... what else IE and Edge.
             * IE and Edge don't recognize :focus-within, therefore it has to be a separate selector.
             */ }
      .navigation__list > .menu-item-has-children {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        @media screen and (max-width: 960px) {
          .navigation__list > .menu-item-has-children {
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
        .navigation__list > .menu-item-has-children:hover:after, .navigation__list > .menu-item-has-children:focus-within:after {
          border-top-color: #fff; }
        .navigation__list > .menu-item-has-children:after {
          content: "";
          border: 5px solid transparent;
          border-top-color: #dfeeff;
          border-top-color: rgba(255, 255, 255, 0.5);
          margin-left: 20px; }
          @media screen and (max-width: 960px) {
            .navigation__list > .menu-item-has-children:after {
              display: none; } }
        .navigation__list > .menu-item-has-children > a {
          font-size: 20px;
          font-size: 2rem;
          line-height: 30px;
          line-height: 3rem; }
          @media screen and (max-width: 960px) {
            .navigation__list > .menu-item-has-children > a {
              -webkit-box-flex: 1;
                  -ms-flex: 1 0 100%;
                      flex: 1 0 100%;
              border-bottom: 1px solid transparent;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-pack: justify;
                  -ms-flex-pack: justify;
                      justify-content: space-between;
              -webkit-box-align: center;
                  -ms-flex-align: center;
                      align-items: center; } }
          .navigation__list > .menu-item-has-children > a:after {
            display: none; }
            @media screen and (max-width: 960px) {
              .navigation__list > .menu-item-has-children > a:after {
                content: "";
                border: 5px solid transparent;
                border-top-color: #dfeeff;
                border-top-color: rgba(255, 255, 255, 0.5);
                margin-left: 20px;
                display: block; } }
      .navigation__list > .menu-item:hover, .navigation__list > .menu-item.focus-within {
        border-bottom-color: #fff; }
        @media screen and (max-width: 960px) {
          .navigation__list > .menu-item:hover, .navigation__list > .menu-item.focus-within {
            border-bottom-color: transparent; } }
        .navigation__list > .menu-item:hover > .sub-menu,
        .navigation__list > .menu-item:hover > .sub-menu:before, .navigation__list > .menu-item.focus-within > .sub-menu,
        .navigation__list > .menu-item.focus-within > .sub-menu:before {
          opacity: 1;
          visibility: visible;
          overflow: visible; }
        @media screen and (max-width: 960px) {
          .navigation__list > .menu-item:hover > a, .navigation__list > .menu-item.focus-within > a {
            border-bottom-color: #fff; } }
      .navigation__list > .menu-item:focus-within > .sub-menu,
      .navigation__list > .menu-item:focus-within > .sub-menu:before {
        opacity: 1;
        visibility: visible;
        overflow: visible; }
      .navigation__list > .menu-item > .sub-menu {
        position: absolute;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        top: 30px;
        right: 0;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: all .3s ease .15s;
        transition: all .3s ease .15s;
        padding-top: 20px;
        /**
                 * Apply the green full width background.
                 */
        /**
                 * Make the first sub menu link bold.
                 */ }
        @media screen and (max-width: 960px) {
          .navigation__list > .menu-item > .sub-menu {
            position: static;
            display: none;
            visibility: visible;
            opacity: 1;
            padding: 0 20px 10px;
            -webkit-transition: none;
            transition: none; } }
        .navigation__list > .menu-item > .sub-menu:before {
          height: 100%;
          content: "";
          background: #006950;
          width: 200vw;
          position: absolute;
          left: -100vw;
          z-index: -1;
          visibility: hidden;
          -webkit-transition: all .3s ease .15s;
          transition: all .3s ease .15s; }
        .navigation__list > .menu-item > .sub-menu > .menu-item {
          margin-top: 20px; }
          .navigation__list > .menu-item > .sub-menu > .menu-item:not(:last-of-type) {
            margin-right: 4.8rem; }
          .navigation__list > .menu-item > .sub-menu > .menu-item > a {
            font-weight: 600; }
      @media screen and (max-width: 960px) {
        .navigation__list > .menu-item .sub-menu .sub-menu {
          padding-left: 20px; } }
      .navigation__list > .menu-item .sub-menu .sub-menu a {
        color: #d3dbd7; }
        .navigation__list > .menu-item .sub-menu .sub-menu a:hover {
          color: #fff; }

.navigation-label {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  display: none; }
  @media screen and (max-width: 960px) {
    .navigation-label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding-top: 4px;
      text-align: right;
      margin-left: auto; } }
  @media screen and (max-width: 640px) {
    .navigation-label {
      text-align: center;
      margin-top: 0;
      -webkit-box-flex: 0;
          -ms-flex: 0 1 70px;
              flex: 0 1 70px; } }
  @media screen and (max-width: 320px) {
    .navigation-label {
      padding: 0; } }
  .navigation-label__button {
    display: inline-block;
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    width: auto;
    min-width: 78px; }
    .navigation-label__button::after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 640px) {
      .navigation-label__button {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        min-width: auto; } }
    @media screen and (max-width: 320px) {
      .navigation-label__button {
        min-width: auto; } }
    .navigation-label__button__label {
      color: #fff;
      float: left;
      padding-top: 6px; }
      @media screen and (max-width: 640px) {
        .navigation-label__button__label {
          float: none;
          -webkit-box-ordinal-group: 2;
              -ms-flex-order: 1;
                  order: 1;
          width: 100%;
          text-align: right; } }
    .navigation-label__button__bars {
      background: #fff;
      float: right;
      height: 2px;
      margin-left: 10px;
      margin-top: 17px;
      position: relative;
      width: 20px;
      -webkit-transition: 0.5s;
      transition: 0.5s; }
      @media screen and (max-width: 640px) {
        .navigation-label__button__bars {
          float: none;
          margin-left: 0;
          margin-top: 0;
          top: -13px; } }
      @media screen and (max-width: 320px) {
        .navigation-label__button__bars {
          margin: 0;
          top: -14px; } }
      .navigation-label__button__bars:before, .navigation-label__button__bars:after {
        background: #fff;
        content: '';
        display: block;
        height: 2px;
        width: 20px;
        opacity: .99;
        position: absolute;
        -webkit-transition: 0.25s;
        transition: 0.25s;
        z-index: 1; }
      .navigation-label__button__bars:before {
        top: 7px; }
      .navigation-label__button__bars:after {
        top: -7px; }
  .navigation-label.active .menu-bars {
    background: transparent; }
    .navigation-label.active .menu-bars:before {
      top: 0;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .navigation-label.active .menu-bars:after {
      top: 0;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }

.breadcrumbs {
  -webkit-transition: padding 0.2s linear;
  transition: padding 0.2s linear;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem;
  padding-bottom: 20px;
  padding-top: 20px;
  color: #d3dbd7;
  border-bottom: 1px solid #c0c1c2;
  margin-bottom: 2.4rem; }
  .breadcrumbs a {
    color: #c0c1c2; }
    .breadcrumbs a:hover {
      border-color: #004535; }
  .breadcrumbs .breadcrumb_last {
    color: #000; }

.tt-dropdown-menu {
  background: #fff;
  padding: 10px 0;
  width: 400px;
  z-index: 9999;
  border: 1px solid #e8ecea;
  margin-top: -2px;
  border-radius: 0 0 4px 4px; }
  .searchform-content .tt-dropdown-menu {
    width: 100%; }
  .tt-dropdown-menu .tt-dataset-autocomplete {
    border-top: 1px solid #d3dbd7;
    padding-top: 10px; }
    .tt-dropdown-menu .tt-dataset-autocomplete .tt-suggestion {
      clear: both;
      overflow: hidden;
      padding-left: 80px; }
      .tt-dropdown-menu .tt-dataset-autocomplete .tt-suggestion img {
        float: left;
        margin-left: -70px; }
      .tt-dropdown-menu .tt-dataset-autocomplete .tt-suggestion .text {
        padding-top: 5px; }
        .tt-dropdown-menu .tt-dataset-autocomplete .tt-suggestion .text--no-image {
          margin-left: -70px; }
      .tt-dropdown-menu .tt-dataset-autocomplete .tt-suggestion .overview {
        border: 0;
        margin-bottom: 0; }
  .tt-dropdown-menu .tt-suggestion {
    cursor: pointer;
    padding: 0.6rem 10px; }
    .tt-dropdown-menu .tt-suggestion p {
      padding: 0;
      margin: 0; }
  .tt-dropdown-menu .tt-cursor {
    background: #d3dbd7; }

.searchform-content .twitter-typeahead {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 82.94574%; }
  .searchform-content .twitter-typeahead:last-child {
    margin-right: 0; }
  @media screen and (max-width: 768px) {
    .searchform-content .twitter-typeahead {
      float: left;
      display: block;
      margin-right: 3.52941%;
      width: 100%; }
      .searchform-content .twitter-typeahead:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 320px) {
    .searchform-content .twitter-typeahead {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 100%;
      margin-bottom: 1.2rem; }
      .searchform-content .twitter-typeahead:last-child {
        margin-right: 0; } }

.tt-hint {
  display: none !important; }

.anchor-nav {
  margin-bottom: 4.8rem; }
  @media screen and (max-width: 640px) {
    .anchor-nav {
      display: none; } }
  .anchor-nav .wrapper {
    background: #006950;
    padding: 20px 20px calc( 20px - 0.6rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .anchor-nav__label {
    font-size: 20px;
    font-size: 2rem;
    line-height: 30px;
    line-height: 3rem;
    font-weight: 600;
    color: #fff;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 12 * 4 - 20px);
        flex-basis: calc( 100% / 12 * 4 - 20px);
    min-width: 250px;
    padding-right: 20px;
    display: none; }
  .anchor-nav .anchor-nav__items {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    margin: 0; }
    .anchor-nav .anchor-nav__items li {
      display: inline-block; }
      .anchor-nav .anchor-nav__items li:before {
        display: none; }
  .anchor-nav--sticky {
    width: 100% !important;
    left: 0;
    z-index: 10;
    margin-bottom: 0;
    margin-top: 88px;
    -webkit-transition: margin-top 0.2s;
    transition: margin-top 0.2s; }
    body.header-hidden .anchor-nav--sticky {
      margin-top: 0; }
    .anchor-nav--sticky .anchor-nav__label {
      display: block; }
    .anchor-nav--sticky .anchor-nav__items {
      max-width: 1220px;
      margin: 0 auto;
      border-radius: 10px; }
  .anchor-nav__item {
    display: inline-block;
    margin-right: 20px;
    color: #fff; }
    .anchor-nav__item--current, .anchor-nav__item:hover {
      color: #ffed00; }
  .anchor-nav__productgroup-code {
    color: #fff; }

.pagination {
  clear: both;
  margin: 2.4rem 0;
  text-align: center; }
  .page-template-tpl-downloads .pagination {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .pagination .page-numbers {
    border: 1px solid #d3dbd7;
    display: inline-block;
    margin: 0 4px;
    padding: 2px 10px; }
    .pagination .page-numbers.prev, .pagination .page-numbers.next {
      background: #e5e5e5; }
  .pagination .current {
    background: #006950;
    border-color: #006950;
    color: #fff; }
    .pagination .current__label {
      display: inline-block;
      margin-right: 10px; }
    .pagination .current__select {
      padding-bottom: 0.6rem;
      padding-top: 0.6rem; }

.page-title {
  margin-bottom: 2.4rem; }
  .page-title h1 {
    color: #006950;
    margin: 0; }

.content {
  margin-top: 2.4rem; }
  .content__main-heading {
    color: #000;
    margin-bottom: 0; }
    body.site-1 .content__main-heading {
      margin-top: 2.4rem; }
  .content__section {
    margin-bottom: 2.4rem; }
    .content__section::after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 640px) {
      .content__section {
        margin-bottom: 0; } }
    .content__section--lightgrey {
      background: #e8ecea;
      padding-bottom: 2.4rem;
      padding-top: 2.4rem;
      margin-bottom: 0; }
    .content__section--white {
      padding-top: 2.4rem; }
    .content__section__meta {
      font-style: italic;
      margin-top: -1.2rem; }
      body.single .content__section__meta {
        border-bottom: 1px solid #e8ecea;
        margin-bottom: 2.4rem;
        padding-bottom: 1.2rem; }
    .content__section__content-wrapper {
      display: grid;
      grid-template-columns: 780px 1fr;
      grid-column-gap: 40px; }
      @media screen and (max-width: 768px) {
        .content__section__content-wrapper {
          display: block; } }
    .content__section__content {
      border-bottom: 1px solid #e8ecea;
      margin-bottom: 2.4rem; }
      .content__section__content::after {
        clear: both;
        content: "";
        display: block; }
      @media screen and (max-width: 960px) {
        .content__section__content {
          padding-right: 0; } }
      .content__section__content:after {
        clear: both;
        content: ''; }
      .content__section__content--has-image::after {
        clear: both;
        content: "";
        display: block; }
      .content__section__content--has-image .content__section__content__image {
        float: left;
        display: block;
        margin-right: 2.32558%;
        width: 23.25581%; }
        .content__section__content--has-image .content__section__content__image:last-child {
          margin-right: 0; }
      .content__section__content--has-image .content__section__content__text {
        float: left;
        display: block;
        margin-right: 2.32558%;
        width: 74.4186%; }
        .content__section__content--has-image .content__section__content__text:last-child {
          margin-right: 0; }
      .content__section__content--has-image .content__section__meta {
        margin-top: 0; }
      .content__section__content .search-term {
        background: #fdecc0;
        padding: 3px; }
      .content__section__content a {
        text-decoration: underline; }
        .blog .content__section__content a {
          text-decoration: none; }
  .content h2 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 36px;
    line-height: 3.6rem;
    color: #006950;
    margin-bottom: 2.4rem; }
  .content h3 {
    font-size: 19px;
    font-size: 1.9rem;
    line-height: 28.5px;
    line-height: 2.85rem;
    color: #006950;
    margin-bottom: 2.4rem; }
  .content h4 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
    line-height: 2.4rem;
    color: #000;
    margin-bottom: 0; }
  .content img {
    max-width: 100%;
    height: auto; }
  .content ul,
  .content ol {
    margin: 0 0 2.4rem 30px; }
    .content ul ul,
    .content ul ol,
    .content ol ul,
    .content ol ol {
      margin-bottom: 1.2rem; }
  .content ol {
    margin-left: 25px; }
  .content ul li,
  .content ol ul li {
    background: none;
    list-style: none;
    margin-bottom: 0.6rem;
    padding-left: 20px;
    position: relative; }
    .content ul li:before,
    .content ol ul li:before {
      background: #006950;
      content: '';
      height: 7px;
      left: 0;
      position: absolute;
      top: 8px;
      width: 7px; }
  .content ol ul li:before,
  .content ul ul li:before {
    background: #7f7f7f; }
  .content ol li,
  .content ul ol li {
    background: none;
    list-style-type: decimal;
    margin-bottom: 1.2rem;
    padding-left: 0; }
  .content hr {
    background: #e8ecea;
    border: 0;
    height: 1px; }
  .content .gallery {
    margin-bottom: 2.4rem; }
    .content .gallery::after {
      clear: both;
      content: "";
      display: block; }
    .content .gallery .gallery-item {
      float: left;
      display: block;
      margin-right: 2.32558%;
      width: 31.78295%;
      margin-bottom: 2.4rem; }
      .content .gallery .gallery-item:last-child {
        margin-right: 0; }
      .content .gallery .gallery-item:nth-child(3n) {
        margin-right: 0; }
      .content .gallery .gallery-item:nth-child(3n+1) {
        clear: left; }
    .content .gallery-columns-2 .gallery-item {
      float: left;
      display: block;
      margin-right: 2.32558%;
      width: 48.83721%; }
      .content .gallery-columns-2 .gallery-item:nth-child(3n) {
        margin-right: 2.32558%; }
      .content .gallery-columns-2 .gallery-item:nth-child(3n+1) {
        clear: none; }
      .content .gallery-columns-2 .gallery-item:last-child {
        margin-right: 0; }
      .content .gallery-columns-2 .gallery-item:nth-child(2n) {
        margin-right: 0; }
      .content .gallery-columns-2 .gallery-item:nth-child(2n+1) {
        clear: left; }
    .content .gallery-columns-4 .gallery-item {
      float: left;
      display: block;
      margin-right: 2.32558%;
      width: 23.25581%; }
      .content .gallery-columns-4 .gallery-item:nth-child(3n) {
        margin-right: 2.32558%; }
      .content .gallery-columns-4 .gallery-item:nth-child(3n+1) {
        clear: none; }
      .content .gallery-columns-4 .gallery-item:last-child {
        margin-right: 0; }
      .content .gallery-columns-4 .gallery-item:nth-child(4n) {
        margin-right: 0; }
      .content .gallery-columns-4 .gallery-item:nth-child(4n+1) {
        clear: left; }
    .content .gallery-columns-5 .gallery-item, .content .gallery-columns-6 .gallery-item {
      float: left;
      display: block;
      margin-right: 2.32558%;
      width: 14.72868%; }
      .content .gallery-columns-5 .gallery-item:nth-child(3n), .content .gallery-columns-6 .gallery-item:nth-child(3n) {
        margin-right: 2.32558%; }
      .content .gallery-columns-5 .gallery-item:nth-child(3n+1), .content .gallery-columns-6 .gallery-item:nth-child(3n+1) {
        clear: none; }
      .content .gallery-columns-5 .gallery-item:last-child, .content .gallery-columns-6 .gallery-item:last-child {
        margin-right: 0; }
      .content .gallery-columns-5 .gallery-item:nth-child(6n), .content .gallery-columns-6 .gallery-item:nth-child(6n) {
        margin-right: 0; }
      .content .gallery-columns-5 .gallery-item:nth-child(6n+1), .content .gallery-columns-6 .gallery-item:nth-child(6n+1) {
        clear: left; }
    @media screen and (max-width: 640px) {
      .content .gallery .gallery-item {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 46.34146%; }
        .content .gallery .gallery-item:nth-child(2n) {
          margin-right: 7.31707%; }
        .content .gallery .gallery-item:nth-child(2n+1) {
          clear: none; }
        .content .gallery .gallery-item:nth-child(3n) {
          margin-right: 7.31707%; }
        .content .gallery .gallery-item:nth-child(3n+1) {
          clear: none; }
        .content .gallery .gallery-item:nth-child(4n) {
          margin-right: 7.31707%; }
        .content .gallery .gallery-item:nth-child(4n+1) {
          clear: none; }
        .content .gallery .gallery-item:nth-child(6n) {
          margin-right: 7.31707%; }
        .content .gallery .gallery-item:nth-child(6n+1) {
          clear: none; }
        .content .gallery .gallery-item:last-child {
          margin-right: 0; }
        .content .gallery .gallery-item:nth-child(2n) {
          margin-right: 0; }
        .content .gallery .gallery-item:nth-child(2n+1) {
          clear: left; } }

.job-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (max-width: 960px) {
    .job-buttons {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (max-width: 960px) {
    .job-buttons a {
      margin: 0 10px 1.2rem 10px; } }
  @media screen and (max-width: 460px) {
    .job-buttons a {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 100%;
              flex: 0 1 100%; } }

p a {
  text-decoration: underline; }
  .blog p a {
    text-decoration: none; }

.country-overview {
  text-align: left; }
  .country-overview::after {
    clear: both;
    content: "";
    display: block; }
  body:not(.site-1) .country-overview {
    -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); }
  .country-overview:last-of-type {
    margin-bottom: 2.4rem; }
  .country-overview--top, .country-overview--bottom {
    background: #fff;
    display: none;
    padding: 2.4rem 20px;
    position: absolute;
    width: 100%;
    z-index: 300; }
  .country-overview--top {
    border-bottom: 1px solid #e8ecea;
    -webkit-box-shadow: 0 6px 23px -7px rgba(0, 0, 0, 0.4);
            box-shadow: 0 6px 23px -7px rgba(0, 0, 0, 0.4); }
  .country-overview--bottom {
    position: absolute;
    top: 0; }
  .country-overview__close {
    float: right; }
    .country-overview__close:hover {
      text-decoration: underline; }
  .country-overview__continent {
    border-bottom: 1px solid #e8ecea;
    padding: 1.2rem 0; }
  .country-overview__international {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 33px;
    line-height: 3.3rem;
    margin-top: 10px; }
    .country-overview__international img {
      margin-right: 15px; }

.filter {
  border-left: 2px solid #006950;
  margin-bottom: 4.8rem;
  position: relative; }
  .filter.is-mobile {
    background: none;
    border-left: 2px solid #e5e5e5;
    border-right: 2px solid #e5e5e5;
    margin-top: -4.8rem;
    padding: 4.8rem 20px 1.2rem 20px; }
    .filter.is-mobile .filter__heading {
      display: none; }
  .filter__heading {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 36px;
    line-height: 3.6rem;
    background: #e5e5e5;
    color: #000;
    font-weight: normal;
    padding: 1.2rem 10px 1.2rem 20px; }
  .filter__section {
    margin-bottom: 2.4rem;
    padding: 0 20px 2.4rem 20px; }
    .filter__section__heading {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem;
      border-bottom: 1px solid #e5e5e5;
      color: #006950;
      cursor: pointer;
      margin-bottom: 1.2rem;
      padding-bottom: 0.6rem; }
    .filter__section__content {
      max-height: 300px;
      overflow-y: auto; }
    .filter__section--collapsable .filter__section__heading {
      padding-right: 20px;
      position: relative; }
      .filter__section--collapsable .filter__section__heading:after {
        -webkit-transition: right 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
        transition: right 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
        transition: right 0.2s ease-in-out, transform 0.2s ease-in-out;
        transition: right 0.2s ease-in-out, transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
        background-image: url("../images/icon-arrow-right-black.svg");
        background-position: right 2px top 50%;
        background-repeat: no-repeat;
        background-size: 9px 8px;
        content: '';
        height: 8px;
        position: absolute;
        right: 10px;
        top: 11px;
        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
        width: 10px; }
      .filter__section--collapsable .filter__section__heading:hover:after {
        right: 5px; }
    .filter__section--collapsed {
      padding-bottom: 1.2rem; }
      .filter__section--collapsed .filter__section__heading {
        position: relative; }
        .filter__section--collapsed .filter__section__heading:after {
          -webkit-transform: rotate(0deg);
                  transform: rotate(0deg); }
      .filter__section--collapsed .filter__section__content {
        display: none; }
    .filter__section__form__input {
      display: inline-block;
      margin-right: 10px;
      width: calc( 100% - 60px); }
    .filter__section__form__submit {
      width: 50px; }
  .filter__list__item {
    color: #c0c1c2;
    margin-bottom: 0.6rem; }
    .filter__list__item [type="checkbox"]:not(:checked), .filter__list__item [type="checkbox"]:checked {
      position: absolute;
      left: -9999px; }
      .filter__list__item [type="checkbox"]:not(:checked) + label, .filter__list__item [type="checkbox"]:checked + label {
        cursor: pointer;
        display: inline-block;
        padding-left: 2em;
        position: relative; }
        .filter__list__item [type="checkbox"]:not(:checked) + label:before, .filter__list__item [type="checkbox"]:checked + label:before {
          content: '';
          position: absolute;
          left: 0;
          top: 0;
          height: 1.25em;
          width: 1.25em;
          background: #e5e5e5;
          -webkit-box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39);
                  box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39); }
        .filter__list__item [type="checkbox"]:not(:checked) + label:after, .filter__list__item [type="checkbox"]:checked + label:after {
          background-image: url("../images/icon-checkbox-tick.svg");
          background-position: center;
          background-repeat: no-repeat;
          background-size: 14px 14px;
          content: '';
          font-family: Arial, sans-serif;
          height: 14px;
          left: 3px;
          position: absolute;
          top: 3px;
          -webkit-transition: all .2s;
          transition: all .2s;
          width: 14px; }
    .filter__list__item [type="checkbox"]:not(:checked) + label:after {
      opacity: 0;
      -webkit-transform: scale(0);
              transform: scale(0); }
    .filter__list__item [type="checkbox"]:checked + label:after {
      opacity: 1;
      -webkit-transform: scale(1);
              transform: scale(1); }
    .page-template-tpl-downloads .filter__list__item {
      color: #000; }
    .filter__list__item--hidden {
      display: none; }
    .filter__list__item a,
    .filter__list__item .span-link {
      color: #000; }
  .filter__close {
    display: none;
    text-transform: lowercase; }
    @media screen and (max-width: 768px) {
      .filter__close {
        display: inline-block;
        position: absolute;
        right: 10px;
        top: 1.2rem; }
        .filter__close:after {
          background-image: url("../images/icon-cross.svg");
          background-position: center;
          background-repeat: no-repeat;
          background-size: 10px 10px;
          content: '';
          display: inline-block;
          margin-left: 10px;
          width: 10px;
          height: 10px; } }

.filter-items {
  background: #e5e5e5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  min-height: 60px;
  margin-bottom: 4.8rem;
  padding: 1.44rem 20px 0 20px; }
  .filter-items::after {
    clear: both;
    content: "";
    display: block; }
  .filter-items__label {
    display: inline-block;
    margin: 3px 15px 0 0;
    white-space: nowrap; }
    @media screen and (max-width: 768px) {
      .filter-items__label {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        margin: 0 0 1.2rem 0; } }
    .filter-items__label__button {
      display: none; }
      @media screen and (max-width: 768px) {
        .filter-items__label__button {
          -webkit-transition: background 0.3s ease-in-out;
          transition: background 0.3s ease-in-out;
          display: inline-block;
          width: auto;
          padding: 1.2rem 20px;
          color: #fff;
          text-align: center;
          text-decoration: none !important;
          border: 0;
          background: #006950;
          cursor: pointer;
          outline: none;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          -webkit-appearance: none;
             -moz-appearance: none;
                  appearance: none;
          display: inline-block;
          margin-left: 25px;
          padding-bottom: 0.6rem;
          padding-top: 0.6rem; }
          .filter-items__label__button:hover {
            background-color: #004535;
            color: #fff; }
          .filter-items__label__button:active {
            background-color: #003428;
            color: #fff; }
          .filter-items__label__button.disabled {
            cursor: default; } }
  @media screen and (max-width: 768px) and (max-width: 640px) {
    .filter-items__label__button {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      padding-bottom: 0.6rem;
      padding-top: 0.6rem; } }
  .filter-items__links {
    display: inline-block; }
    @media screen and (max-width: 768px) {
      .filter-items__links {
        clear: both;
        display: block;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    .filter-items__links__item {
      font-size: 17px;
      font-size: 1.7rem;
      line-height: 25.5px;
      line-height: 2.55rem;
      -webkit-transition: none;
      transition: none;
      background: #999999;
      color: #fff;
      cursor: pointer;
      display: inline-block;
      margin: 0 10px 1.2rem 0;
      padding: 3px 30px 3px 10px;
      position: relative;
      -webkit-transition: background-color .2s ease-in-out;
      transition: background-color .2s ease-in-out; }
      .filter-items__links__item:after, .filter-items__links__item:before {
        background: #fff;
        content: '';
        height: 3px;
        margin-top: -1px;
        position: absolute;
        right: 10px;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        top: 50%;
        width: 10px; }
      .filter-items__links__item:after {
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg); }
      .filter-items__links__item:hover {
        background: #006950;
        color: #fff; }
    .filter-items__links__clear {
      cursor: pointer;
      display: inline-block;
      margin-top: 3px; }
      .filter-items__links__clear:hover {
        text-decoration: underline; }

.action-bar {
  margin-bottom: 2.4rem; }
  .action-bar__button {
    position: relative; }
    @media screen and (max-width: 768px) {
      .action-bar__button {
        margin-bottom: 1.2rem; } }
    @media screen and (max-width: 768px) {
      .page-template-tpl-downloads .action-bar__button {
        display: none; } }
    .action-bar__button.disabled {
      background: #e5e5e5;
      color: #bfbfbf;
      cursor: default; }
      .action-bar__button.disabled:before, .action-bar__button.disabled:after {
        background: #bfbfbf; }
      .action-bar__button.disabled .count {
        color: #bfbfbf; }
    .action-bar__button .count {
      background: #fff;
      border-radius: 50px;
      color: #000;
      display: inline-block;
      margin-left: 10px;
      min-width: 24px;
      padding: 0 7px;
      text-align: center; }
    .action-bar__button--remove {
      padding-left: 40px; }
      .action-bar__button--remove:before, .action-bar__button--remove:after {
        background: #fff;
        border-radius: 2px;
        content: '';
        left: 18px;
        height: 3px;
        margin-right: 5px;
        position: absolute;
        top: 50%;
        width: 13px;
        -webkit-transform: rotate(45deg) translateY(-50%);
                transform: rotate(45deg) translateY(-50%); }
      .action-bar__button--remove:after {
        left: 20px;
        -webkit-transform: rotate(-45deg) translateY(-50%);
                transform: rotate(-45deg) translateY(-50%); }
  .action-bar__results__select {
    padding-bottom: 0.6rem;
    padding-top: 0.6rem; }

#wpseo-storelocator-form {
  background: #e5e5e5;
  border: 1px solid #c0c1c2;
  margin-bottom: 4.8rem;
  padding: 20px 2.4rem; }
  #wpseo-storelocator-form fieldset {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    #wpseo-storelocator-form fieldset p {
      -webkit-box-flex: 1;
          -ms-flex: auto;
              flex: auto;
      margin: 0 20px 0 0; }
      @media screen and (max-width: 768px) {
        #wpseo-storelocator-form fieldset p {
          -webkit-box-flex: 0;
              -ms-flex: 0 1 100%;
                  flex: 0 1 100%;
          margin-bottom: 1.2rem; } }

#wpseo-storelocator-results {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  #wpseo-storelocator-results .wpseo-map-canvas {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    margin-bottom: 4.8rem; }
  #wpseo-storelocator-results #wpseo-directions-wrapper,
  #wpseo-storelocator-results > h2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%; }
  #wpseo-storelocator-results .wpseo-result {
    border: 1px solid #006950;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(50% - 20px);
            flex: 0 1 calc(50% - 20px);
    margin-bottom: 2.4rem;
    padding-bottom: 2.4rem; }
    @media screen and (max-width: 768px) {
      #wpseo-storelocator-results .wpseo-result {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    #wpseo-storelocator-results .wpseo-result .wpseo-location {
      margin-bottom: 2.4rem; }
      #wpseo-storelocator-results .wpseo-result .wpseo-location h3 {
        background: #006950;
        padding: 5px 20px; }
        #wpseo-storelocator-results .wpseo-result .wpseo-location h3 a {
          color: #fff;
          text-decoration: none; }
          #wpseo-storelocator-results .wpseo-result .wpseo-location h3 a:hover {
            color: #d3dbd7;
            text-decoration: none; }
      #wpseo-storelocator-results .wpseo-result .wpseo-location > div,
      #wpseo-storelocator-results .wpseo-result .wpseo-location > span {
        padding: 0 20px; }
    #wpseo-storelocator-results .wpseo-result .wpseo-sl-route {
      padding: 0 20px; }

.column--2 {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 48.83721%; }
  .column--2:last-child {
    margin-right: 0; }
  .column--2:nth-child(2n) {
    margin-right: 0; }
  .column--2:nth-child(2n+1) {
    clear: left; }
  .column--2--33 {
    margin-right: 1.9937%;
    width: 32.0042%; }
  .column--2--67 {
    margin-right: 1.9937%;
    width: 66.0021%; }

.column--3 {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 31.78295%; }
  .column--3:last-child {
    margin-right: 0; }
  .column--3:nth-child(3n) {
    margin-right: 0; }
  .column--3:nth-child(3n+1) {
    clear: left; }

@media screen and (max-width: 640px) {
  .column--2, .column--2--33, .column--2--67, .column--3 {
    float: left;
    display: block;
    margin-right: 7.31707%;
    width: 100%;
    margin: 0 0 2.4rem 0; }
    .column--2:last-child, .column--2--33:last-child, .column--2--67:last-child, .column--3:last-child {
      margin-right: 0; }
    .column--2:nth-child(2n), .column--2--33:nth-child(2n), .column--2--67:nth-child(2n), .column--3:nth-child(2n) {
      margin-right: 7.31707%; }
    .column--2:nth-child(2n+1), .column--2--33:nth-child(2n+1), .column--2--67:nth-child(2n+1), .column--3:nth-child(2n+1) {
      clear: none; }
    .column--2:nth-child(3n), .column--2--33:nth-child(3n), .column--2--67:nth-child(3n), .column--3:nth-child(3n) {
      margin-right: 7.31707%; }
    .column--2:nth-child(3n+1), .column--2--33:nth-child(3n+1), .column--2--67:nth-child(3n+1), .column--3:nth-child(3n+1) {
      clear: none; }
    .column--2:nth-child(1n), .column--2--33:nth-child(1n), .column--2--67:nth-child(1n), .column--3:nth-child(1n) {
      margin-right: 0; }
    .column--2:nth-child(1n+1), .column--2--33:nth-child(1n+1), .column--2--67:nth-child(1n+1), .column--3:nth-child(1n+1) {
      clear: left; } }

.module-content a:not([class]) {
  text-decoration: underline; }

.free-support__heading {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 27px;
  line-height: 2.7rem;
  margin-bottom: 1.2rem; }

.free-support .list-checks {
  margin-bottom: 2.4rem; }

.interactive-image {
  height: auto;
  max-width: 100%;
  position: relative;
  width: 100%; }
  .interactive-image__image {
    max-width: 100%;
    height: auto;
    width: 100%; }
  .interactive-image__link {
    background: #fff;
    border: 4px solid #006950;
    position: absolute;
    width: 24px;
    height: 24px;
    z-index: 5; }
    @media screen and (max-width: 768px) {
      .interactive-image__link {
        display: none; } }
    .interactive-image__link:before {
      background: #006950;
      content: '';
      position: absolute;
      left: 50%;
      margin: -3px 0 0 -3px;
      height: 6px;
      top: 50%;
      width: 6px; }
    .interactive-image__link__inner {
      background: rgba(2, 108, 79, 0.8);
      color: #fff;
      display: block;
      margin-left: -100px;
      margin-top: -15px;
      padding: 10px;
      text-align: center;
      width: 200px;
      z-index: 2; }
      .interactive-image__link__inner__label {
        display: block;
        font-weight: bold; }
      .interactive-image__link__inner__readmore {
        color: #fff;
        display: block;
        font-size: .9em; }
        .interactive-image__link__inner__readmore:hover {
          color: #fff;
          text-decoration: underline; }
  .interactive-image__tooltip {
    position: absolute;
    width: 200px;
    z-index: 20; }

.category-overview {
  overflow: hidden; }
  .category-overview__categories {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 74.4186%;
    float: right;
    margin-right: 0;
    position: relative; }
    .category-overview__categories:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .category-overview__categories {
        display: block;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }
  .category-overview__sidebar {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    border-right: 1px solid #c0c1c2;
    border-bottom: 1px solid #c0c1c2;
    float: left;
    margin-right: 1.9937%; }
    .category-overview__sidebar .filter__close {
      top: 20px; }
    @media screen and (max-width: 768px) {
      .category-overview__sidebar .filter__heading {
        display: none; } }
    .category-overview__sidebar .filter-items {
      display: none;
      margin-bottom: 0;
      min-height: 0; }
      .category-overview__sidebar .filter-items.active {
        margin-bottom: 2.4rem; }
      @media screen and (max-width: 768px) {
        .category-overview__sidebar .filter-items {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; } }
      .category-overview__sidebar .filter-items__label__button {
        margin-bottom: 1.2rem;
        margin-left: 0; }
    .category-overview__sidebar:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .category-overview__sidebar {
        float: none;
        margin-bottom: 4.8rem;
        margin-top: 0;
        width: 100%; } }

.list-categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 4.8rem;
  margin-left: 0 !important; }
  .list-categories:after {
    content: '';
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    display: block; }
  .list-categories__item {
    border: 1px solid #d3dbd7;
    cursor: pointer;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc(100% / 4 - 20px);
        flex-basis: calc(100% / 4 - 20px);
    max-width: calc(100% / 4 - 20px);
    margin-bottom: 2.4rem;
    margin-right: 20px;
    padding-top: 2.4rem;
    position: relative;
    -webkit-transition: border-color .2s ease-in-out;
    transition: border-color .2s ease-in-out; }
    .list-categories__item .tax-product-category {
      -ms-flex-preferred-size: calc(33.33% - 20px);
          flex-basis: calc(33.33% - 20px);
      max-width: calc(33.33% - 20px); }
    .category-overview .list-categories__item .tax-product-category {
      -ms-flex-preferred-size: calc(100% / 4 - 20px);
          flex-basis: calc(100% / 4 - 20px);
      max-width: calc(100% / 4 - 20px); }
    @media screen and (max-width: 1140px) {
      .list-categories__item {
        -ms-flex-preferred-size: calc(100% / 3 - 20px);
            flex-basis: calc(100% / 3 - 20px);
        max-width: calc(100% / 3 - 20px); } }
    @media screen and (max-width: 960px) {
      .list-categories__item {
        -ms-flex-preferred-size: calc(100% / 2 - 20px);
            flex-basis: calc(100% / 2 - 20px);
        max-width: calc(100% / 2 - 20px); } }
    @media screen and (max-width: 640px) {
      .list-categories__item {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        max-width: 100%; } }
    .list-categories__item:hover {
      border-color: #999999; }
    .list-categories__item__count {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 24px;
      line-height: 2.4rem;
      background: #e5e5e5;
      padding: 2px 10px;
      position: absolute;
      right: 15px;
      top: 15px; }
    .list-categories__item__image {
      padding: 20px 30px;
      text-align: center; }
      .list-categories__item__image img {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
    .list-categories__item__text {
      padding: 0.6rem 20px; }
      .list-categories__item__text__heading {
        margin: 0;
        word-wrap: anywhere; }
      .list-categories__item__text__description {
        margin: 0; }

.list-category-filter {
  margin-bottom: 4.8rem; }
  @media screen and (max-width: 768px) {
    .list-category-filter {
      display: none; } }
  .list-category-filter__item {
    padding: 0 10px 5px 10px; }
    .list-category-filter__item button {
      background: none;
      border: 1px solid #c0c1c2;
      color: #006950;
      font-weight: normal;
      display: block;
      text-align: left;
      width: 100%;
      -webkit-transition: background-color .2s ease-in-out;
      transition: background-color .2s ease-in-out; }
      .list-category-filter__item button:hover, .list-category-filter__item button.active {
        background: #ededed; }

.list-checks__item {
  background-image: url("../images/icon-check.svg");
  background-position: left 6px;
  background-size: 12px 9px;
  background-repeat: no-repeat;
  list-style: none;
  margin-bottom: 1.2rem;
  padding-left: 20px; }

.list-countries::after {
  clear: both;
  content: "";
  display: block; }

.list-countries__item {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 23.25581%;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 28.5px;
  line-height: 2.85rem;
  padding-left: 0 !important;
  margin-bottom: 1.2rem; }
  .list-countries__item:last-child {
    margin-right: 0; }
  .list-countries__item:nth-child(4n) {
    margin-right: 0; }
  .list-countries__item:nth-child(4n+1) {
    clear: left; }
  @media screen and (max-width: 768px) {
    .list-countries__item {
      float: left;
      display: block;
      margin-right: 3.52941%;
      width: 100%; }
      .list-countries__item:last-child {
        margin-right: 0; }
      .list-countries__item:nth-child(4n) {
        margin-right: 3.52941%; }
      .list-countries__item:nth-child(4n+1) {
        clear: none; }
      .list-countries__item:nth-child(2n) {
        margin-right: 0; }
      .list-countries__item:nth-child(2n+1) {
        clear: left; } }
  @media screen and (max-width: 460px) {
    .list-countries__item {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 46.34146%;
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem; }
      .list-countries__item:last-child {
        margin-right: 0; }
      .list-countries__item:nth-child(3n) {
        margin-right: 7.31707%; }
      .list-countries__item:nth-child(3n+1) {
        clear: none; }
      .list-countries__item:nth-child(4n) {
        margin-right: 7.31707%; }
      .list-countries__item:nth-child(4n+1) {
        clear: none; }
      .list-countries__item:nth-child(2n) {
        margin-right: 0; }
      .list-countries__item:nth-child(2n+1) {
        clear: left; } }
  .list-countries__item:before {
    display: none !important; }
  .list-countries__item__image {
    border-radius: 2px;
    float: left;
    height: auto;
    margin-right: 15px;
    max-width: 100%;
    width: 30px; }
  .list-countries__item__link:hover {
    text-decoration: underline; }
  @media screen and (max-width: 768px) {
    .list-countries__item__name {
      display: none; } }

.list-green-text {
  margin-bottom: 2.4rem; }
  .list-green-text::after {
    clear: both;
    content: "";
    display: block; }
  .list-green-text__item {
    cursor: pointer;
    position: relative; }
    .list-green-text__item__content {
      -webkit-transition: padding 0.2s ease-in-out;
      transition: padding 0.2s ease-in-out;
      background: rgba(0, 108, 79, 0.9);
      color: #fff;
      padding: 1.2rem 10px;
      position: absolute;
      bottom: 0;
      width: 100%; }
      .list-green-text__item:hover .list-green-text__item__content {
        padding-top: 2.4rem; }
      .list-green-text__item__content__heading {
        font-size: 19px;
        font-size: 1.9rem;
        line-height: 28.5px;
        line-height: 2.85rem;
        margin: 0; }
        .list-green-text__item__content__heading a {
          color: #fff; }
          .list-green-text__item__content__heading a:hover {
            color: #e8ecea; }
      .list-green-text__item__content p {
        margin: 0; }

.list-image {
  margin: 0 0 2.4rem 0 !important; }
  .list-image::after {
    clear: both;
    content: "";
    display: block; }
  .list-image__item {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 31.78295%;
    background: none !important;
    cursor: pointer;
    margin-bottom: 2.4rem;
    padding: 0 !important;
    position: relative; }
    .list-image__item:last-child {
      margin-right: 0; }
    .list-image__item:nth-child(3n) {
      margin-right: 0; }
    .list-image__item:nth-child(3n+1) {
      clear: left; }
    @media screen and (max-width: 640px) {
      .list-image__item {
        display: block;
        float: none;
        width: 100%; } }
    .list-image__item__image {
      width: 100%;
      height: 100%; }
      .list-image__item__image img {
        width: 100%;
        height: 100%; }
      .list-image__item__image:after {
        -webkit-transition: opacity 0.3s ease-in-out;
        transition: opacity 0.3s ease-in-out;
        background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.65)), color-stop(42%, rgba(0, 105, 80, 0.38)), color-stop(66%, rgba(0, 105, 80, 0.22)), to(rgba(0, 0, 0, 0)));
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.65) 0%, rgba(0, 105, 80, 0.38) 42%, rgba(0, 105, 80, 0.22) 66%, rgba(0, 0, 0, 0) 100%);
        content: '';
        opacity: .8;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0; }
        .list-image__item:hover .list-image__item__image:after {
          opacity: 1; }
    .list-image__item__heading {
      -webkit-transition: bottom 0.2s ease-in-out;
      transition: bottom 0.2s ease-in-out;
      color: #fff !important;
      padding: 0 20px;
      position: absolute;
      top: 1.2rem;
      width: 100%;
      font-size: 25px !important;
      font-size: 2.5rem !important;
      line-height: 30px !important;
      line-height: 3rem !important; }
      @media screen and (max-width: 768px) {
        .list-image__item__heading {
          font-size: 20px !important;
          font-size: 2rem !important;
          line-height: 25px !important;
          line-height: 2.5rem !important; } }
      .list-image__item:hover .list-image__item__heading {
        bottom: 1.8rem; }
      .list-image__item__heading a {
        color: #fff !important; }

.list-image-top {
  margin-bottom: 2.4rem; }
  .list-image-top::after {
    clear: both;
    content: "";
    display: block; }
  .list-image-top__item {
    -webkit-transition: border-color 0.2s ease-in-out;
    transition: border-color 0.2s ease-in-out;
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 31.78295%;
    border: 1px solid #e8ecea;
    margin-bottom: 2.4rem; }
    .list-image-top__item:last-child {
      margin-right: 0; }
    .list-image-top__item:nth-child(3n) {
      margin-right: 0; }
    .list-image-top__item:nth-child(3n+1) {
      clear: left; }
    @media screen and (max-width: 640px) {
      .list-image-top__item {
        display: block;
        float: none;
        width: 100%; }
        .list-image-top__item:nth-child(3n) {
          margin-right: 7.31707%; }
        .list-image-top__item:nth-child(3n+1) {
          clear: none; } }
    .list-image-top__item:hover {
      border-color: #c0c1c2;
      cursor: pointer; }
    .list-image-top__item--no-border {
      border: 0; }
    .list-image-top__item__image {
      margin: 0;
      text-align: center; }
      .list-image-top__item__image img {
        width: 100%;
        height: auto; }
    .list-image-top__item__content {
      border-top: 1px solid #e8ecea;
      padding: 2.4rem 20px 1.2rem 20px; }
      .list-image-top__item--no-border .list-image-top__item__content {
        border: 0;
        padding-left: 0;
        padding-right: 0; }
    .list-image-top__item__heading {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem; }

.product-downloads__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .product-downloads__list:after {
    content: '';
    display: block;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 3 - 20px);
        flex-basis: calc( 100% / 3 - 20px);
    max-width: calc( 100% / 3 - 20px); }
    @media screen and (max-width: 960px) {
      .product-downloads__list:after {
        -ms-flex-preferred-size: calc( 100% / 2 - 20px);
            flex-basis: calc( 100% / 2 - 20px);
        max-width: calc( 100% / 2 - 20px); } }
    @media screen and (max-width: 640px) {
      .product-downloads__list:after {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
  .product-downloads__list__item {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 3 - 20px);
        flex-basis: calc( 100% / 3 - 20px);
    max-width: calc( 100% / 3 - 20px);
    border: 1px solid #c0c1c2;
    padding: 20px;
    margin-bottom: 20px; }
    @media screen and (max-width: 960px) {
      .product-downloads__list__item {
        -ms-flex-preferred-size: calc( 100% / 2 - 20px);
            flex-basis: calc( 100% / 2 - 20px);
        max-width: calc( 100% / 2 - 20px); } }
    @media screen and (max-width: 640px) {
      .product-downloads__list__item {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    .product-downloads__list__item a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      height: 100%; }
    .product-downloads__list__item__button {
      -ms-flex-item-align: start;
          align-self: flex-start;
      display: block;
      margin-right: 10px;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 32px;
              flex: 0 0 32px;
      background: none;
      position: relative;
      height: 32px; }
      @media screen and (max-width: 640px) {
        .product-downloads__list__item__button {
          display: none; } }
      .product-downloads__list__item__button:before {
        background: #006950;
        content: '';
        height: 32px;
        left: 0;
        position: absolute;
        top: 1px;
        -webkit-transition: background-color .2s ease-in-out;
        transition: background-color .2s ease-in-out;
        width: 32px; }
      .product-downloads__list__item__button:after {
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        content: '';
        height: 7px;
        left: 11px;
        position: absolute;
        top: 13px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        width: 7px; }
      .product-downloads__list__item__button:hover {
        background: none; }
      .product-downloads__list__item__button__text {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px; }
    .product-downloads__list__item__label {
      font-weight: 600; }
    .product-downloads__list__item__content {
      margin-right: 20px; }
    .product-downloads__list__item__meta {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 24px;
      line-height: 2.4rem;
      color: #c0c1c2;
      line-height: 1; }
      .product-downloads__list__item__meta .separator {
        margin: 0 0.48rem; }
    .product-downloads__list__item a {
      color: #000; }
    .product-downloads__list__item__file-icon {
      display: block;
      margin-left: auto;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 32px;
              flex: 0 0 32px; }
      @media screen and (max-width: 640px) {
        .product-downloads__list__item__file-icon {
          display: none; } }
      .product-downloads__list__item__file-icon img {
        height: 32px;
        width: 28px; }

.list-persons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .list-persons:after {
    content: '';
    display: block;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 3 - 20px);
        flex-basis: calc( 100% / 3 - 20px);
    max-width: calc(100% / 3 - 20px); }
  .list-persons__item {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 3 - 20px);
        flex-basis: calc( 100% / 3 - 20px);
    max-width: calc(100% / 3 - 20px);
    border-bottom: 1px solid #e8ecea;
    margin-bottom: 4.8rem;
    background-color: #fff;
    border-top: 1px solid #e5e5e5;
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    border-left: 2px solid #006950;
    padding: 18px; }
    @media screen and (max-width: 1024px) {
      .list-persons__item {
        -ms-flex-preferred-size: calc( 100% / 2 - 20px);
            flex-basis: calc( 100% / 2 - 20px);
        max-width: calc( 100% / 2 - 20px); } }
    @media screen and (max-width: 768px) {
      .list-persons__item {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        margin-right: 0;
        max-width: none; } }
    .list-persons__item__image {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 19.5122%; }
      .list-persons__item__image:last-child {
        margin-right: 0; }
    .list-persons__item__content {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 73.17073%;
      word-break: break-word; }
      .list-persons__item__content:last-child {
        margin-right: 0; }
    .list-persons__item__heading {
      font-size: 17px;
      font-size: 1.7rem;
      line-height: 25.5px;
      line-height: 2.55rem;
      color: #006950;
      border-bottom: 1px solid #e5e5e5;
      padding-bottom: 14px; }
    .list-persons__item__function {
      margin-top: 20px;
      margin-bottom: 0; }
    .list-persons__item__location {
      margin-bottom: 0; }
    .list-persons__item a {
      color: #000; }
      .list-persons__item a[href^="mailto"] {
        text-decoration: underline; }
    .list-persons__item p:last-of-type {
      margin-bottom: 0; }

.list-products {
  margin-bottom: 4.8rem;
  margin-left: 0 !important; }
  .list-products::after {
    clear: both;
    content: "";
    display: block; }
  .list-products__item {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 31.78295%;
    -webkit-transition: border-color 0.2s ease-in-out;
    transition: border-color 0.2s ease-in-out;
    border: 1px solid #d3dbd7;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 2.4rem;
    padding: 10px;
    position: relative; }
    .list-products__item:last-child {
      margin-right: 0; }
    .list-products__item:nth-child(3n) {
      margin-right: 0; }
    .list-products__item:nth-child(3n+1) {
      clear: left; }
    .list-products__item:before {
      display: none; }
    .list-products__item--4 {
      float: left;
      display: block;
      margin-right: 2.32558%;
      width: 23.25581%; }
      .list-products__item--4:last-child {
        margin-right: 0; }
      .list-products__item--4:nth-child(3n) {
        margin-right: 2.32558%; }
      .list-products__item--4:nth-child(3n+1) {
        clear: none; }
      .list-products__item--4:nth-child(4n) {
        margin-right: 0; }
      .list-products__item--4:nth-child(4n+1) {
        clear: left; }
      @media screen and (max-width: 768px) {
        .list-products__item--4 {
          float: left;
          display: block;
          margin-right: 3.52941%;
          width: 48.23529%; }
          .list-products__item--4:last-child {
            margin-right: 0; }
          .list-products__item--4:nth-child(4n) {
            margin-right: 3.52941%; }
          .list-products__item--4:nth-child(4n+1) {
            clear: none; }
          .list-products__item--4:nth-child(2n) {
            margin-right: 0; }
          .list-products__item--4:nth-child(2n+1) {
            clear: left; } }
      @media screen and (max-width: 460px) {
        .list-products__item--4 {
          float: left;
          display: block;
          margin-right: 7.31707%;
          width: 100%; }
          .list-products__item--4:last-child {
            margin-right: 0; }
          .list-products__item--4:nth-child(2n) {
            margin-right: 7.31707%; }
          .list-products__item--4:nth-child(2n+1) {
            clear: none; }
          .list-products__item--4:nth-child(1n) {
            margin-right: 0; }
          .list-products__item--4:nth-child(1n+1) {
            clear: left; } }
    .list-products__item.hidden {
      display: none; }
    @media screen and (max-width: 768px) {
      .list-products__item {
        float: left;
        display: block;
        margin-right: 3.52941%;
        width: 48.23529%; }
        .list-products__item:last-child {
          margin-right: 0; }
        .list-products__item:nth-child(3n) {
          margin-right: 3.52941%; }
        .list-products__item:nth-child(3n+1) {
          clear: none; }
        .list-products__item:nth-child(2n) {
          margin-right: 0; }
        .list-products__item:nth-child(2n+1) {
          clear: left; } }
    @media screen and (max-width: 460px) {
      .list-products__item {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%; }
        .list-products__item:last-child {
          margin-right: 0; }
        .list-products__item:nth-child(2n) {
          margin-right: 7.31707%; }
        .list-products__item:nth-child(2n+1) {
          clear: none; }
        .list-products__item:nth-child(1n) {
          margin-right: 0; }
        .list-products__item:nth-child(1n+1) {
          clear: left; } }
    .list-products__item:hover {
      border-color: #999999; }
    .list-products__item__label {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 24px;
      line-height: 2.4rem;
      background: #e5e5e5;
      padding: 2px 10px;
      position: absolute;
      right: 15px;
      top: 15px; }
    .list-products__item__image {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-bottom: 2.4rem;
      padding: 20px 30px; }
    .list-products__item__text {
      margin-top: auto; }
    .list-products__item__heading {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 24px;
      line-height: 2.4rem;
      margin-bottom: 1.2rem; }
    .list-products__item__specs {
      margin: 0 0 2.4rem 20px; }
      .list-products__item__specs li {
        background: none !important;
        list-style-type: none !important;
        margin: 0 0 0 10px !important;
        position: relative;
        padding-left: 20px; }
        .list-products__item__specs li:before {
          background: #006950;
          content: '';
          height: 7px;
          left: 0;
          position: absolute;
          top: 8px;
          width: 7px; }
    .list-products__item p {
      margin: 0; }
      .list-products__item p .button {
        display: block;
        padding-left: 5px;
        padding-right: 5px; }

.list-references {
  margin-bottom: 4.8rem;
  margin-left: 0 !important; }
  .list-references::after {
    clear: both;
    content: "";
    display: block; }
  .list-references__item {
    border: 1px solid #e5e5e5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 2.4rem;
    padding: 2.4rem 10px;
    -webkit-transition: border .2s ease-in-out;
    transition: border .2s ease-in-out; }
    @media screen and (max-width: 768px) {
      .list-references__item {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
    .list-references__item:hover {
      border-color: #999999; }
    .list-references__item__images {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 33%;
              flex: 0 1 33%;
      padding: 0 20px 4.8rem 10px;
      position: relative; }
      @media screen and (max-width: 768px) {
        .list-references__item__images {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          padding: 0; } }
      .list-references__item__images__more {
        bottom: 0;
        height: auto;
        left: 10px;
        margin: 0;
        position: absolute;
        width: 100%; }
      .list-references__item__images__show-more {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 24px;
        line-height: 2.4rem;
        background: none;
        color: #006950;
        text-align: right;
        padding: 0;
        float: right; }
        .list-references__item__images__show-more:hover {
          background: none;
          color: #006950; }
    .list-references__item__text {
      -webkit-box-flex: 0;
          -ms-flex: 0 1 65%;
              flex: 0 1 65%; }
      @media screen and (max-width: 768px) {
        .list-references__item__text {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          padding: 0; } }
    .list-references__item__excerpt {
      margin-bottom: 2.4rem; }
    .list-references__item__specs {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .list-references__item__specs dt {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        font-weight: bold;
        margin-bottom: 0.6rem;
        margin-right: 2%; }
      .list-references__item__specs dd {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 73%;
                flex: 0 1 73%;
        margin-bottom: 0.6rem; }
        .list-references__item__specs dd a,
        .list-references__item__specs dd span {
          display: block; }
        .list-references__item__specs dd ul li {
          padding-left: 20px;
          position: relative; }
          .list-references__item__specs dd ul li:before {
            background: #006950;
            content: '';
            height: 7px;
            left: 2px;
            position: absolute;
            top: 8px;
            width: 7px; }

.list-videos::after {
  clear: both;
  content: "";
  display: block; }

.list-videos__item {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 48.83721%;
  margin-bottom: 4.8rem; }
  .list-videos__item:last-child {
    margin-right: 0; }
  .list-videos__item:nth-child(2n) {
    margin-right: 0; }
  .list-videos__item:nth-child(2n+1) {
    clear: left; }
  @media screen and (max-width: 640px) {
    .list-videos__item {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 100%; }
      .list-videos__item:last-child {
        margin-right: 0; }
      .list-videos__item:nth-child(2n) {
        margin-right: 7.31707%; }
      .list-videos__item:nth-child(2n+1) {
        clear: none; } }

.main-image {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }
  @media screen and (min-width: 768px) {
    .main-image--has-video {
      background: #fff !important;
      height: 400px;
      position: relative; } }
  .main-image .wrapper {
    padding: 9.6rem 0; }
    @media screen and (max-width: 768px) {
      .main-image .wrapper {
        padding: 4.8rem 0; } }
    @media screen and (max-width: 320px) {
      .main-image .wrapper {
        padding: 2.4rem 0; } }
  .main-image--has-video .wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 400px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0; }
  .main-image__video-wrapper {
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: absolute; }
    @media screen and (max-width: 768px) {
      .main-image__video-wrapper {
        display: none; } }
  .main-image__video {
    position: absolute;
    width: 100%;
    z-index: 0; }
  .main-image__heading {
    font-size: 65px;
    font-size: 6.5rem;
    line-height: 97.5px;
    line-height: 9.75rem;
    font-size: 35px;
    font-size: 3.5rem;
    line-height: 52.5px;
    line-height: 5.25rem;
    color: #fff;
    display: block;
    max-width: 60%;
    position: relative;
    z-index: 2; }
    @media screen and (max-width: 768px) {
      .main-image__heading {
        font-size: 50px;
        font-size: 5rem;
        line-height: 75px;
        line-height: 7.5rem; } }
    @media screen and (max-width: 320px) {
      .main-image__heading {
        font-size: 30px;
        font-size: 3rem;
        line-height: 45px;
        line-height: 4.5rem; } }

.module-products .list-products {
  margin: 0 0 2.4rem 0 !important; }
  .module-products .list-products__item {
    background: none !important; }

.quote__content {
  font-size: 25px;
  font-size: 2.5rem;
  line-height: 37.5px;
  line-height: 3.75rem;
  color: #006950;
  font-style: italic;
  margin-bottom: 1.2rem; }

.slideshow {
  margin-bottom: 4.8rem;
  position: relative;
  /* pager */ }
  @media screen and (max-width: 640px) {
    .slideshow {
      margin-bottom: 2.4rem; }
      .slideshow__slides, .slideshow__pager {
        display: none; } }
  .slideshow__slide {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: none;
    height: 400px;
    padding: 4.8rem 0;
    width: 100%; }
    .slideshow__slide:first-child {
      display: block; }
    .slideshow__slide__heading {
      font-size: 35px;
      font-size: 3.5rem;
      line-height: 52.5px;
      line-height: 5.25rem;
      color: #fff;
      display: block;
      width: 50%; }
      @media screen and (max-width: 640px) {
        .slideshow__slide__heading {
          font-size: 24px;
          font-size: 2.4rem;
          line-height: 36px;
          line-height: 3.6rem; } }
    .slideshow__slide__button {
      -webkit-transition: background 0.3s ease-in-out;
      transition: background 0.3s ease-in-out;
      display: inline-block;
      width: auto;
      padding: 1.2rem 20px;
      color: #fff;
      text-align: center;
      text-decoration: none !important;
      border: 0;
      background: #ffed00;
      cursor: pointer;
      outline: none;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      color: #000;
      clear: both; }
      .slideshow__slide__button:hover {
        background-color: #004535;
        color: #fff; }
      .slideshow__slide__button:active {
        background-color: #003428;
        color: #fff; }
      .slideshow__slide__button.disabled {
        cursor: default; }
      @media screen and (max-width: 640px) {
        .slideshow__slide__button {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 24px;
          line-height: 2.4rem;
          padding-bottom: 0.6rem;
          padding-top: 0.6rem; } }
      .slideshow__slide__button:hover {
        background-color: #fff466;
        color: #000; }
  .slideshow__pager {
    text-align: center;
    width: 100%;
    z-index: 50;
    position: absolute;
    bottom: 1.2rem;
    overflow: hidden; }
    .slideshow__pager span {
      font-family: Arial, sans-serif;
      font-size: 50px;
      width: 16px;
      height: 16px;
      display: inline-block;
      color: #e8ecea;
      cursor: pointer;
      margin: 0 5px; }
      .slideshow__pager span.cycle-pager-active {
        color: #ffed00; }
    .slideshow__pager > * {
      cursor: pointer; }

.slider__container {
  max-width: 1200px;
  margin: 0 auto !important;
  width: 100%;
  position: relative;
  overflow: hidden; }

.slider--small {
  max-width: 1200px; }
  @media screen and (max-width: 1220px) {
    .slider--small {
      margin-left: 0 !important; } }

.slider__controls {
  max-width: 1200px;
  width: 100%;
  position: absolute;
  top: calc(50% - 40px);
  height: 80px; }
  .slider__controls button {
    cursor: pointer;
    height: 100%;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    background: none;
    z-index: 2;
    padding: 0; }
    @media screen and (max-width: 1220px) {
      .slider__controls button {
        width: auto;
        background: none; } }
    @media screen and (max-width: 960px) {
      .slider__controls button {
        -ms-flex-line-pack: end;
            align-content: flex-end; } }
    @media screen and (max-width: 640px) {
      .slider__controls button {
        height: 60px;
        width: 60px; } }
    .slider__controls button img {
      height: 80px;
      width: 80px;
      opacity: 0.75; }
      .slider__controls button img:hover {
        opacity: 1; }
      @media screen and (max-width: 1220px) {
        .slider__controls button img {
          width: 40px;
          height: 40px;
          opacity: 1; } }
      @media screen and (max-width: 960px) {
        .slider__controls button img {
          opacity: 0.5; } }
      @media screen and (max-width: 640px) {
        .slider__controls button img {
          height: 60px;
          width: 60px; } }
    .slider__controls button[data-controls="prev"] {
      left: 0; }
      @media screen and (max-width: 1220px) {
        .slider__controls button[data-controls="prev"] {
          background: none; } }
    .slider__controls button[data-controls="next"] {
      right: 0;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media screen and (max-width: 1220px) {
        .slider__controls button[data-controls="next"] {
          background: none; } }

.slider__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: visible; }
  @media screen and (max-width: 768px) {
    .slider__items {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; } }
  .slider__items__item {
    background-color: #fff;
    background-repeat: no-repeat;
    border-left: 2px solid #006950;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    cursor: pointer;
    position: relative;
    margin-right: 20px; }
    .single-product .slider__items__item {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-line-pack: start;
          align-content: flex-start; }
    @media screen and (max-width: 768px) {
      .slider__items__item {
        margin-right: 0; } }
    @media (max-width: 769px) and (orientation: portrait) {
      .slider__items__item {
        height: auto; } }
    .slider__items__item__image {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: 100%;
      max-width: 100%; }
      .slider__items__item__image img {
        margin: 0 auto; }
    .slider__items__item__content {
      padding: 20px 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-line-pack: start;
          align-content: flex-start; }
      .slider__items__item__content__text {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 100%;
                flex: 0 1 100%; }
    .lt-ie11 .slider__items__item:not(.featured) .slider__items__item__content strong, .lt-ie11 .slider__items__item:not(.featured) .slider__items__item__content p {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    .slider__items__item__read-more {
      color: #000;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-top: auto;
      margin-bottom: 0.6rem; }
      .slider__items__item__read-more:before {
        content: '';
        display: block;
        height: 30px;
        width: 30px;
        margin-right: 10px;
        background-image: url("../images/icon-link.svg");
        background-size: 30px;
        background-repeat: no-repeat; }
    .slider__items__item__product-data {
      padding: 20px; }
    .slider__items__item__readmore {
      margin-top: auto;
      padding-bottom: 20px;
      padding-left: 20px; }

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

.radish-cookie-bar {
  background-color: rgba(0, 0, 0, 0.59) !important;
  height: 100vh;
  width: 100vw;
  font-family: 'Open sans', sans-serif; }
  .radish-cookie-bar .wrap {
    background: #c9c9c9;
    color: #000;
    margin: 50px auto 0;
    max-width: 550px;
    display: block;
    max-height: 100vh;
    height: auto;
    overflow-y: auto;
    padding: 24px 36px !important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: calc( 100% - 20px); }
  .radish-cookie-bar .cookie-bar-header {
    text-align: center;
    margin-bottom: 24px; }
    .radish-cookie-bar .cookie-bar-header .cookie-bar-title {
      padding: 0;
      font-size: 20px; }
  .radish-cookie-bar .cookie-bar-content p {
    font-size: 14px;
    margin-bottom: 20px; }
  .radish-cookie-bar .cookie-bar-buttons {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .radish-cookie-bar .cookie-bar-buttons li {
      margin: 0 !important;
      -webkit-box-flex: 0;
          -ms-flex: 0 1 100%;
              flex: 0 1 100%; }
  .radish-cookie-bar .button {
    display: block !important;
    text-align: center !important;
    padding: 14px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important; }
    .radish-cookie-bar .button:hover {
      opacity: 1 !important; }
  .radish-cookie-bar li .button {
    margin-bottom: 10px !important; }
  .radish-cookie-bar li:last-child .button {
    margin-bottom: 0 !important; }
  .radish-cookie-bar .button-primary {
    border: 1px solid #000 !important;
    background-color: #fff !important;
    color: #006950 !important; }
  .radish-cookie-bar .button-secondary {
    border: 1px solid #000 !important;
    background-color: transparent !important; }
  .radish-cookie-bar .cookie-bar-options > li {
    position: relative;
    display: block;
    padding-left: 46px;
    cursor: pointer;
    margin-bottom: 20px; }
    .radish-cookie-bar .cookie-bar-options > li label {
      margin-left: 0 !important;
      margin-bottom: 4px;
      font-size: 18px;
      line-height: 25px;
      font-weight: 500; }
      .radish-cookie-bar .cookie-bar-options > li label:before {
        display: block;
        background-color: #fff;
        background-position: center;
        background-repeat: no-repeat;
        border-radius: 0;
        height: 30px;
        width: 30px; }
    .radish-cookie-bar .cookie-bar-options > li .cookie-description {
      font-size: 14px; }
      .radish-cookie-bar .cookie-bar-options > li .cookie-description li {
        list-style-type: square;
        display: list-item;
        margin-left: 46px;
        padding: 0; }
      .radish-cookie-bar .cookie-bar-options > li .cookie-description p {
        font-size: 14px;
        display: block; }
  .radish-cookie-bar .rcc-allow-cookie-type {
    opacity: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 2; }
    .radish-cookie-bar .rcc-allow-cookie-type ~ label:before {
      content: '';
      background-color: #fff;
      background-size: 50%;
      position: absolute;
      left: 0;
      top: 0;
      border: 1px solid #000; }
    .radish-cookie-bar .rcc-allow-cookie-type:disabled ~ label:before {
      background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzA4IiBoZWlnaHQ9IjI3MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjczLjMyMiA3Ljg3NkwxMDAuNzY3IDIyMC4zOTJsLTY2LjI1Mi04MS4xODFjLTYuNTMtOC4zOTItMTguNjQzLTkuOTE0LTI3LjA1NS0zLjQtOC40MTMgNi41MTQtOS45MzkgMTguNTk3LTMuNDA5IDI2Ljk5bDgxLjgwNCAxMDAuMDk0QTE5LjE5IDE5LjE5IDAgMDAxMDAuNzY3IDI3MGExOS4xOSAxOS4xOSAwIDAwMTQuOTEyLTcuMTA1TDMwMi4yOTQgMzIuNzRhMTkuMDk0IDE5LjA5NCAwIDAwNC43OTQtMTkuNDRBMTkuMTU5IDE5LjE1OSAwIDAwMjkxLjg3NS4yNDRhMTkuMTk0IDE5LjE5NCAwIDAwLTE4LjU1MyA3LjYzMnoiIGZpbGw9IiM1NTUiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPg==");
      background-color: transparent;
      border: 1px solid #555; }
    .radish-cookie-bar .rcc-allow-cookie-type:disabled ~ label,
    .radish-cookie-bar .rcc-allow-cookie-type:disabled ~ .cookie-description {
      color: #555; }
    .radish-cookie-bar .rcc-allow-cookie-type:checked:not(:disabled):not([readonly]) ~ label:before {
      background-color: #000;
      background-image: url("../images/icon-checkmark.svg"); }
  .radish-cookie-bar .cookie-bar-settings .cookie-bar-buttons li:first-of-type {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .radish-cookie-bar .cookie-bar-settings .cookie-bar-buttons li:last-of-type {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0; }

div.radish-cookie-settings-toggle {
  display: none !important; }

.product-filter__question {
  margin-bottom: 2rem; }

.product-filter select {
  width: 100%; }

.home:not(.site-1) .first-section,
.home:not(.site-1) .bg-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 550px;
  overflow: hidden;
  width: 100%; }
  .home:not(.site-1) .first-section__title, .home:not(.site-1) .first-section__subtitle,
  .home:not(.site-1) .bg-image__title,
  .home:not(.site-1) .bg-image__subtitle {
    font-size: 45px;
    font-size: 4.5rem;
    line-height: 67.5px;
    line-height: 6.75rem;
    line-height: 1.2em; }
    @media screen and (max-width: 640px) {
      .home:not(.site-1) .first-section__title, .home:not(.site-1) .first-section__subtitle,
      .home:not(.site-1) .bg-image__title,
      .home:not(.site-1) .bg-image__subtitle {
        font-size: 35px;
        font-size: 3.5rem;
        line-height: 52.5px;
        line-height: 5.25rem; } }
    @media screen and (max-width: 460px) {
      .home:not(.site-1) .first-section__title, .home:not(.site-1) .first-section__subtitle,
      .home:not(.site-1) .bg-image__title,
      .home:not(.site-1) .bg-image__subtitle {
        font-size: 30px;
        font-size: 3rem;
        line-height: 45px;
        line-height: 4.5rem; } }
  .home:not(.site-1) .first-section__title,
  .home:not(.site-1) .bg-image__title {
    color: #fff;
    font-weight: 400;
    max-width: 50%;
    margin: 0 0 4.8rem; }
    @media screen and (max-width: 640px) {
      .home:not(.site-1) .first-section__title,
      .home:not(.site-1) .bg-image__title {
        max-width: none;
        margin: 0 0 2.4rem; } }
  .home:not(.site-1) .first-section__subtitle,
  .home:not(.site-1) .bg-image__subtitle {
    color: #ffed00;
    font-weight: 600;
    margin: 0 0 4.8rem; }
  .home:not(.site-1) .first-section__cta,
  .home:not(.site-1) .bg-image__cta {
    display: inline-block; }
  .home:not(.site-1) .first-section .wrapper,
  .home:not(.site-1) .bg-image .wrapper {
    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%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

.home:not(.site-1) .cycle-pager {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 20px;
  z-index: 999; }
  .home:not(.site-1) .cycle-pager span {
    cursor: pointer;
    color: #006950;
    font-size: 50px; }
    .home:not(.site-1) .cycle-pager span:hover, .home:not(.site-1) .cycle-pager span.cycle-pager-active {
      color: #004535; }

#homepage-slider .swiper-button-prev,
#homepage-slider .swiper-button-next {
  width: 50px;
  height: 50px;
  background-image: url("../images/icon-slide-right.svg");
  background-size: 50px;
  background-repeat: no-repeat;
  background-position: center;
  opacity: .75;
  -webkit-transition: opacity .2s ease-in-out;
  transition: opacity .2s ease-in-out; }
  #homepage-slider .swiper-button-prev:after,
  #homepage-slider .swiper-button-next:after {
    display: none !important; }
  #homepage-slider .swiper-button-prev:hover,
  #homepage-slider .swiper-button-next:hover {
    opacity: 1; }

#homepage-slider .swiper-button-prev {
  background-image: url("../images/icon-slide-left.svg"); }

#homepage-slider .swiper-pagination .swiper-pagination-bullet {
  background: #fff; }

#homepage-slider .swiper-pagination .swiper-pagination-bullet-active {
  background: #ffed00; }

#homepage-slider .button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }

.quick-links {
  background-color: #ededed;
  background-image: url("../images/bg-quick-links.svg");
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 100px;
  padding-top: 30px; }
  .quick-links__section {
    background: #fff;
    border-left: 2px solid #006950;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc(100% / 3 - 20px);
        flex-basis: calc(100% / 3 - 20px);
    padding-bottom: 20px;
    max-width: calc(100% / 3 - 20px); }
    @media screen and (max-width: 960px) {
      .quick-links__section {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        margin-top: 20px;
        max-width: none; } }
    .quick-links__section__title {
      font-size: 26px;
      font-size: 2.6rem;
      line-height: 39px;
      line-height: 3.9rem;
      background: #006950;
      color: #fff;
      margin-bottom: 0;
      padding: 1.8rem 40px; }
    .quick-links__section__subsection {
      border-bottom: 1px solid #dcdcdc;
      padding: 2.4rem 40px; }
      .quick-links__section__subsection:last-child {
        border: 0; }
      .quick-links__section__subsection__title {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 27px;
        line-height: 2.7rem;
        font-weight: 700; }
      .quick-links__section__subsection__item {
        line-height: 30px;
        padding-left: 20px;
        position: relative; }
        .quick-links__section__subsection__item:before {
          content: '';
          height: 7px;
          width: 7px;
          background-color: #006950;
          display: inline-block;
          margin-right: 4px;
          position: absolute;
          top: 12px;
          left: 0; }
        .quick-links__section__subsection__item--has-desc {
          font-weight: 700; }
          .quick-links__section__subsection__item--has-desc a:after {
            content: ':'; }
      .quick-links__section__subsection__link {
        color: #000;
        text-decoration: underline; }
      .quick-links__section__subsection__description {
        font-weight: 400; }
  .quick-links .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .quick-links .wrapper:after {
      display: none; }

.target-groups {
  margin-bottom: 4.8rem; }
  .target-groups__header__title {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 39px;
    line-height: 3.9rem;
    color: #006950;
    margin-bottom: 0;
    padding: 1.8rem 40px;
    text-align: center; }
  .target-groups__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .target-groups__list__item {
      border: 1px solid #006950;
      margin-left: 10px;
      margin-right: 10px;
      -webkit-box-flex: 0;
          -ms-flex: 0 1 calc(25% - 20px);
              flex: 0 1 calc(25% - 20px); }
      .target-groups--3 .target-groups__list__item {
        -ms-flex-preferred-size: calc(100%/3 - 20px);
            flex-basis: calc(100%/3 - 20px); }
      @media screen and (max-width: 640px) {
        .target-groups__list__item {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          margin-bottom: 2.4rem; }
          .target-groups--3 .target-groups__list__item {
            -ms-flex-preferred-size: 100%;
                flex-basis: 100%; } }
      .target-groups__list__item__title {
        font-size: 19px;
        font-size: 1.9rem;
        line-height: 28.5px;
        line-height: 2.85rem;
        background: #006950;
        color: #fff;
        padding: 1.2rem 10px;
        text-align: center; }
      .target-groups__list__item__image img {
        width: 100%; }
      .target-groups__list__item__read-more {
        border-top: 0;
        padding: 1.2rem 10px; }
        .target-groups__list__item__read-more a {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
          .target-groups__list__item__read-more a:before {
            content: '';
            display: block;
            height: 30px;
            width: 30px;
            margin-right: 10px;
            background-image: url("../images/icon-link.svg");
            background-size: 30px;
            background-repeat: no-repeat; }

.easy-job {
  background: #006950;
  padding-top: 100px;
  padding-bottom: 100px; }
  .easy-job__header {
    margin-bottom: 50px; }
    .easy-job__header__title {
      font-size: 40px;
      font-size: 4rem;
      line-height: 60px;
      line-height: 6rem;
      line-height: 1.3em;
      text-align: center;
      color: #fff;
      font-weight: 300;
      margin-bottom: 0; }
  .easy-job__entries {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .easy-job__entries__entry {
      background: #fff;
      padding: 20px;
      position: relative;
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1;
      -ms-flex-preferred-size: calc(100% / 2 - 20px);
          flex-basis: calc(100% / 2 - 20px);
      max-width: calc(100% / 2 - 20px);
      margin-bottom: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      border: none;
      color: #000;
      text-align: left;
      font-weight: 400; }
      @media screen and (max-width: 768px) {
        .easy-job__entries__entry {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          max-width: none; } }
      .easy-job__entries__entry:hover {
        background: #fff;
        color: #000; }
      .easy-job__entries__entry__icon {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100px;
                flex: 0 0 100px;
        width: 100px;
        height: 100px;
        margin-right: 40px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        @media screen and (max-width: 640px) {
          .easy-job__entries__entry__icon {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 75px;
                    flex: 0 0 75px;
            width: 75px;
            height: 75px;
            margin-right: 20px; } }
        .easy-job__entries__entry__icon img {
          width: 100px;
          height: 100px; }
      .easy-job__entries__entry__content {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 33px;
        line-height: 3.3rem;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 100%;
        margin-right: 40px; }
        @media screen and (max-width: 640px) {
          .easy-job__entries__entry__content {
            font-size: 18px;
            font-size: 1.8rem;
            line-height: 27px;
            line-height: 2.7rem;
            margin-right: 20px; } }
        .easy-job__entries__entry__content p:last-of-type {
          margin-bottom: 0; }
      .easy-job__entries__entry__popup {
        position: relative;
        background: #FFF;
        padding: 40px;
        width: auto;
        max-width: 500px;
        margin: 20px auto; }
        .easy-job__entries__entry__popup p:last-of-type {
          margin-bottom: 0; }
      .easy-job__entries__entry__info-icon {
        position: absolute;
        top: 10px;
        right: 10px;
        height: 20px;
        width: 20px; }
        .easy-job__entries__entry__info-icon img {
          height: 100%;
          width: 100%; }

.new-from-walraven {
  padding-top: 100px;
  padding-bottom: 100px; }
  .new-from-walraven__header {
    margin-bottom: 50px; }
    .new-from-walraven__header__title {
      font-size: 40px;
      font-size: 4rem;
      line-height: 60px;
      line-height: 6rem;
      line-height: 1.3em;
      text-align: center;
      color: #000;
      font-weight: 300;
      margin-bottom: 0; }

.featured.slider__items__item .slider__items__item__image {
  width: 100%;
  height: 100%; }
  .featured.slider__items__item .slider__items__item__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

.featured .slider__items__item__content {
  padding: 10px;
  background-color: #006950;
  color: #fff;
  margin: auto auto 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .featured .slider__items__item__content a {
    color: #fff; }

.references {
  padding: 100px 0; }
  .references__header {
    margin-bottom: 50px;
    max-width: 800px; }
    .references__header__title {
      font-size: 40px;
      font-size: 4rem;
      line-height: 60px;
      line-height: 6rem;
      line-height: 1.3em;
      text-align: center;
      color: #000;
      font-weight: 300;
      margin-bottom: 0; }
  .references__entries {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .references__entries:after {
      display: none; }
    .references__entries__entry {
      background-size: cover;
      background-position: center;
      margin-bottom: 20px;
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1;
      -ms-flex-preferred-size: calc( 100% / 12 * 4 - 20px);
          flex-basis: calc( 100% / 12 * 4 - 20px); }
      @media screen and (max-width: 960px) {
        .references__entries__entry {
          -ms-flex-preferred-size: calc( 100% / 2 - 20px);
              flex-basis: calc( 100% / 2 - 20px); } }
      @media screen and (max-width: 768px) {
        .references__entries__entry {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%; } }
      .references__entries__entry:nth-of-type(4n+1), .references__entries__entry:nth-of-type(4n+2) {
        height: 700px; }
      .references__entries__entry:nth-of-type(4n+3), .references__entries__entry:nth-of-type(4n+4) {
        height: 540px; }
      .references__entries__entry:nth-of-type(4n+2), .references__entries__entry:nth-of-type(4n+3) {
        -ms-flex-preferred-size: calc( 100% / 12 * 8 - 20px);
            flex-basis: calc( 100% / 12 * 8 - 20px); }
        @media screen and (max-width: 960px) {
          .references__entries__entry:nth-of-type(4n+2), .references__entries__entry:nth-of-type(4n+3) {
            -ms-flex-preferred-size: calc( 100% / 2 - 20px);
                flex-basis: calc( 100% / 2 - 20px); } }
        @media screen and (max-width: 768px) {
          .references__entries__entry:nth-of-type(4n+2), .references__entries__entry:nth-of-type(4n+3) {
            -ms-flex-preferred-size: 100%;
                flex-basis: 100%; } }
        .references__entries__entry:nth-of-type(4n+2) .references__entries__entry__title, .references__entries__entry:nth-of-type(4n+3) .references__entries__entry__title {
          margin-right: 0;
          margin-left: 40px; }
      .references__entries__entry__link {
        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%;
        width: 100%; }
      .references__entries__entry__title {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 27px;
        line-height: 2.7rem;
        font-weight: 600;
        background: #006950;
        margin-top: auto;
        margin-right: auto;
        margin-bottom: 40px;
        margin-left: auto;
        color: #fff;
        max-width: 80%;
        padding: 10px;
        width: 100%; }
        @media screen and (max-width: 960px) {
          .references__entries__entry__title {
            margin: auto 0 40px 40px; } }
  .references__footer {
    text-align: center; }
    .references__footer a {
      background: #006950;
      padding: 20px 50px;
      display: inline-block;
      color: #fff; }

.devider img {
  width: 100%;
  height: auto; }

.section-products {
  padding-bottom: 4.8rem;
  padding-top: 4.8rem; }
  .section-products--grey {
    background: #e8ecea; }
  .section-products--border {
    border-top: 1px solid #e8ecea; }
  @media screen and (max-width: 640px) {
    .section-products {
      border-bottom: 1px solid #e8ecea;
      padding-bottom: 1.2rem;
      padding-top: 1.2rem; }
      .section-products:last-child {
        border-bottom-color: #d3dbd7;
        margin-bottom: 4.8rem; }
      .section-products--grey {
        background: none; }
      .section-products__heading {
        -webkit-transition: color 0.2s ease-in-out;
        transition: color 0.2s ease-in-out;
        cursor: pointer;
        margin: 0; }
        .section-products__heading:hover {
          color: #004535; }
        .section-products__heading:active {
          color: #003428; }
        .section-products.active .section-products__heading {
          margin-bottom: 2.4rem; }
      .section-products__content {
        display: none; } }
  .section-products__header {
    margin: 0 auto;
    max-width: 1200px; }
  .section-products-specifications__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .section-products-specifications__header {
        display: block; } }
    @media screen and (max-width: 320px) {
      .section-products-specifications__header p {
        margin-top: 2.4rem; } }

.gallery__big-image {
  background: #fff;
  margin-bottom: 2.4rem;
  padding: 20px;
  text-align: center; }
  @media screen and (max-width: 640px) {
    .gallery__big-image {
      padding: 10px; } }
  .list-references__item .gallery__big-image {
    border-color: #e5e5e5;
    padding: 0; }
  .gallery__big-image img {
    display: block; }

.gallery__thumbs::after {
  clear: both;
  content: "";
  display: block; }

.gallery__thumbs__item {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 31.78295%;
  background: #fff;
  border: 1px solid #d3dbd7;
  margin-bottom: 1.2rem;
  padding: 10px;
  text-align: center; }
  .gallery__thumbs__item:last-child {
    margin-right: 0; }
  .gallery__thumbs__item:nth-child(3n) {
    margin-right: 0; }
  .gallery__thumbs__item:nth-child(3n+1) {
    clear: left; }
  @media screen and (max-width: 640px) {
    .gallery__thumbs__item {
      padding: 5px; } }
  .list-references__item .gallery__thumbs__item {
    border-color: #e5e5e5;
    padding: 0; }
  .gallery__thumbs__item img {
    display: block;
    height: auto;
    max-width: 100%; }
  .gallery__thumbs__item--hidden {
    display: none; }

.product-info {
  border-bottom: 1px solid #c0c1c2;
  padding-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .product-info__subtitle {
    color: #000 !important; }
  .product-info__title__container {
    margin-bottom: 2.4rem; }
    .product-info__title__container strong {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 27px;
      line-height: 2.7rem; }
  .product-info__images {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 12 * 4 - 20px);
        flex-basis: calc( 100% / 12 * 4 - 20px); }
    @media screen and (max-width: 640px) {
      .product-info__images {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        margin-bottom: 2.4rem; } }
  .product-info__content {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 12 * 8 - 20px);
        flex-basis: calc( 100% / 12 * 8 - 20px);
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 24px;
    line-height: 2.4rem;
    margin-top: 0; }
    @media screen and (max-width: 640px) {
      .product-info__content {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    .product-info__content__properties {
      margin-left: 0 !important; }
      .product-info__content__properties ul li {
        list-style: none !important; }
    .product-info__content__entry {
      margin-bottom: 2.4rem; }
      @media screen and (max-width: 640px) {
        .product-info__content__entry__wrapper {
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
    .product-info__content__aside .list-quality-marks {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      list-style: none;
      margin: 0;
      padding: 0; }
      .product-info__content__aside .list-quality-marks li {
        list-style: none;
        margin: 0 15px 1.2rem 0;
        padding: 0; }
        .product-info__content__aside .list-quality-marks li:before {
          display: none; }
        .product-info__content__aside .list-quality-marks li img {
          max-height: 60px; }
    .product-info__content__contact {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      .product-info__content__contact__item {
        display: inline-block; }
        @media screen and (max-width: 640px) {
          .product-info__content__contact__item {
            display: block;
            margin-bottom: 1.2rem;
            text-align: center; } }
      .product-info__content__contact .button {
        margin-right: 20px; }
      .product-info__content__contact a {
        text-decoration: underline; }
  .product-info__print {
    float: right; }

@media screen and (max-width: 768px) {
  .specs-table {
    table-layout: fixed; } }

.specs-table thead {
  background: #fff;
  position: -webkit-sticky;
  position: sticky; }

.specs-table th.heading,
.specs-table th.table-header,
.specs-table .label {
  color: #333; }
  @media screen and (max-width: 768px) {
    .specs-table th.heading,
    .specs-table th.table-header,
    .specs-table .label {
      display: none; } }
  .specs-table th.heading strong,
  .specs-table th.table-header strong,
  .specs-table .label strong {
    display: block; }
  .specs-table th.heading span,
  .specs-table th.table-header span,
  .specs-table .label span {
    display: block;
    margin-left: 5px;
    font-weight: normal;
    font-style: italic;
    font-size: .9em; }
  .specs-table th.heading a,
  .specs-table th.table-header a,
  .specs-table .label a {
    border-bottom: 1px dotted #a3bdb5;
    color: #006950; }
    .specs-table th.heading a:hover,
    .specs-table th.table-header a:hover,
    .specs-table .label a:hover {
      color: #004535;
      border-color: #004535; }
  .specs-table th.heading .desc,
  .specs-table th.table-header .desc,
  .specs-table .label .desc {
    color: #333;
    display: block;
    margin-top: 0.6rem; }

.specs-table .specs-table__header--label th,
.specs-table .specs-table__header--abbreviation th {
  font-style: italic;
  text-align: center; }
  .specs-table .specs-table__header--label th:first-child,
  .specs-table .specs-table__header--abbreviation th:first-child {
    text-align: right; }

.specs-table .specs-table__header--label th {
  border-bottom: 1px solid #c0c1c2; }

.specs-table .specs-table__header--abbreviation th {
  border-bottom: 2px solid #006950; }

.specs-table .specs-table__header--heading th {
  border-bottom: 1px solid #c0c1c2;
  cursor: pointer;
  font-weight: bold;
  padding: 1.2rem 10px;
  position: relative;
  text-align: center;
  vertical-align: top; }
  .specs-table .specs-table__header--heading th--down:after, .specs-table .specs-table__header--heading th--up:after {
    background-image: url("../images/icon-arrow-down.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 8px 9px;
    content: '';
    height: 9px;
    position: absolute;
    right: 7px;
    top: 19px;
    width: 8px; }
  .specs-table .specs-table__header--heading th--up:after {
    background-image: url("../images/icon-arrow-up.svg"); }

.specs-table .label {
  display: none; }

.specs-table tbody tr:nth-child(even) {
  background: #e8ecea; }

.specs-table tbody tr.highlighted {
  -webkit-transition: background-color 0.4s linear;
  transition: background-color 0.4s linear;
  background-color: #fffbcb; }

@media screen and (max-width: 768px) {
  .specs-table tbody tr {
    background: none;
    border-bottom: 2px solid #2f7f6b;
    display: block; }
    .specs-table tbody tr:nth-child(even) {
      background: none; }
    .specs-table tbody tr:first-child {
      border-top: 2px solid #2f7f6b; }
    .specs-table tbody tr.active td {
      display: block; }
      .specs-table tbody tr.active td:first-child:after {
        background-image: url("../images/select-arrow-right.svg");
        background-repeat: no-repeat;
        background-size: 4px 7px;
        height: 7px;
        width: 4px;
        margin-top: -3px; } }

.specs-table tbody td {
  border-right: 2px solid #fff;
  padding: 2.4rem 10px;
  text-align: center; }
  .specs-table tbody td:first-child {
    text-align: left; }
  .specs-table tbody td:last-child {
    border: 0; }
    .specs-table tbody td:last-child img {
      height: 30px; }
  @media screen and (max-width: 768px) {
    .specs-table tbody td {
      border-bottom: 1px solid #a2a2a2;
      border-right: 0;
      clear: both;
      display: none;
      padding-left: 50%;
      position: relative;
      text-align: left;
      width: 100%; }
      .specs-table tbody td:before {
        content: attr(data-label);
        float: left; }
      .specs-table tbody td:first-child {
        background: #e8ecea;
        cursor: pointer;
        display: block;
        text-align: left; }
        .specs-table tbody td:first-child:after {
          background-image: url("../images/select-arrow.svg");
          background-position: center;
          background-repeat: no-repeat;
          background-size: 7px 4px;
          content: '';
          position: absolute;
          right: 10px;
          top: 50%;
          margin-top: -2px;
          width: 7px;
          height: 4px; }
        .specs-table tbody td:first-child:hover:after {
          background-image: url("../images/select-arrow-right.svg");
          background-repeat: no-repeat;
          background-size: 4px 7px;
          height: 7px;
          width: 4px;
          margin-top: -3px; }
      .specs-table tbody td .label {
        display: block;
        float: left;
        margin-left: -100%; }
        .specs-table tbody td .label .desc {
          border: 0;
          display: inline; } }

.specs-table__clone {
  position: fixed;
  max-width: 1180px;
  width: auto;
  background: #fff;
  opacity: 0;
  -webkit-box-shadow: 0 10px 10px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 10px 10px rgba(0, 0, 0, 0.2);
  margin-bottom: 0;
  margin-top: 41px;
  -webkit-transition: margin 0.2s, opacity 0.2s;
  transition: margin 0.2s, opacity 0.2s; }
  body.header-hidden .specs-table__clone {
    margin-top: 39px; }
  @media screen and (max-width: 768px) {
    .specs-table__clone {
      display: none; } }

.specs-table-wrapper {
  height: auto;
  margin-bottom: 4.8rem;
  max-height: 575px;
  overflow: hidden;
  position: relative;
  -webkit-transition: height .5s ease-in-out;
  transition: height .5s ease-in-out; }
  .specs-table-wrapper.show-more-link:after {
    background: -webkit-gradient(linear, left bottom, left top, color-stop(40%, white), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to top, white 40%, rgba(255, 255, 255, 0) 100%);
    bottom: 0;
    content: '';
    position: absolute;
    height: 180px;
    width: 100%;
    z-index: 5; }
  .specs-table-wrapper.full {
    max-height: 100%;
    padding-bottom: 80px; }
    .specs-table-wrapper.full:after {
      background: none; }
  @media screen and (max-width: 768px) {
    .specs-table-wrapper {
      max-height: 100%; }
      .specs-table-wrapper:after {
        display: none; } }
  .specs-table-wrapper__show-more {
    background: #fff;
    border: 2px solid #000;
    padding: 1.2rem 10px;
    position: absolute;
    left: 50%;
    bottom: 20px;
    text-align: center;
    width: 300px;
    margin-left: -150px;
    z-index: 10; }
    @media screen and (max-width: 768px) {
      .specs-table-wrapper__show-more {
        display: none; } }
    .specs-table-wrapper__show-more img {
      margin-left: 5px; }
  .specs-table-wrapper__footer {
    margin-left: 30px; }
    .specs-table-wrapper__footer li {
      list-style: none;
      padding-left: 20px;
      position: relative; }
      .specs-table-wrapper__footer li:before {
        background: #006950;
        content: '';
        height: 7px;
        left: 0;
        position: absolute;
        top: 8px;
        width: 7px; }

.specs-drawings {
  margin-bottom: 4.8rem; }
  .specs-drawings::after {
    clear: both;
    content: "";
    display: block; }
  .specs-drawings__links {
    float: left;
    width: 30%; }
    @media screen and (max-width: 640px) {
      .specs-drawings__links {
        display: block;
        float: none;
        margin: 0 0 2.4rem 0;
        width: 100%; } }
    .specs-drawings__links__item {
      margin-bottom: 2.4rem; }
      .specs-drawings__links__item__link:after {
        background-image: url("../images/icon-arrow-right.svg");
        background-repeat: no-repeat;
        background-size: 7px 5px;
        content: '';
        display: inline-block;
        margin-left: 5px; }

.specs-list {
  margin-bottom: 4.8rem; }
  .specs-list::after {
    clear: both;
    content: "";
    display: block; }
  .specs-list__heading {
    font-size: 20px;
    font-size: 2rem;
    line-height: 30px;
    line-height: 3rem;
    color: #006950;
    margin-bottom: 1.2rem; }
  .specs-list > ul::after {
    clear: both;
    content: "";
    display: block; }
  .specs-list ul li {
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid-column;
    list-style: square;
    margin-bottom: 1.2rem;
    margin-left: 20px; }
    .specs-list ul li ul {
      margin-left: 20px;
      margin-top: 1.2rem; }
    .specs-list ul li li {
      list-style: circle;
      margin-right: 0; }
      .specs-list ul li li ul {
        margin-left: 0; }
      .specs-list ul li li li {
        list-style: none; }
        .specs-list ul li li li:before {
          content: '-';
          margin-right: 10px; }
  .specs-list__list {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 30px;
       -moz-column-gap: 30px;
            column-gap: 30px; }
    @media screen and (max-width: 640px) {
      .specs-list__list {
        -webkit-columns: auto;
           -moz-columns: auto;
                columns: auto; } }

.product-installation__usage {
  margin-bottom: 2.4rem; }

.product-installation__video {
  margin-bottom: 2.4rem; }
  @media screen and (max-width: 640px) {
    .product-installation__video__item {
      margin-bottom: 2.4rem; } }

.product-installation__heading {
  font-size: 20px;
  font-size: 2rem;
  line-height: 30px;
  line-height: 3rem;
  color: #006950;
  margin-bottom: 1.2rem; }

.product-installation__tips > li {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 31.78295%; }
  .product-installation__tips > li:last-child {
    margin-right: 0; }
  @media screen and (max-width: 640px) {
    .product-installation__tips > li {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 100%;
      margin-bottom: 2.4rem; }
      .product-installation__tips > li:last-child {
        margin-right: 0; } }
  .product-installation__tips > li .check-list {
    margin-bottom: 2.4rem; }

.product-usage::after {
  clear: both;
  content: "";
  display: block; }

.product-usage__item {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 31.78295%;
  border-bottom: 1px solid #dee0df;
  margin-bottom: 2.4rem; }
  .product-usage__item:last-child {
    margin-right: 0; }
  .product-usage__item:nth-child(3n) {
    margin-right: 0; }
  .product-usage__item:nth-child(3n+1) {
    clear: left; }
  @media screen and (max-width: 640px) {
    .product-usage__item {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 100%; }
      .product-usage__item:last-child {
        margin-right: 0; }
      .product-usage__item:nth-child(3n) {
        margin-right: 7.31707%; }
      .product-usage__item:nth-child(3n+1) {
        clear: none; } }
  .product-usage__item__image {
    margin-bottom: 2.4rem; }

.product-downloads {
  border-right: 1px solid #aaacab; }
  .product-downloads::after {
    clear: both;
    content: "";
    display: block; }
  .product-downloads__links {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 48.83721%; }
    .product-downloads__links:last-child {
      margin-right: 0; }
    @media screen and (max-width: 640px) {
      .product-downloads__links {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%;
        border-right: 0;
        border-bottom: 1px solid #c0c1c2;
        margin-bottom: 2.4rem; }
        .product-downloads__links:last-child {
          margin-right: 0; } }
  .product-downloads__contact {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 48.83721%; }
    .product-downloads__contact:last-child {
      margin-right: 0; }
    @media screen and (max-width: 640px) {
      .product-downloads__contact {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%; }
        .product-downloads__contact:last-child {
          margin-right: 0; } }

@media screen and (max-width: 640px) {
  .product-complementary,
  .product-alternative {
    padding-left: 20px;
    padding-right: 20px; } }

.product-complementary__heading,
.product-alternative__heading {
  font-size: 20px;
  font-size: 2rem;
  line-height: 30px;
  line-height: 3rem;
  color: #000;
  margin-bottom: 1.2rem; }

.category-intro {
  margin-bottom: 2.4rem; }
  .category-intro::after {
    clear: both;
    content: "";
    display: block; }
  .category-intro__image {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    text-align: center; }
    .category-intro__image:last-child {
      margin-right: 0; }
    @media screen and (max-width: 460px) {
      .category-intro__image {
        display: none; } }
    .category-intro__image img {
      display: inline-block;
      height: auto;
      max-width: 100%; }
  .category-intro__content {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 74.4186%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .category-intro__content:last-child {
      margin-right: 0; }
    @media screen and (max-width: 460px) {
      .category-intro__content {
        float: left;
        display: block;
        margin-right: 7.31707%;
        width: 100%; }
        .category-intro__content:last-child {
          margin-right: 0; } }
    .category-intro__content h1 {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      margin-bottom: 1.2rem; }
    .category-intro__content .content {
      margin-top: 0; }
    .category-intro__content__see-also {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }

.see-also {
  border: 1px solid #e5e5e5; }
  .see-also__label {
    background: #006950;
    color: #fff;
    display: inline-block;
    margin-right: 20px;
    padding: 1.2rem 20px; }
  .see-also__item {
    color: #006950;
    display: inline-block;
    padding: 1.2rem 0;
    text-decoration: underline;
    -webkit-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out; }
    .see-also__item:hover {
      color: #004535; }

.products-overview {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 74.4186%;
  float: right;
  margin-right: 0;
  position: relative; }
  .products-overview:last-child {
    margin-right: 0; }
  @media screen and (max-width: 768px) {
    .products-overview {
      display: block;
      float: none;
      margin-bottom: 4.8rem;
      width: 100%; } }
  .products-overview__products__intro {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 25.5px;
    line-height: 2.55rem;
    border-bottom: 2px solid #d7d7d7;
    margin-bottom: 2.4rem; }
  .products-overview__sidebar {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    border-right: 1px solid #c0c1c2;
    border-bottom: 1px solid #c0c1c2;
    float: left;
    margin-right: 1.9937%; }
    .products-overview__sidebar:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .products-overview__sidebar {
        display: none;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }

.references-overview {
  position: relative; }
  .references-overview::after {
    clear: both;
    content: "";
    display: block; }
  .references-overview__references {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 74.4186%;
    float: right;
    margin-right: 0; }
    .references-overview__references:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .references-overview__references {
        display: block;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }
    .references-overview__references__intro {
      font-size: 17px;
      font-size: 1.7rem;
      line-height: 25.5px;
      line-height: 2.55rem;
      border-bottom: 2px solid #d7d7d7;
      margin-bottom: 2.4rem; }
  .references-overview__sidebar {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    float: left;
    margin-right: 1.9937%; }
    .references-overview__sidebar:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .references-overview__sidebar {
        display: none;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }

.contact-section {
  padding: 4.8rem 0 2.4rem; }
  .contact-section::after {
    clear: both;
    content: "";
    display: block; }

.employees:nth-of-type(2n+1) {
  background: #e5e5e5; }

.contact-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .contact-top:after {
    display: none; }
  .contact-top__details {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 12 * 8 - 20px);
        flex-basis: calc( 100% / 12 * 8 - 20px); }
    @media screen and (max-width: 640px) {
      .contact-top__details {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    .contact-top__details__addresses {
      background: #e5e5e5;
      padding: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (max-width: 640px) {
        .contact-top__details__addresses {
          margin-bottom: 2.4rem; } }
      .contact-top__details__addresses__address {
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        -ms-flex-negative: 1;
            flex-shrink: 1;
        -ms-flex-preferred-size: calc( 100% / 2 - 20px);
            flex-basis: calc( 100% / 2 - 20px); }
        @media screen and (max-width: 640px) {
          .contact-top__details__addresses__address {
            -ms-flex-preferred-size: 100%;
                flex-basis: 100%;
            -webkit-box-ordinal-group: 1;
                -ms-flex-order: 0;
                    order: 0;
            margin-bottom: 2.4rem; } }
        .contact-top__details__addresses__address p {
          margin-bottom: 0; }
        .contact-top__details__addresses__address address {
          margin-bottom: 2.4rem; }
  .contact-top__map {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: calc( 100% / 12 * 4 - 20px);
        flex-basis: calc( 100% / 12 * 4 - 20px); }
    @media screen and (max-width: 640px) {
      .contact-top__map {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        height: 400px; } }
    .contact-top__map iframe {
      max-width: 100%;
      height: 100%; }
  .contact-top__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    margin-top: 2.4rem; }
    .contact-top__buttons__button {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
      .contact-top__buttons__button:not(:last-of-type) {
        margin-right: 20px; }

.contact-details__address {
  float: left;
  display: block;
  margin-right: 2.32558%;
  width: 40.31008%; }
  .contact-details__address:last-child {
    margin-right: 0; }
  @media screen and (max-width: 640px) {
    .contact-details__address {
      float: left;
      display: block;
      margin-right: 7.31707%;
      width: 100%;
      margin-bottom: 2.4rem; }
      .contact-details__address:last-child {
        margin-right: 0; } }

.support-section {
  margin-bottom: 4.8rem; }
  .support-section::after {
    clear: both;
    content: "";
    display: block; }
  .support-section__top {
    border-bottom: 1px solid #e8ecea;
    margin-bottom: 2.4rem;
    padding-bottom: 2.4rem; }

.downloads-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 4.8rem; }
  .downloads-form__column {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 31.333%;
            flex: 0 1 31.333%;
    margin-right: 2%;
    margin-bottom: 2.4rem; }
    .downloads-form__column h2 {
      border-bottom: 1px solid #e5e5e5;
      padding-bottom: 0.6rem;
      margin-bottom: 2.4rem; }
      .downloads-form__column h2 .sub {
        font-size: 14px;
        font-style: italic; }
    .downloads-form__column ul {
      margin-bottom: 1.2rem; }
  .downloads-form__footer {
    border-top: 1px solid #e5e5e5;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding-top: 2.4rem;
    text-align: right; }

.downloads-search {
  position: relative; }
  .downloads-search__input {
    display: block;
    width: 100%; }
  .downloads-search__submit {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: none;
    border: 0;
    line-height: 1;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    .downloads-search__submit:hover {
      background: none;
      border: 0; }

.downloads-overview {
  position: relative; }
  .downloads-overview::after {
    clear: both;
    content: "";
    display: block; }
  .downloads-overview > form {
    display: block; }
  .downloads-overview__content {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 74.4186%;
    float: right;
    margin-right: 0; }
    .downloads-overview__content:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .downloads-overview__content {
        display: block;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }
  .downloads-overview__sidebar {
    float: left;
    display: block;
    margin-right: 2.32558%;
    width: 23.25581%;
    margin-right: 1.9937%; }
    .downloads-overview__sidebar:last-child {
      margin-right: 0; }
    @media screen and (max-width: 768px) {
      .downloads-overview__sidebar {
        display: none;
        float: none;
        margin-bottom: 4.8rem;
        width: 100%; } }

.show-more-filters {
  display: inline-block;
  margin-left: 35px;
  padding-left: 15px;
  position: relative; }
  .show-more-filters:before {
    border-top: 2px solid #006950;
    border-right: 2px solid #006950;
    content: '';
    left: 0;
    height: 7px;
    position: absolute;
    top: 7px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
    width: 7px; }
  .show-more-filters.less:before {
    top: 10px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }

.downloads-results__header {
  background: #999999;
  color: #fff; }
  .downloads-results__header th {
    padding: 1.2rem 10px;
    border-right: 1px solid #fff; }
    @media screen and (max-width: 768px) {
      .downloads-results__header th:first-child {
        display: none; } }
    .downloads-results__header th:last-child {
      border: 0; }

.downloads-results__row td {
  border-right: 1px solid #e5e5e5;
  padding: 1.2rem 10px; }
  @media screen and (max-width: 768px) {
    .downloads-results__row td:first-child {
      display: none; } }

.downloads-results__row:nth-child(even) {
  background: #e5e5e5; }
  .downloads-results__row:nth-child(even) td {
    border-color: #fff; }

.downloads-results__checkbox {
  text-align: center;
  width: 50px; }
  .downloads-results__checkbox [type="checkbox"]:not(:checked), .downloads-results__checkbox [type="checkbox"]:checked {
    position: absolute;
    left: -9999px; }
    .downloads-results__checkbox [type="checkbox"]:not(:checked) + label, .downloads-results__checkbox [type="checkbox"]:checked + label {
      cursor: pointer;
      display: inline-block;
      padding-left: 2em;
      position: relative; }
      .downloads-results__checkbox [type="checkbox"]:not(:checked) + label:before, .downloads-results__checkbox [type="checkbox"]:checked + label:before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        height: 1.25em;
        width: 1.25em;
        background: #e5e5e5;
        -webkit-box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39);
                box-shadow: inset 1px 1px 3px 0 rgba(0, 0, 0, 0.39); }
      .downloads-results__checkbox [type="checkbox"]:not(:checked) + label:after, .downloads-results__checkbox [type="checkbox"]:checked + label:after {
        background-image: url("../images/icon-checkbox-tick.svg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 14px 14px;
        content: '';
        font-family: Arial, sans-serif;
        height: 14px;
        left: 3px;
        position: absolute;
        top: 3px;
        -webkit-transition: all .2s;
        transition: all .2s;
        width: 14px; }
  .downloads-results__checkbox [type="checkbox"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0); }
  .downloads-results__checkbox [type="checkbox"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); }
  .downloads-results__checkbox [type="checkbox"]:not(:checked) + label {
    padding-left: 2em; }
    .downloads-results__checkbox [type="checkbox"]:not(:checked) + label:before {
      background: #fff; }

.downloads-results__label__title {
  color: #000;
  display: inline-block;
  text-decoration: underline; }
  .downloads-results__label__title:after {
    clear: both;
    content: ''; }
  .downloads-results__label__title:hover {
    color: #006950; }

.downloads-results__label span {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 24px;
  line-height: 2.4rem;
  font-style: italic; }

.downloads-results__label__meta {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 24px;
  line-height: 2.4rem;
  display: block; }

.downloads-results__download {
  text-align: center;
  width: 50px; }
  .downloads-results__download img {
    width: 22px; }

.material-list {
  border-left: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5; }
  .material-list thead tr {
    background: #999999;
    color: #fff; }
    .material-list thead tr th {
      border-right: 1px solid #fff;
      padding: 1.2rem 15px; }
  .material-list tbody tr td {
    border-right: 1px solid #e5e5e5;
    padding: 1.2rem 15px; }
  .material-list tbody tr:nth-child(even) {
    background-color: #e5e5e5; }
    .material-list tbody tr:nth-child(even) td {
      border-right: 1px solid #fff; }
  .material-list tbody .text {
    display: none; }
  .material-list .cell-check {
    text-align: center;
    width: 50px; }
    .material-list .cell-check label {
      padding-left: 1em !important; }
  .material-list .cell-product a, .material-list .cell-details a {
    text-decoration: underline; }
  .material-list .cell-details {
    width: 50%; }
    .material-list .cell-details .specs-list {
      -webkit-columns: 3;
         -moz-columns: 3;
              columns: 3;
      -webkit-column-rule: 1px solid #d3dbd7;
         -moz-column-rule: 1px solid #d3dbd7;
              column-rule: 1px solid #d3dbd7;
      font-size: .9em;
      margin: 0; }
      .material-list .cell-details .specs-list .label {
        display: inline-block;
        font-weight: bold;
        width: 80px; }
  .material-list .cell-amount {
    width: 100px; }
    .material-list .cell-amount input {
      max-width: 80px;
      padding: 0.6rem 5px; }
  .material-list .cell-remove {
    text-align: center;
    width: 50px; }
    .material-list .cell-remove a {
      position: relative;
      text-indent: -999em;
      overflow: hidden; }
      .material-list .cell-remove a:before, .material-list .cell-remove a:after {
        background: #999999;
        border-radius: 2px;
        content: '';
        display: block;
        height: 4px;
        left: -8px;
        position: absolute;
        top: 50%;
        -webkit-transform: rotate(45deg) translateY(-50%);
                transform: rotate(45deg) translateY(-50%);
        -webkit-transition: background-color .2s ease-in-out;
        transition: background-color .2s ease-in-out;
        width: 20px; }
      .material-list .cell-remove a:after {
        left: -5px;
        -webkit-transform: rotate(-45deg) translateY(-50%);
                transform: rotate(-45deg) translateY(-50%); }
    .material-list .cell-remove svg {
      height: auto;
      width: 14px; }
      .material-list .cell-remove svg g {
        fill: #006950; }

.material-list-mini {
  background: #006950;
  border-radius: 4px;
  -webkit-box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3);
  bottom: 10px;
  color: #fff;
  display: none;
  right: 20px;
  position: fixed;
  width: auto;
  min-width: 300px;
  z-index: 89; }
  @media screen and (max-width: 300px) {
    .material-list-mini {
      width: 100%; } }
  .material-list-mini a {
    color: #fff; }
    .material-list-mini a:hover {
      text-decoration: underline; }
  .material-list-mini__heading {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 24px;
    line-height: 2.4rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: bold;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 1.2rem 10px;
    position: relative;
    text-align: center; }
    .material-list-mini__heading .count {
      background: #e5e5e5;
      border-radius: 50%;
      display: inline-block;
      color: #006950;
      margin-left: 5px;
      width: 24px; }
    .material-list-mini__heading img {
      height: 30px;
      width: 30px;
      margin-right: 20px; }
      .material-list-mini__heading img g {
        fill: #fff; }
    .material-list-mini__heading:after {
      border-top: 3px solid #fff;
      border-right: 3px solid #fff;
      border-radius: 2px;
      content: '';
      display: inline-block;
      height: 12px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      width: 12px;
      margin-left: 20px;
      margin-right: 15px;
      margin-top: 5px; }
    .material-list-mini__heading.active:after {
      top: 13px;
      -webkit-transform: rotate(135deg);
              transform: rotate(135deg); }
  .material-list-mini__list {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-bottom: 1.2rem;
    max-height: 350px;
    position: relative;
    overflow-y: auto; }
    .material-list-mini__list__item {
      border-bottom: 1px solid #fff;
      padding: 0.6rem 30px 0.6rem 0;
      position: relative; }
      .material-list-mini__list__item strong {
        display: block; }
      .material-list-mini__list__item .close {
        position: absolute;
        right: 0;
        top: 1.8rem;
        height: 16px;
        width: 16px; }
        .material-list-mini__list__item .close:before, .material-list-mini__list__item .close:after {
          background: #fff;
          border-radius: 2px;
          content: '';
          display: block;
          height: 4px;
          position: absolute;
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg);
          -webkit-transition: background-color .2s ease-in-out;
          transition: background-color .2s ease-in-out;
          width: 100%; }
        .material-list-mini__list__item .close:after {
          -webkit-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
        .material-list-mini__list__item .close:hover:before, .material-list-mini__list__item .close:hover:after {
          background: #e5e5e5; }
  .material-list-mini__shade {
    background: -webkit-gradient(linear, left bottom, left top, from(#006950), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to top, #006950 0%, rgba(255, 255, 255, 0) 100%);
    content: '';
    display: block;
    height: 20px;
    position: relative;
    width: 100%;
    margin-top: -32px; }
  .material-list-mini__footer {
    display: none;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 15px 0.6rem 15px; }
  .material-list-mini__action {
    font-size: .9em;
    text-decoration: underline; }

.material-actions {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #e5e5e5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2.4rem;
  padding: 1.8rem 20px; }
  @media screen and (max-width: 640px) {
    .material-actions {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media screen and (max-width: 640px) {
    .material-actions__label {
      display: none; } }
  .material-actions__buttons {
    margin-left: auto; }
    @media screen and (max-width: 640px) {
      .material-actions__buttons {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
    .material-actions__buttons__button {
      background: #006950;
      color: #fff;
      display: inline-block;
      padding: 0.6rem 10px;
      -webkit-transition: background-color .2s ease-in-out;
      transition: background-color .2s ease-in-out; }
      @media screen and (max-width: 640px) {
        .material-actions__buttons__button {
          display: block;
          margin-bottom: 5px;
          text-align: center; }
          .material-actions__buttons__button:last-child {
            margin-bottom: 0; } }
      .material-actions__buttons__button:hover {
        background: #004535;
        color: #fff; }
      .material-actions__buttons__button--email {
        position: relative; }
      @media screen and (max-width: 640px) {
        .material-actions__buttons__button--print, .material-actions__buttons__button--excel {
          display: none; } }
      .material-actions__buttons__button.disabled {
        background: #999999;
        color: #e5e5e5;
        cursor: default; }
    .material-actions__buttons .email-form {
      background: #e5e5e5;
      -webkit-box-shadow: 2px 2px 10px -5px rgba(0, 0, 0, 0.3);
              box-shadow: 2px 2px 10px -5px rgba(0, 0, 0, 0.3);
      display: block;
      justify-items: flex-start;
      left: -20px;
      padding: 1.2rem 20px;
      position: absolute;
      top: calc(100% + 14px);
      width: auto;
      opacity: 0;
      visibility: hidden;
      overflow: hidden;
      -webkit-transition: all .3s ease .15s;
      transition: all .3s ease .15s; }
      .material-actions__buttons .email-form--visible {
        opacity: 1;
        visibility: visible;
        overflow: visible; }
      .material-actions__buttons .email-form__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .material-actions__buttons .email-form input[type="email"] {
        display: inline-block;
        margin-right: 10px; }

.project-info {
  margin-bottom: 2.4rem; }
  .project-info__item {
    display: inline-block;
    margin-right: 20px; }
    @media screen and (max-width: 768px) {
      .project-info__item {
        margin-bottom: 1.2rem; } }

.page-template-tpl-comparison .page-title {
  margin-bottom: 1.2rem; }

.comparison-head {
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 2.4rem; }
  .comparison-head p {
    margin-bottom: 1.2rem; }

.comparison-table-wrapper {
  overflow-x: auto;
  margin-left: 200px;
  margin-bottom: 4.8rem; }
  @media screen and (max-width: 768px) {
    .comparison-table-wrapper {
      margin-left: 110px; } }

.comparison-table {
  margin: 0; }
  .comparison-table__heading {
    min-width: 200px;
    padding: 1.2rem 20px;
    position: absolute;
    width: 200px;
    left: 0;
    top: auto;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .comparison-table__heading {
        min-width: 125px;
        width: 125px; } }
    .comparison-table__heading:after {
      bottom: 0;
      content: '';
      border-bottom: 1px solid #e5e5e5;
      display: block;
      left: 10px;
      position: absolute;
      width: calc(100% - 20px); }
  .comparison-table__cell {
    border-left: 2px solid #000;
    min-width: 240px;
    padding: 1.2rem 20px;
    position: relative;
    vertical-align: top; }
    @media screen and (max-width: 768px) {
      .comparison-table__cell {
        min-width: 175px; } }
    .comparison-table__cell:after {
      border-top: 1px solid #e5e5e5;
      bottom: 0;
      content: '';
      left: 10px;
      display: block;
      position: absolute;
      width: calc(100% - 20px); }
    .comparison-table__cell--image {
      padding: 0; }
      .comparison-table__cell--image figure {
        text-align: center; }
      .comparison-table__cell--image img {
        border: 1px solid #e5e5e5;
        display: inline-block;
        height: auto;
        max-width: 100%; }
      .comparison-table__cell--image:after {
        display: none; }
    .comparison-table__cell--title {
      padding-left: 25px;
      position: relative; }
      .comparison-table__cell--title:after {
        display: none; }
      .comparison-table__cell--title .comparison-remove {
        height: 30px;
        overflow: hidden;
        position: absolute;
        left: 0;
        text-indent: -999em;
        top: 8px;
        width: 30px; }
        .comparison-table__cell--title .comparison-remove:before, .comparison-table__cell--title .comparison-remove:after {
          background: #da291c;
          border-radius: 2px;
          content: '';
          display: block;
          height: 3px;
          left: 0;
          position: absolute;
          top: 50%;
          -webkit-transform: rotate(45deg) translateY(-50%);
                  transform: rotate(45deg) translateY(-50%);
          -webkit-transition: background-color .2s ease-in-out;
          transition: background-color .2s ease-in-out;
          width: 12px; }
        .comparison-table__cell--title .comparison-remove:after {
          left: 2px;
          -webkit-transform: rotate(-45deg) translateY(-50%);
                  transform: rotate(-45deg) translateY(-50%); }
        .comparison-table__cell--title .comparison-remove:hover:before, .comparison-table__cell--title .comparison-remove:hover:after {
          color: #961c13; }
  .comparison-table__row:first-child td {
    border: 0; }
  .comparison-table__row:nth-child(-n+1) th:after {
    content: '';
    width: 90%;
    border: 0;
    padding: 0; }
  .comparison-table .text {
    display: none; }

#comparison-table-loading {
  display: none; }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
          box-shadow: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation; }

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

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1; }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1; }
  .mfp-arrow:before, .mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
            box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  background: #fff;
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
  min-height: 75vh; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
            box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
             * Remove all paddings around the image on small screen
             */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJzdHlsZS5jc3MiLCJnbG9iYWxzL19mb250cy5zY3NzIiwibGliL25lYXQvZ3JpZC9fYm94LXNpemluZy5zY3NzIiwibGliL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsImxpYi9fZ3Jhdml0eS5zY3NzIiwiZ2xvYmFscy9fcmVzZXQuc2NzcyIsImdsb2JhbHMvX3R5cGUuc2NzcyIsImdsb2JhbHMvX3NldHRpbmdzLnNjc3MiLCJsaWIvYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJzaGFyZWQvX2xheW91dC1oZWxwZXJzLnNjc3MiLCJsaWIvbmVhdC9ncmlkL19tZWRpYS5zY3NzIiwibGliL25lYXQvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCJsaWIvbmVhdC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJzaGFyZWQvX2J1dHRvbnMuc2NzcyIsInNoYXJlZC9fZm9ybXMuc2NzcyIsInNoYXJlZC9fZm9ybXMtY3JtLnNjc3MiLCJzaGFyZWQvX3ByaW50LnNjc3MiLCJzaGFyZWQvX3RhYmxlcy5zY3NzIiwic2hhcmVkL190b29sdGlwLnNjc3MiLCJzZWN0aW9ucy9faGVhZGVyLnNjc3MiLCJnbG9iYWxzL19taXhpbnMuc2NzcyIsImxpYi9uZWF0L2dyaWQvX3NwYW4tY29sdW1ucy5zY3NzIiwibGliL25lYXQvZ3JpZC9fcHJpdmF0ZS5zY3NzIiwic2VjdGlvbnMvX2Rvb3JtYXQtZGVhbGVyLnNjc3MiLCJzZWN0aW9ucy9fZG9vcm1hdC1xdWVzdGlvbi5zY3NzIiwic2VjdGlvbnMvX2Rvb3JtYXQtY2FzZS1zdHVkaWVzLnNjc3MiLCJzZWN0aW9ucy9fZG9vcm1hdC1nZXQtaW4tdG91Y2guc2NzcyIsInNlY3Rpb25zL19mb290ZXIuc2NzcyIsImxpYi9uZWF0L2dyaWQvX29tZWdhLnNjc3MiLCJsaWIvbmVhdC9mdW5jdGlvbnMvX3ByaXZhdGUuc2NzcyIsInNlY3Rpb25zL19zZWFyY2guc2NzcyIsInNlY3Rpb25zL19zZWFyY2hmb3JtLnNjc3MiLCJzZWN0aW9ucy9fbmF2aWdhdGlvbi5zY3NzIiwic2VjdGlvbnMvX2JyZWFkY3J1bWJzLnNjc3MiLCJzZWN0aW9ucy9fYXV0b2NvbXBsZXRlLnNjc3MiLCJzZWN0aW9ucy9fYW5jaG9yLW5hdi5zY3NzIiwic2VjdGlvbnMvX3BhZ2luYXRpb24uc2NzcyIsInNlY3Rpb25zL19wYWdlLXRpdGxlLnNjc3MiLCJzZWN0aW9ucy9fY29udGVudC5zY3NzIiwic2VjdGlvbnMvX2NvdW50cnktb3ZlcnZpZXcuc2NzcyIsInNlY3Rpb25zL19maWx0ZXIuc2NzcyIsImxpYi9ib3VyYm9uL2NzczMvX3RyYW5zaXRpb24uc2NzcyIsInNlY3Rpb25zL19maWx0ZXItbGlua3Muc2NzcyIsInNlY3Rpb25zL19hY3Rpb24tYmFyLnNjc3MiLCJzZWN0aW9ucy9fc3RvcmUtbG9jYXRvci5zY3NzIiwibW9kdWxlcy9fY29sdW1ucy5zY3NzIiwibW9kdWxlcy9fY29udGVudC5zY3NzIiwibW9kdWxlcy9fZnJlZS1zdXBwb3J0LnNjc3MiLCJtb2R1bGVzL19pbnRlcmFjdGl2ZS1pbWFnZS5zY3NzIiwibW9kdWxlcy9fbGlzdC1jYXRlZ29yaWVzLnNjc3MiLCJtb2R1bGVzL19saXN0LWNoZWNrcy5zY3NzIiwibW9kdWxlcy9fbGlzdC1jb3VudHJpZXMuc2NzcyIsIm1vZHVsZXMvX2xpc3QtZ3JlZW4tdGV4dC5zY3NzIiwibW9kdWxlcy9fbGlzdC1pbWFnZS5zY3NzIiwibW9kdWxlcy9fbGlzdC1pbWFnZS10b3Auc2NzcyIsIm1vZHVsZXMvX2xpc3QtcGRmcy5zY3NzIiwibW9kdWxlcy9fbGlzdC1wZXJzb25zLnNjc3MiLCJtb2R1bGVzL19saXN0LXByb2R1Y3RzLnNjc3MiLCJtb2R1bGVzL19saXN0LXJlZmVyZW5jZXMuc2NzcyIsIm1vZHVsZXMvX2xpc3QtdmlkZW9zLnNjc3MiLCJtb2R1bGVzL19tYWluLWltYWdlLnNjc3MiLCJtb2R1bGVzL19wcm9kdWN0cy5zY3NzIiwibW9kdWxlcy9fcXVvdGUuc2NzcyIsIm1vZHVsZXMvX3NsaWRlci5zY3NzIiwibW9kdWxlcy9fY29va2llLWNvbnNlbnQuc2NzcyIsIm1vZHVsZXMvX3Byb2R1Y3QtZmlsdGVyLnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwicGFnZXMvX3NpbmdsZS1wcm9kdWN0LnNjc3MiLCJwYWdlcy9zaW5nbGUtcHJvZHVjdC9fZ2FsbGVyeS5zY3NzIiwicGFnZXMvc2luZ2xlLXByb2R1Y3QvX3Byb2R1Y3QtaW5mby5zY3NzIiwicGFnZXMvc2luZ2xlLXByb2R1Y3QvX3NwZWNzLXRhYmxlLnNjc3MiLCJwYWdlcy9zaW5nbGUtcHJvZHVjdC9fc3BlY3MtZHJhd2luZ3Muc2NzcyIsInBhZ2VzL3NpbmdsZS1wcm9kdWN0L19zcGVjcy1saXN0LnNjc3MiLCJwYWdlcy9zaW5nbGUtcHJvZHVjdC9fcHJvZHVjdC1pbnN0YWxsYXRpb24uc2NzcyIsInBhZ2VzL3NpbmdsZS1wcm9kdWN0L19wcm9kdWN0LWRvd25sb2Fkcy5zY3NzIiwicGFnZXMvc2luZ2xlLXByb2R1Y3QvX2NvbXBsZW1hbnRhcnkuc2NzcyIsInBhZ2VzL19hcmNoaXZlLXByb2R1Y3Quc2NzcyIsInBhZ2VzL19hcmNoaXZlLXJlZmVyZW5jZS5zY3NzIiwicGFnZXMvX2NvbnRhY3Quc2NzcyIsInBhZ2VzL190ZWNobmljYWwtc3VwcG9ydC5zY3NzIiwicGFnZXMvX2Rvd25sb2Fkcy5zY3NzIiwicGFnZXMvX21hdGVyaWFsLWxpc3Quc2NzcyIsInBhZ2VzL19jb21wYXJpc29uLnNjc3MiLCJ2ZW5kb3IvbWFnbmlmaWMvX21hZ25pZmljLnNjc3MiLCJ2ZW5kb3IvbWFnbmlmaWMvX3NldHRpbmdzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztDQ01DO0FDTkQsK0VBQU87QUNHTDtFQUNFLDhCQUFzQjtVQUF0QixzQkFBc0IsRUFBQTs7QUFHeEI7RUFJSSwyQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7O0FDWHpCOzs7OztFSG1CRTtBSW5CRjs7Ozs7Ozs7Ozs7Ozs7Ozs7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OUIsc0JBQXNCLEVBQUE7RUF6TTFCO0lBNE1JLDJCQUEyQjtJQUMzQixtQkFBbUIsRUFBQTtFQWpNdkI7SUFvTUksOEJBQThCO0lBQzlCLHNCQUFzQixFQUFBO0VBOWQ5QjtJQWllUSxpQkNqaEJpQztJRGtoQmpDLGtCQ2xoQmlDLEVBQUEsRURtaEJwQyIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuVGhlbWUgTmFtZTogV2FscmF2ZW4uY29tXG5EZXNjcmlwdGlvbjogV29yZFByZXNzIHRoZW1lIGZvciB3d3cud2FscmF2ZW4uY29tXG5BdXRob3I6IFVwcmlzZSA8YXJqYW5AdXByaXNlLm5sPlxuQXV0aG9yIFVSSTogaHR0cDovL3d3dy51cHJpc2UubmxcblZlcnNpb246IDEuMFxuKi9cbkBpbXBvcnQgJ2xpYi9ib3VyYm9uL2JvdXJib24nO1xuQGltcG9ydCAnbGliL25lYXQvbmVhdCc7XG5AaW1wb3J0ICdsaWIvdmVydGljYWwtcmh5dGhtJztcbkBpbXBvcnQgJ2xpYi9ncmF2aXR5JztcblxuQGltcG9ydCAnZ2xvYmFscy9zZXR0aW5ncyc7XG5AaW1wb3J0ICdnbG9iYWxzL3Jlc2V0JztcbkBpbXBvcnQgJ2dsb2JhbHMvbWl4aW5zJztcbkBpbXBvcnQgJ2dsb2JhbHMvZm9udHMnO1xuQGltcG9ydCAnZ2xvYmFscy90eXBlJztcblxuQGltcG9ydCAnc2hhcmVkL2xheW91dC1oZWxwZXJzJztcbkBpbXBvcnQgJ3NoYXJlZC9idXR0b25zJztcbkBpbXBvcnQgJ3NoYXJlZC9mb3Jtcyc7XG5AaW1wb3J0ICdzaGFyZWQvZm9ybXMtY3JtJztcbkBpbXBvcnQgJ3NoYXJlZC9wcmludCc7XG5AaW1wb3J0ICdzaGFyZWQvdGFibGVzJztcbkBpbXBvcnQgJ3NoYXJlZC90b29sdGlwJztcbkBpbXBvcnQgJ3NoYXJlZC9wcmludCc7XG5cbkBpbXBvcnQgJ3NlY3Rpb25zL2Nvb2tpZSc7XG5AaW1wb3J0ICdzZWN0aW9ucy9oZWFkZXInO1xuQGltcG9ydCAnc2VjdGlvbnMvZG9vcm1hdC1kZWFsZXInO1xuQGltcG9ydCAnc2VjdGlvbnMvZG9vcm1hdC1xdWVzdGlvbic7XG5AaW1wb3J0ICdzZWN0aW9ucy9kb29ybWF0LWNhc2Utc3R1ZGllcyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9kb29ybWF0LWdldC1pbi10b3VjaCc7XG5AaW1wb3J0ICdzZWN0aW9ucy9mb290ZXInO1xuQGltcG9ydCAnc2VjdGlvbnMvc2VhcmNoJztcbkBpbXBvcnQgJ3NlY3Rpb25zL3NlYXJjaGZvcm0nO1xuQGltcG9ydCAnc2VjdGlvbnMvbmF2aWdhdGlvbic7XG5AaW1wb3J0ICdzZWN0aW9ucy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9hdXRvY29tcGxldGUnO1xuQGltcG9ydCAnc2VjdGlvbnMvYW5jaG9yLW5hdic7XG5AaW1wb3J0ICdzZWN0aW9ucy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ3NlY3Rpb25zL3BhZ2UtdGl0bGUnO1xuQGltcG9ydCAnc2VjdGlvbnMvY29udGVudCc7XG5AaW1wb3J0ICdzZWN0aW9ucy9jb3VudHJ5LW92ZXJ2aWV3JztcbkBpbXBvcnQgJ3NlY3Rpb25zL2ZpbHRlcic7XG5AaW1wb3J0ICdzZWN0aW9ucy9maWx0ZXItbGlua3MnO1xuQGltcG9ydCAnc2VjdGlvbnMvYWN0aW9uLWJhcic7XG5AaW1wb3J0ICdzZWN0aW9ucy9zdG9yZS1sb2NhdG9yJztcblxuQGltcG9ydCAnbW9kdWxlcy9jb2x1bW5zJztcbkBpbXBvcnQgJ21vZHVsZXMvY29udGVudCc7XG5AaW1wb3J0ICdtb2R1bGVzL2ZyZWUtc3VwcG9ydCc7XG5AaW1wb3J0ICdtb2R1bGVzL2ludGVyYWN0aXZlLWltYWdlJztcbkBpbXBvcnQgJ21vZHVsZXMvbGlzdC1jYXRlZ29yaWVzJztcbkBpbXBvcnQgJ21vZHVsZXMvbGlzdC1jaGVja3MnO1xuQGltcG9ydCAnbW9kdWxlcy9saXN0LWNvdW50cmllcyc7XG5AaW1wb3J0ICdtb2R1bGVzL2xpc3QtZ3JlZW4tdGV4dCc7XG5AaW1wb3J0ICdtb2R1bGVzL2xpc3QtaW1hZ2UnO1xuQGltcG9ydCAnbW9kdWxlcy9saXN0LWltYWdlLXRvcCc7XG5AaW1wb3J0ICdtb2R1bGVzL2xpc3QtcGRmcyc7XG5AaW1wb3J0ICdtb2R1bGVzL2xpc3QtcGVyc29ucyc7XG5AaW1wb3J0ICdtb2R1bGVzL2xpc3QtcHJvZHVjdHMnO1xuQGltcG9ydCAnbW9kdWxlcy9saXN0LXJlZmVyZW5jZXMnO1xuQGltcG9ydCAnbW9kdWxlcy9saXN0LXZpZGVvcyc7XG5AaW1wb3J0ICdtb2R1bGVzL21haW4taW1hZ2UnO1xuQGltcG9ydCAnbW9kdWxlcy9wcm9kdWN0cyc7XG5AaW1wb3J0ICdtb2R1bGVzL3F1b3RlJztcbkBpbXBvcnQgJ21vZHVsZXMvc2xpZGVyJztcbkBpbXBvcnQgJ21vZHVsZXMvY29va2llLWNvbnNlbnQnO1xuQGltcG9ydCAnbW9kdWxlcy9wcm9kdWN0LWZpbHRlcic7XG5cbkBpbXBvcnQgJ3BhZ2VzL2hvbWUnO1xuQGltcG9ydCAncGFnZXMvc2luZ2xlLXByb2R1Y3QnO1xuQGltcG9ydCAncGFnZXMvc2luZ2xlLXByb2R1Y3QvZ2FsbGVyeSc7XG5AaW1wb3J0ICdwYWdlcy9zaW5nbGUtcHJvZHVjdC9wcm9kdWN0LWluZm8nO1xuQGltcG9ydCAncGFnZXMvc2luZ2xlLXByb2R1Y3Qvc3BlY3MtdGFibGUnO1xuQGltcG9ydCAncGFnZXMvc2luZ2xlLXByb2R1Y3Qvc3BlY3MtZHJhd2luZ3MnO1xuQGltcG9ydCAncGFnZXMvc2luZ2xlLXByb2R1Y3Qvc3BlY3MtbGlzdCc7XG5AaW1wb3J0ICdwYWdlcy9zaW5nbGUtcHJvZHVjdC9wcm9kdWN0LWluc3RhbGxhdGlvbic7XG5AaW1wb3J0ICdwYWdlcy9zaW5nbGUtcHJvZHVjdC9wcm9kdWN0LWRvd25sb2Fkcyc7XG5AaW1wb3J0ICdwYWdlcy9zaW5nbGUtcHJvZHVjdC9jb21wbGVtYW50YXJ5JztcbkBpbXBvcnQgJ3BhZ2VzL2FyY2hpdmUtcHJvZHVjdCc7XG5AaW1wb3J0ICdwYWdlcy9hcmNoaXZlLXJlZmVyZW5jZSc7XG5AaW1wb3J0ICdwYWdlcy9jb250YWN0JztcbkBpbXBvcnQgJ3BhZ2VzL3RlY2huaWNhbC1zdXBwb3J0JztcbkBpbXBvcnQgJ3BhZ2VzL2Rvd25sb2Fkcyc7XG5AaW1wb3J0ICdwYWdlcy9tYXRlcmlhbC1saXN0JztcbkBpbXBvcnQgJ3BhZ2VzL2NvbXBhcmlzb24nO1xuQGltcG9ydCAndmVuZG9yL21hZ25pZmljL21hZ25pZmljJztcbiIsIi8qXG5UaGVtZSBOYW1lOiBXYWxyYXZlbi5jb21cbkRlc2NyaXB0aW9uOiBXb3JkUHJlc3MgdGhlbWUgZm9yIHd3dy53YWxyYXZlbi5jb21cbkF1dGhvcjogVXByaXNlIDxhcmphbkB1cHJpc2Uubmw+XG5BdXRob3IgVVJJOiBodHRwOi8vd3d3LnVwcmlzZS5ubFxuVmVyc2lvbjogMS4wXG4qL1xuQGltcG9ydCBcIi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuMi4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzc1wiO1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKiwgKjo6YWZ0ZXIsICo6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLypcbiAqIFZlcnRpY2FsIFJoeXRobW4gaW4gU2FzcyB3aXRoIGhlbHBmdWwgbWl4aW5zIGFuZCBoZWxwZXJzXG4gKiBBdXRob3I6ICBHYXlhIEtlc3NsZXJcbiAqIFZlcnNpb246IDAuMC4xXG4gKiBEYXRlOiAgICAyMDE0LTA1LTE4XG4gKi9cbi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnJlYWR5Y2xhc3MuY3NzXG5HcmF2aXR5IEZvcm1zIFJlYWR5IENsYXNzIFByZS1TZXQgSGVscGVyIFN0eWxlc1xuaHR0cDovL3d3dy5ncmF2aXR5Zm9ybXMuY29tXG51cGRhdGVkOiBKdWx5IDEyLCAyMDE2IDEwOjExIFBNIEdNVC01XG5cbkdyYXZpdHkgRm9ybXMgaXMgYSBSb2NrZXRnZW5pdXMgcHJvamVjdFxuY29weXJpZ2h0IDIwMDgtMjAxNiBSb2NrZXRnZW5pdXMgSW5jLlxuaHR0cDogLy93d3cucm9ja2V0Z2VuaXVzLmNvbVxudGhpcyBtYXkgbm90IGJlIHJlZGlzdHJpYnV0ZWQgd2l0aG91dCB0aGVcbmV4cHJlc3Mgd3JpdHRlbiBwZXJtaXNzaW9uIG9mIHRoZSBhdXRob3IuXG5cbk5PVEU6IERPIE5PVCBFRElUIFRISVMgRklMRSEgTUFLRSBBTlkgTU9ESUZJQ0FUSU9OUyBJTiBZT1VSXG5USEVNRSBTVFlMRVNIRUVULiBUSElTIEZJTEUgSVMgUkVQTEFDRUQgRFVSSU5HIEFVVE8tVVBEQVRFU1xuQU5EIEFOWSBDSEFOR0VTIE1BREUgSEVSRSBXSUxMIEJFIE9WRVJXUklUVEVOLlxuXG5JZiB5b3UgbmVlZCB0byBtYWtlIGV4dGVuc2l2ZSBjdXN0b21pemF0aW9ucyxcbmNvcHkgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB0byB5b3VyIHRoZW1lXG5zdHlsZSBzaGVldCBmb3IgZWRpdGluZy4gVGhlbiwgZ28gdG8gdGhlIGZvcm1cbnNldHRpbmdzIHBhZ2UgJiBzZXQgdGhlICdvdXRwdXQgQ1NTJyBvcHRpb25cbnRvIG5vLlxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZXh0XS5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dXJsXS5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9ZW1haWxdLmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZWxdLmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1udW1iZXJdLmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1wYXNzd29yZF0ubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRleHRdLm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dXJsXS5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPWVtYWlsXS5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRlbF0ubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1udW1iZXJdLm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9cGFzc3dvcmRdLm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGV4dF0uc21hbGwsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXVybF0uc21hbGwsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPWVtYWlsXS5zbWFsbCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGVsXS5zbWFsbCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9bnVtYmVyXS5zbWFsbCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9cGFzc3dvcmRdLnNtYWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZXh0XS5kYXRlcGlja2VyLm1lZGl1bSB7XG4gICAgd2lkdGg6IDk2cHggIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX3RpbWVfaG91ciBpbnB1dFt0eXBlPXRleHRdLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX21pbnV0ZSBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICB3aWR0aDogNzAlICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGRpdi5nZmllbGRfdGltZV9ob3VyLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX21pbnV0ZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGRpdi5nZmllbGRfZGF0ZV9tb250aCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGRpdi5nZmllbGRfZGF0ZV9kYXksXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX2RhdGVfeWVhciB7XG4gICAgd2lkdGg6IDUwcHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGRpdi5nZmllbGRfdGltZV9hbXBtIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9pbmxpbmUgZGl2LmdpbnB1dF9jb250YWluZXIge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9pbmxpbmUgZGl2LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiB7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmIC5naW5wdXRfY29udGFpbmVyOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSk6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpOm5vdCguZ2lucHV0X3F1YW50aXR5KTpub3QodWwuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0KTpub3QodWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0KTpub3QoLmRhdGVwaWNrZXIpLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIC5naW5wdXRfY29udGFpbmVyOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSk6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpOm5vdCguZ2lucHV0X3F1YW50aXR5KTpub3QoLmRhdGVwaWNrZXIpIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogOHB4IDAgMCAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfbGVmdF9oYWxmLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfcmlnaHRfaGFsZiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gOHB4KTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfbGVmdF9oYWxmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgdGV4dGFyZWEsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgdGV4dGFyZWEge1xuICAgIHdpZHRoOiA5OCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmIGlucHV0LnNtYWxsLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGlucHV0LnNtYWxsIHtcbiAgICB3aWR0aDogMzUlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiArIGxpLmdzZWN0aW9uLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmICsgbGkuZ3NlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDE2cHggMCA4cHggMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgKyBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgKyBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZiArIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYgKyBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZiB7XG4gICAgcGFkZGluZzogMTZweCAwIDhweCAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZiArIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmIHtcbiAgICBwYWRkaW5nOiAwIDAgOHB4IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYgKyBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYge1xuICAgIHBhZGRpbmc6IDE2cHggMCA4cHggMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgKyBsaS5nZmllbGQsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgKyBsaS5nZmllbGQsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiArIC5nZm9ybV9mb290ZXIsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgKyAuZ2Zvcm1fZm9vdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiAzIGNvbHVtbnMgKi9cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCB7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZDpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQ6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSB7XG4gICAgd2lkdGg6IDMzLjMlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSkge1xuICAgIHdpZHRoOiAzMy40JTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0LmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5sYXJnZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoLmdpbnB1dF9xdWFudGl0eSksXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoLmdpbnB1dF9xdWFudGl0eSksXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pOm5vdCguZ2lucHV0X3F1YW50aXR5KSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfbGVmdF90aGlyZCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX21pZGRsZV90aGlyZCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMyUgLSAxNnB4KSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTZweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfcmlnaHRfdGhpcmQge1xuICAgIHdpZHRoOiAzMy40JTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkICsgbGkuZ3NlY3Rpb24sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkICsgbGkuZ3NlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDE2cHggMCA4cHggMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkICsgbGkuZ2ZpZWxkLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQgKyBsaS5nZmllbGQsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkICsgbGkuZ2ZpZWxkLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkICsgLmdmb3JtX2Zvb3RlcixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkICsgLmdmb3JtX2Zvb3RlcixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgKyAuZ2Zvcm1fZm9vdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAvKiA0IGNvbHVtbnMgLSBxdWFydGVycyAqL1xuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSksXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSksXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dDpub3QoW3R5cGU9J3JhZGlvJ10pOm5vdChbdHlwZT0nY2hlY2tib3gnXSksXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfZmlyc3RfcXVhcnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX3NlY29uZF9xdWFydGVyLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfdGhpcmRfcXVhcnRlcixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX2ZvdXJ0aF9xdWFydGVyIHtcbiAgICB3aWR0aDogMjQuNSU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBpbnB1dC5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgaW5wdXQubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgc2VsZWN0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBzZWxlY3QubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyIGlucHV0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgaW5wdXQubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyIHNlbGVjdC5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyIHNlbGVjdC5sYXJnZSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBpbnB1dC5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXIgaW5wdXQubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXIgc2VsZWN0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBzZWxlY3QubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIGlucHV0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgaW5wdXQubGFyZ2UsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIHNlbGVjdC5tZWRpdW0sXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIHNlbGVjdC5sYXJnZSB7XG4gICAgd2lkdGg6IDk3LjUlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgKyBsaS5nc2VjdGlvbixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgKyBsaS5nc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMTZweCAwIDhweCAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgKyBsaS5nZmllbGQsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyICsgbGkuZ2ZpZWxkLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyICsgbGkuZ2ZpZWxkLFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciArIGxpLmdmaWVsZCxcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciArIC5nZm9ybV9mb290ZXIsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyICsgLmdmb3JtX2Zvb3RlcixcbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciArIC5nZm9ybV9mb290ZXIsXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyICsgLmdmb3JtX2Zvb3RlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLyogaG9yaXpvbnRhbCBsaXN0IGNvbHVtbnMgLSBkaXNwbGF5ZWQgaW5saW5lICovXG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDE2cHgpOyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpbGkgdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICB3aWR0aDogY2FsYyg3MCUgKyAxNnB4KTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmb250LXNpemU6IDkwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHdpZHRoOiAzMy4zJTtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMnB4IDA7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZm9udC1zaXplOiA5MCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF80Y29sIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCB7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZm9udC1zaXplOiA5MCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzVjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZm9udC1zaXplOiA5MCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfY2hlY2tib3gsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX3JhZGlvLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9jaGVja2JveCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfcmFkaW8sXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF80Y29sIHVsLmdmaWVsZF9yYWRpbyxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCB1bC5nZmllbGRfY2hlY2tib3gsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzVjb2wgdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmX2xpc3RfM2NvbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmX2xpc3RfaW5saW5lIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwOyB9XG4gIC8qIHZlcnRpY2FsIGxpc3QgY29sdW1ucyAtIHVzaW5nIENTUyBjb2x1bW5zICovXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfM2NvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNGNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNWNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gge1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogMTZweDtcbiAgICAtbW96LWNvbHVtbi1nYXA6IDE2cHg7XG4gICAgY29sdW1uLWdhcDogMTZweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIGxhYmVsLmdmaWVsZF9sYWJlbCxcbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgbGFiZWwuZ2ZpZWxkX2xhYmVsLFxuICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCBsYWJlbC5nZmllbGRfbGFiZWwge1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWNvdW50OiAyOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfM2NvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfM2NvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1jb3VudDogMzsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzRjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzRjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcbiAgICAtbW96LWNvbHVtbi1jb3VudDogNDtcbiAgICBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF81Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF81Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDU7XG4gICAgY29sdW1uLWNvdW50OiA1OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfM2NvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfM2NvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNGNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNGNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNWNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNWNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwge1xuICAgIG1heC13aWR0aDogNzUlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMjUgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMjUgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBoZWlnaHQ6IDI1cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzUwIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzUwIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgaGVpZ2h0OiA1MHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF83NSB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF83NSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIGhlaWdodDogNzVweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTAwIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzEwMCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIGhlaWdodDogMTAwcHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzEyNSB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8xMjUgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8xNTAgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTUwIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgaGVpZ2h0OiAxNTBweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCA4cHggMTBweCAwO1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBodG1sOm5vdFtkaXI9XCJydGxcIl0gLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF9pbmxpbmUgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICBodG1sOm5vdFtkaXI9XCJydGxcIl0gLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF9pbmxpbmUgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgaHRtbFtkaXI9XCJydGxcIl0gLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF9pbmxpbmUgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICBodG1sW2Rpcj1cInJ0bFwiXSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2hpZGVfYW1wbSBkaXYuZ2ZpZWxkX3RpbWVfYW1wbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IHtcbiAgICBoZWlnaHQ6IDI0MHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBoMi5nc2VjdGlvbl90aXRsZSB7XG4gICAgbWFyZ2luOiAxMHB4IDEwcHggMCA4cHggIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2dlY2tvIC50b3BfbGFiZWwgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgaDIuZ3NlY3Rpb25fdGl0bGUsXG4gIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC50b3BfbGFiZWwgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgaDIuZ3NlY3Rpb25fdGl0bGUge1xuICAgIG1hcmdpbjogMCAxMHB4IDAgOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCAuZ3NlY3Rpb25fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gdWwgbGksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gdWwgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gdWwsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMTZweCAwIDE2cHggMThweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gb2wgbGksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gb2wgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gb2wsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gb2wge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMTZweCAwIDE4cHggMzJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gb2wgbGkgdWwsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gb2wgbGkgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCB7XG4gICAgbWFyZ2luOiAxNnB4IDAgMTZweCAxOHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gb2wgbGkgdWwgbGkge1xuICAgIG1hcmdpbjogMCAwIDhweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBkbCB7XG4gICAgbWFyZ2luOiAwIDAgMThweCAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBkbCBkdCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBkbCBkZCB7XG4gICAgbWFyZ2luOiAwIDAgMTZweCAxOHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ncmVlbixcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X3JlZCxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X3llbGxvdyxcbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X2dyYXksXG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ibHVlIHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luOiAyMHB4IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X2dyZWVuIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTdCNDhBO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDQkVDQTA7XG4gICAgdGV4dC1zaGFkb3c6ICNERkIgMXB4IDFweDtcbiAgICBjb2xvcjogIzAzMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfcmVkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0ZBREIzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUYyRjU7XG4gICAgdGV4dC1zaGFkb3c6ICNGRkYgMXB4IDFweDtcbiAgICBjb2xvcjogIzgzMjUyNTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfeWVsbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTZEQjU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCQ0M7XG4gICAgdGV4dC1zaGFkb3c6ICNGQ0ZBRUEgMXB4IDFweDtcbiAgICBjb2xvcjogIzIyMjsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfZ3JheSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFO1xuICAgIHRleHQtc2hhZG93OiAjRkZGIDFweCAxcHg7XG4gICAgY29sb3I6ICM0MjQyNDI7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X2JsdWUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhN2MyZTc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QxRTRGMztcbiAgICB0ZXh0LXNoYWRvdzogI0UwRjFGRiAxcHggMXB4O1xuICAgIGNvbG9yOiAjMzE0NDc1OyB9XG4gIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fc2ltcGxlX3llbGxvdyB7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgcGFkZGluZzogMzJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQkNDO1xuICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3NpbXBsZV9ncmF5IHtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQztcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQUVBRUE7XG4gICAgY29sb3I6ICM0MjQyNDI7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG4gIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25feWVsbG93X2dyYWRpZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkJEMjtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTZEQjU1O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgyMjEsIDIxNSwgMTMxLCAwLjc1KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggNXB4IHJnYmEoMjIxLCAyMTUsIDEzMSwgMC43NSk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgyMjEsIDIxNSwgMTMxLCAwLjc1KTsgfVxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudCBkaXYuZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNGRkY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkJDQztcbiAgICBjb2xvcjogIzQyNDI0MjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmY2U1O1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2ZmZmNlNSAwJSwgI2ZmZjliZiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjZmZmY2U1KSwgY29sb3Itc3RvcCgxMDAlLCAjZmZmOWJmKSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmY2U1IDAlLCAjZmZmOWJmIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZjZTUgMCUsICNmZmY5YmYgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZjZTUgMCUsICNmZmY5YmYgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZmNlNSAwJSwgI2ZmZjliZiAxMDAlKTsgfVxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX2dyZWVuX2dyYWRpZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZmNkZjtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYTdjMzdjO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSg4NiwgMTIyLCA4NiwgMC40KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggNXB4IHJnYmEoODYsIDEyMiwgODYsIDAuNCk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSg4NiwgMTIyLCA4NiwgMC40KTsgfVxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX2dyZWVuX2dyYWRpZW50IGRpdi5nZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIG1heC13aWR0aDogOTklO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2VmZmFkZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2E3YzM3YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQkNDO1xuICAgIHRleHQtc2hhZG93OiAjREZCIDFweCAxcHg7XG4gICAgY29sb3I6ICMwMzA7XG4gICAgYmFja2dyb3VuZDogI2RiZjJiNztcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNkYmYyYjcgMCUsICNiNGQwODggMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgI2RiZjJiNyksIGNvbG9yLXN0b3AoMTAwJSwgI2I0ZDA4OCkpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2RiZjJiNyAwJSwgI2I0ZDA4OCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZGJmMmI3IDAlLCAjYjRkMDg4IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjZGJmMmI3IDAlLCAjYjRkMDg4IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNkYmYyYjcgMCUsICNiNGQwODggMTAwJSk7IH1cbiAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl95ZWxsb3dfZ3JhZGllbnQ6YmVmb3JlLFxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudDphZnRlcixcbiAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9ncmVlbl9ncmFkaWVudDpiZWZvcmUsXG4gIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fZ3JlZW5fZ3JhZGllbnQ6YWZ0ZXIge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvdHRvbTogMTVweDtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgdG9wOiA4MCU7XG4gICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAxNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJveC1zaGFkb3c6IDAgMTVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7IH1cbiAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl95ZWxsb3dfZ3JhZGllbnQ6YWZ0ZXIsXG4gIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fZ3JlZW5fZ3JhZGllbnQ6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgbGVmdDogYXV0bzsgfVxuICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIHJlYWR5IGNsYXNzIC0gdmVyeSBzaW1wbGUgaW1wbGVtZW50YXRpb24gZm9yIHVwIHRvIDUgZmllbGRzIGFuZCBhIGJ1dHRvbiAqL1xuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0xNnB4KTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5LFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9mb290ZXIudG9wX2xhYmVsIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2lucHV0X2NvbnRhaW5lcixcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCB1bCBsaS5nZmllbGQge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9mb290ZXIudG9wX2xhYmVsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICBib2R5Om5vdChydGwpIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgLmdpbnB1dF9jb21wbGV4IGxhYmVsLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIC5nZmllbGRfZGVzY3JpcHRpb246bm90KC52YWxpZGF0aW9uX21lc3NhZ2UpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtOTAwMHB4OyB9XG4gIC8qIHNpbXBsZSBob3Jpem9udGFsIGZvcm0gLSBzZXQgYSB3aWR0aCBmb3Igb25lIGZpZWxkICovXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMSk6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC8qIHNpbXBsZSBob3Jpem9udGFsIGZvcm0gLSBzZXQgYSB3aWR0aCBmb3IgdHdvIGZpZWxkcyAqL1xuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDIpLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDIpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC8qIHNpbXBsZSBob3Jpem9udGFsIGZvcm0gLSBzZXQgYSB3aWR0aCBmb3IgdGhyZWUgZmllbGRzICovXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMSk6bnRoLWxhc3QtY2hpbGQoMyksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMik6bnRoLWxhc3QtY2hpbGQoMiksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMyk6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgIHdpZHRoOiAzMy4zMzMzJTsgfVxuICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIC0gc2V0IGEgd2lkdGggZm9yIGZvdXIgZmllbGRzICovXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMSk6bnRoLWxhc3QtY2hpbGQoNCksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMik6bnRoLWxhc3QtY2hpbGQoMyksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMyk6bnRoLWxhc3QtY2hpbGQoMiksXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoNCk6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLyogc2ltcGxlIGhvcml6b250YWwgZm9ybSAtIHNpbXBsZSBob3Jpem9udGFsIGZvcm0gLSBzZXQgYSB3aWR0aCBmb3IgZml2ZSBmaWVsZHMgKi9cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgxKTpudGgtbGFzdC1jaGlsZCg1KSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgyKTpudGgtbGFzdC1jaGlsZCg0KSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgzKTpudGgtbGFzdC1jaGlsZCgzKSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCg0KTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCg1KTpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIC0gc2V0IGEgd2lkdGggZm9yIHNpeCBmaWVsZHMgKi9cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgxKTpudGgtbGFzdC1jaGlsZCg2KSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgyKTpudGgtbGFzdC1jaGlsZCg1KSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgzKTpudGgtbGFzdC1jaGlsZCg0KSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCg0KTpudGgtbGFzdC1jaGlsZCgzKSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCg1KTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCg2KTpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgd2lkdGg6IDE2LjYlOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsLmZvcm1fc3VibGFiZWxfYmVsb3cgbGkuZ2ZpZWxkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsLmZvcm1fc3VibGFiZWxfYWJvdmUgbGkuZ2ZpZWxkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCBpbnB1dC5zbWFsbCxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIGlucHV0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIGlucHV0LmxhcmdlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgc2VsZWN0LnNtYWxsLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgc2VsZWN0Lm1lZGl1bSxcbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIHNlbGVjdC5sYXJnZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9mb290ZXIudG9wX2xhYmVsIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwgaW5wdXRbdHlwZT1cImltYWdlXCJdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCAudG9wX2xhYmVsIC5nZmllbGRfZXJyb3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLyogZW5kIG1lZGlhIHF1ZXJ5ICovIH1cblxuaGVhZGVyLCBzZWN0aW9uLCBmb290ZXIsIGFzaWRlLCBuYXYsIGFydGljbGUsIGZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4OyB9XG5cbmh0bWwge1xuICBjb2xvcjogIzAwMDsgfVxuXG5ib2R5LCBkaXYsIGRsLCBkdCwgZGQsIHVsLCBvbCwgbGksIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHByZSwgY29kZSwgZm9ybSwgZmllbGRzZXQsIGxlZ2VuZCwgaW5wdXQsIGJ1dHRvbiwgdGV4dGFyZWEsIHAsIGJsb2NrcXVvdGUsIHRoLCB0ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbmZpZWxkc2V0LCBpbWcge1xuICBib3JkZXI6IDA7IH1cblxuYWRkcmVzcywgY2FwdGlvbiwgY2l0ZSwgY29kZSwgZGZuLCBlbSwgc3Ryb25nLCB0aCwgdmFyLCBvcHRncm91cCB7XG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbmRlbCwgaW5zIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5jYXB0aW9uLCB0aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5xOmJlZm9yZSwgcTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbmFiYnIsIGFjcm9ueW0ge1xuICBib3JkZXI6IDA7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsOyB9XG5cbnN1cCB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxubGVnZW5kIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuaW5wdXQsIGJ1dHRvbiwgdGV4dGFyZWEsIHNlbGVjdCwgb3B0Z3JvdXAsIG9wdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbmlucHV0LCBidXR0b24sIHRleHRhcmVhLCBzZWxlY3Qge1xuICAqZm9udC1zaXplOiAxMDAlOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDYyLjUlO1xuICAvKiBTZXRzIHVwIHRoZSBCYXNlIDEwIHN0dWZmICovIH1cblxuaHRtbCBib2R5LCBodG1sIGlucHV0LCBodG1sIHRleHRhcmVhLCBodG1sIGJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMi40cmVtOyB9XG5cbmJ1dHRvbixcbi5idXR0b24sIC5idXR0b24tLXllbGxvdywgaW5wdXRbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9idXR0b24sIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b24sIC5kZWFsZXItZm9ybV9fc3VibWl0LCAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudF9fYnV0dG9uLCAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm1fX3N1Ym1pdCxcbi5mb290ZXItbmV3c2xldHRlcl9fZm9ybSAuZ2Zvcm1fYnV0dG9uLFxuLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm1fX3N1Ym1pdCxcbi5mb290ZXItbmV3c2xldHRlciBmb3JtIC5nZm9ybV9idXR0b24sIC5maWx0ZXItaXRlbXNfX2xhYmVsX19idXR0b24sIC5zbGlkZXNob3dfX3NsaWRlX19idXR0b24ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfVxuXG5oMSwgLmRvb3JtYXQtcXVlc3Rpb25fX2NvbnRlbnRfX2hlYWRpbmcsIC5jb250ZW50X19tYWluLWhlYWRpbmcge1xuICBmb250LXNpemU6IDM1cHg7XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xuICBsaW5lLWhlaWdodDogNTIuNXB4O1xuICBsaW5lLWhlaWdodDogNS4yNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBsaW5lLWhlaWdodDogMy42cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LXNpemU6IDEuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI4LjVweDtcbiAgbGluZS1oZWlnaHQ6IDIuODVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsaW5lLWhlaWdodDogMi40cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW07IH1cblxuYm9keSwgLmNvbnRlbnQgaDIsIC5zcGVjcy10YWJsZSB0aC5oZWFkaW5nIC5kZXNjLFxuLnNwZWNzLXRhYmxlIHRoLnRhYmxlLWhlYWRlciAuZGVzYyxcbi5zcGVjcy10YWJsZSAubGFiZWwgLmRlc2MsIC5jb250YWN0LXNlY3Rpb25fX2hlYWRpbmcge1xuICBmb250LWZhbWlseTogJ3Byb3hpbWEtbm92YScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5kb29ybWF0LWRlYWxlcl9fY29udGVudF9faGVhZGluZywgLnNlYXJjaGZvcm1fX3N1Ym1pdCwgLmxpc3QtY2F0ZWdvcmllc19faXRlbV9fY291bnQsIC5saXN0LWNhdGVnb3JpZXNfX2l0ZW1fX3RleHRfX2hlYWRpbmcsIC5saXN0LXBlcnNvbnNfX2l0ZW1fX2hlYWRpbmcsIC5saXN0LXByb2R1Y3RzX19pdGVtX19sYWJlbCwgLnNlZS1hbHNvX19pdGVtLCAuc2hvdy1tb3JlLWZpbHRlcnMge1xuICBmb250LWZhbWlseTogJ3Byb3hpbWEtbm92YScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbmEuYmlnZ2VyLWxpbmssIHN0cm9uZywgYnV0dG9uLFxuLmJ1dHRvbiwgLmJ1dHRvbi0teWVsbG93LCBpbnB1dFt0eXBlPXN1Ym1pdF0sIC5nZm9ybV9ib2R5IC5nZmllbGQgbGFiZWwsXG4ubWt0b0Zvcm0gLmdmaWVsZCBsYWJlbCwgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fYnV0dG9uLCAubWt0b0Zvcm0gbGFiZWwsIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b24sIC5kb29ybWF0LWRlYWxlcl9fY29udGVudF9fc3ViaGVhZGluZywgLmRlYWxlci1mb3JtX19zdWJtaXQsIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50X19idXR0b24sIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uIGg0LCAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm1fX3N1Ym1pdCxcbi5mb290ZXItbmV3c2xldHRlcl9fZm9ybSAuZ2Zvcm1fYnV0dG9uLFxuLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm1fX3N1Ym1pdCxcbi5mb290ZXItbmV3c2xldHRlciBmb3JtIC5nZm9ybV9idXR0b24sIC5jb250ZW50X19zZWN0aW9uX19pbnRybywgLmNvbnRlbnQgaDMsIC5jb250ZW50IGg0LCAuZmlsdGVyX19zZWN0aW9uX19oZWFkaW5nLCAuZmlsdGVyLWl0ZW1zX19sYWJlbF9fYnV0dG9uLCAuZnJlZS1zdXBwb3J0X19oZWFkaW5nLCAubGlzdC1ncmVlbi10ZXh0X19pdGVtX19jb250ZW50X19oZWFkaW5nLCAubGlzdC1pbWFnZV9faXRlbV9faGVhZGluZywgLmxpc3QtaW1hZ2UtdG9wX19pdGVtX19oZWFkaW5nLCAubGlzdC1wZXJzb25zX19pdGVtX19sb2NhdGlvbiwgLmxpc3QtcHJvZHVjdHNfX2l0ZW1fX2hlYWRpbmcsIC5tYWluLWltYWdlX19oZWFkaW5nLCAuc2xpZGVzaG93X19zbGlkZV9faGVhZGluZywgLnNsaWRlc2hvd19fc2xpZGVfX2J1dHRvbiwgLnNwZWNzLXRhYmxlIHRoLmhlYWRpbmcsXG4uc3BlY3MtdGFibGUgdGgudGFibGUtaGVhZGVyLFxuLnNwZWNzLXRhYmxlIC5sYWJlbCwgLnNwZWNzLXRhYmxlLXdyYXBwZXJfX3Nob3ctbW9yZSwgLnNwZWNzLWxpc3RfX2hlYWRpbmcsIC5wcm9kdWN0LWluc3RhbGxhdGlvbl9faGVhZGluZywgLnByb2R1Y3QtY29tcGxlbWVudGFyeV9faGVhZGluZyxcbi5wcm9kdWN0LWFsdGVybmF0aXZlX19oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5ib2R5IHtcbiAgY29sb3I6ICMwMDA7IH1cblxuYm9keSxcbmltZyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyOyB9XG5cbnAge1xuICBtYXJnaW46IDAgMCAyLjRyZW07IH1cblxuYSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICBjb2xvcjogIzAwNjk1MDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICMwMDQ1MzU7IH1cbiAgYS5iaWdnZXItbGluayB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07IH1cbiAgYS51bmRlcmxpbmUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDA2OTUwOyB9XG5cbmgxLFxuaDIsXG5oMyB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuXG5oMSB7XG4gIGNvbG9yOiAjMDA2OTUwOyB9XG5cbmgyIHtcbiAgY29sb3I6ICMwMDY5NTA7IH1cblxuaDQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmg1IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5oNiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuZGVsIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cblxuYWJiciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYTNiZGI1O1xuICBjb2xvcjogIzAwNjk1MDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbnN1cCxcbnN1cGVyc2NyaXB0IHtcbiAgdmVydGljYWwtYWxpZ246IHN1cDsgfVxuXG5zdWIsXG5zdWJzY3JpcHQge1xuICB2ZXJ0aWNhbC1hbGlnbjogc3ViOyB9XG5cbi5oaWdobGlnaHQge1xuICBjb2xvcjogI2ZmZWQwMDsgfVxuXG5odG1sLFxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICBodG1sLm5vLXNjcm9sbGluZyxcbiAgYm9keS5uby1zY3JvbGxpbmcge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG5ib2R5IHtcbiAgcGFkZGluZy10b3A6IDE4OXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgYm9keSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTQ0cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGJvZHkge1xuICAgICAgcGFkZGluZy10b3A6IDE5NnB4OyB9IH1cblxuLndyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEyMjBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLndyYXBwZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAgIC53cmFwcGVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIC53cmFwcGVyLS1hcmNoaXZlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07IH1cblxuLnZpZGVvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIC8qIDE2OjkgKi9cbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIGhlaWdodDogMDsgfVxuICAudmlkZW8td3JhcHBlciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgMTVweCAxLjJyZW07IH1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDEuMnJlbSAxNXB4OyB9XG5cbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm1vcmUtbGluayB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjJzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjJzIGVhc2UtaW4tb3V0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNnJlbSAwIDAuNnJlbSA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYwcHgpIHtcbiAgICAucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAuY2F0ZWdvcnktb3ZlcnZpZXcgLm1vcmUtbGluayxcbiAgICAudGF4LXByb2R1Y3QtY2F0ZWdvcnkgLmNhdGVnb3J5LW92ZXJ2aWV3IC5tb3JlLWxpbmsge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgLm1vcmUtbGluazpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAzMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYwcHgpIHtcbiAgICAgIC5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC5jYXRlZ29yeS1vdmVydmlldyAubW9yZS1saW5rOmJlZm9yZSxcbiAgICAgIC50YXgtcHJvZHVjdC1jYXRlZ29yeSAuY2F0ZWdvcnktb3ZlcnZpZXcgLm1vcmUtbGluazpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1vcmUtbGluazphZnRlciB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2ZmZjtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBsZWZ0OiAxMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEzcHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHdpZHRoOiA3cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLnBvc3QtdHlwZS1hcmNoaXZlLXByb2R1Y3QgLmNhdGVnb3J5LW92ZXJ2aWV3IC5tb3JlLWxpbms6YWZ0ZXIsXG4gICAgICAudGF4LXByb2R1Y3QtY2F0ZWdvcnkgLmNhdGVnb3J5LW92ZXJ2aWV3IC5tb3JlLWxpbms6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1vcmUtbGluay0taW52ZXJzZTphZnRlciB7XG4gICAgbGVmdDogMTNweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuICAubW9yZS1saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5tb3JlLWxpbms6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDQ1MzU7IH1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgZmlndXJlLmFsaWdubGVmdCwgZmlndXJlLmFsaWducmlnaHQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMS4ycmVtIDA7IH0gfVxuXG5maWd1cmUgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmZpZ3VyZS5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDVweCAwIDA7IH1cblxuZmlndXJlLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDAgNXB4OyB9XG5cbi5oaWRlLWZvci1kZXNrdG9wIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5oaWRlLWZvci1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbiNtYXBfY2FudmFzIHtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmhvbWUtc2VjdGlvbi1saXN0LWltYWdlcyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhvbWUtc2VjdGlvbi1saXN0LWltYWdlcyAud3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDEuMnJlbTsgfVxuXG4jdG8tdG9wIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm90dG9tOiA3LjJyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAyNXB4IDE1cHggMCAxNXB4O1xuICBvcGFjaXR5OiAwLjg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDcuMnJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICB6LWluZGV4OiA4ODsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICN0by10b3Age1xuICAgICAgcmlnaHQ6IDIwcHg7IH0gfVxuICAjdG8tdG9wOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICN0by10b3A6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjb250ZW50OiAnXFxmMTA2JztcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCIsIEZvbnRBd2Vzb21lLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIHRvcDogMDsgfVxuXG4ueW91dHViZS12aWRlby1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAueW91dHViZS12aWRlby1jb250YWluZXIgaWZyYW1lLFxuICAueW91dHViZS12aWRlby1jb250YWluZXIgb2JqZWN0LFxuICAueW91dHViZS12aWRlby1jb250YWluZXIgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuYnV0dG9uLFxuLmJ1dHRvbiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAxLjJyZW0gMjBweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBidXR0b246aG92ZXIsXG4gIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQ1MzU7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgYnV0dG9uOmFjdGl2ZSxcbiAgLmJ1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM0Mjg7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgYnV0dG9uLmRpc2FibGVkLFxuICAuYnV0dG9uLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICBidXR0b24sXG4gICAgLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjZyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC42cmVtOyB9IH1cbiAgYnV0dG9uLS1tb3JlOmFmdGVyLFxuICAuYnV0dG9uLS1tb3JlOmFmdGVyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG1hcmdpbiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogbWFyZ2luIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tYXJyb3ctcmlnaHQtd2hpdGUuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDhweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICB3aWR0aDogOXB4OyB9XG4gIGJ1dHRvbi0tbW9yZTpob3ZlcjphZnRlcixcbiAgLmJ1dHRvbi0tbW9yZTpob3ZlcjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmJ1dHRvbi0teWVsbG93IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZlZDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLS15ZWxsb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQ1MzU7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi0teWVsbG93OmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzQyODtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLS15ZWxsb3cuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5idXR0b24tLXllbGxvdyB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjZyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC42cmVtOyB9IH1cbiAgLmJ1dHRvbi0teWVsbG93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmNDY2O1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbnNlbGVjdCwgLmdmb3JtX2JvZHkgLmdmaWVsZCBzZWxlY3QsXG4ubWt0b0Zvcm0gLmdmaWVsZCBzZWxlY3QsIC5ta3RvRm9ybSBzZWxlY3QsIGlucHV0LFxudGV4dGFyZWEge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xuICAtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycztcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjZThlY2VhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgY29sb3I6ICMwMDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDEuMnJlbSAxMHB4OyB9XG4gIHNlbGVjdDpmb2N1cywgLmdmb3JtX2JvZHkgLmdmaWVsZCBzZWxlY3Q6Zm9jdXMsIGlucHV0OmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTk5OTk5OyB9XG4gIHNlbGVjdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5nZm9ybV9ib2R5IC5nZmllbGQgc2VsZWN0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICB0ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYTlhOWE5OyB9XG5cbnNlbGVjdCwgLmdmb3JtX2JvZHkgLmdmaWVsZCBzZWxlY3QsXG4ubWt0b0Zvcm0gLmdmaWVsZCBzZWxlY3QsIC5ta3RvRm9ybSBzZWxlY3Qge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlbGVjdC1hcnJvdy5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggdG9wIDIxcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogOHB4IDdweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U4ZWNlYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMi40cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDM0cHg7XG4gIHRleHQtaW5kZW50OiAuMDFweDtcbiAgdGV4dC1vdmVyZmxvdzogJyc7XG4gIHdpZHRoOiBhdXRvOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCwgLmdmb3JtX2JvZHkgLmdmaWVsZCBzZWxlY3Q6Oi1tcy1leHBhbmQsXG4gIC5ta3RvRm9ybSAuZ2ZpZWxkIHNlbGVjdDo6LW1zLWV4cGFuZCwgLm1rdG9Gb3JtIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3QgKyBsYWJlbCwgLmdmb3JtX2JvZHkgLmdmaWVsZCBzZWxlY3QgKyBsYWJlbCwgLm1rdG9Gb3JtIC5nZmllbGQgc2VsZWN0ICsgbGFiZWwsIC5ta3RvRm9ybSBzZWxlY3QgKyBsYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIGFwcGVhcmFuY2U6IGNoZWNrYm94OyB9XG5cbmlucHV0W3R5cGU9cmFkaW9dIHtcbiAgYXBwZWFyYW5jZTogcmFkaW87IH1cblxuaW5wdXRbdHlwZT1zdWJtaXRdLFxubGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIGlucHV0W3R5cGU9c3VibWl0XTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDUzNTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBpbnB1dFt0eXBlPXN1Ym1pdF06YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNDI4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIGlucHV0W3R5cGU9c3VibWl0XS5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNnJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH0gfVxuXG5pbnB1dFt0eXBlPWhpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuaW5wdXQuZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkYmQ3O1xuICBjb2xvcjogI2U4ZWNlYTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2ZfcHJvZ3Jlc3NiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmdmb3JtX2JvZHksXG4ubWt0b0Zvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLmdmb3JtX2JvZHk6OmFmdGVyLFxuICAubWt0b0Zvcm06OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMsXG4gIC5ta3RvRm9ybSAuZ2Zvcm1fZmllbGRzIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkLFxuICAubWt0b0Zvcm0gLmdmaWVsZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkOjphZnRlcixcbiAgICAubWt0b0Zvcm0gLmdmaWVsZDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkOmJlZm9yZSxcbiAgICAubWt0b0Zvcm0gLmdmaWVsZDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZC5nZm9ybV9oaWRkZW4sXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQuZ2Zvcm1faGlkZGVuIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgbGFiZWwsXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAuNnJlbSAwO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkLmhpZGRlbl9sYWJlbCBsYWJlbCxcbiAgICAubWt0b0Zvcm0gLmdmaWVsZC5oaWRkZW5fbGFiZWwgbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgaW5wdXQsIC5nZm9ybV9ib2R5IC5nZmllbGQgc2VsZWN0LCAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIHRleHRhcmVhLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIGlucHV0LFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIHNlbGVjdCxcbiAgICAubWt0b0Zvcm0gLmdmaWVsZCB0ZXh0YXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLnRleHRhcmVhLnNtYWxsLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC50ZXh0YXJlYS5zbWFsbCB7XG4gICAgICBoZWlnaHQ6IDkuNnJlbTsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLnRleHRhcmVhLm1lZGl1bSxcbiAgICAubWt0b0Zvcm0gLmdmaWVsZCAudGV4dGFyZWEubWVkaXVtIHtcbiAgICAgIGhlaWdodDogMTkuMnJlbTsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLnRleHRhcmVhLmxhcmdlLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC50ZXh0YXJlYS5sYXJnZSB7XG4gICAgICBoZWlnaHQ6IDI4LjhyZW07IH1cbiAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAuZ2ZpZWxkX3JhZGlvLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC5nZmllbGRfY2hlY2tib3gsXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQgLmdmaWVsZF9yYWRpbyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLmdmaWVsZF9yYWRpbyBsaSxcbiAgICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC5nZmllbGRfY2hlY2tib3ggbGksXG4gICAgICAubWt0b0Zvcm0gLmdmaWVsZCAuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAuZ2ZpZWxkX2NoZWNrYm94IGxpOmJlZm9yZSxcbiAgICAgICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAuZ2ZpZWxkX3JhZGlvIGxpOmJlZm9yZSxcbiAgICAgICAgLm1rdG9Gb3JtIC5nZmllbGQgLmdmaWVsZF9jaGVja2JveCBsaTpiZWZvcmUsXG4gICAgICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC5nZmllbGRfcmFkaW8gbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIC5nZmllbGRfY2hlY2tib3ggaW5wdXQsXG4gICAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIC5nZmllbGRfcmFkaW8gaW5wdXQsXG4gICAgICAubWt0b0Zvcm0gLmdmaWVsZCAuZ2ZpZWxkX2NoZWNrYm94IGlucHV0LFxuICAgICAgLm1rdG9Gb3JtIC5nZmllbGQgLmdmaWVsZF9yYWRpbyBpbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIC5nZmllbGRfY2hlY2tib3ggbGFiZWwsXG4gICAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIC5nZmllbGRfcmFkaW8gbGFiZWwsXG4gICAgICAubWt0b0Zvcm0gLmdmaWVsZCAuZ2ZpZWxkX2NoZWNrYm94IGxhYmVsLFxuICAgICAgLm1rdG9Gb3JtIC5nZmllbGQgLmdmaWVsZF9yYWRpbyBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQuZ2ZpZWxkX2Vycm9yLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkLmdmaWVsZF9lcnJvciB7XG4gICAgICBjb2xvcjogI2RhMjkxYzsgfVxuICAgICAgLmdmb3JtX2JvZHkgLmdmaWVsZC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAubWt0b0Zvcm0gLmdmaWVsZC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGEyOTFjOyB9XG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAuZ2ZpZWxkX3JlcXVpcmVkLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLmdmaWVsZF9yYWRpbyBsaSxcbiAgICAubWt0b0Zvcm0gLmdmaWVsZCAuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgLmdmb3JtX2JvZHkgLmdmaWVsZCAuZGlzYWJsZWQsXG4gICAgLm1rdG9Gb3JtIC5nZmllbGQgLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2RiZDc7XG4gICAgICBjb2xvcjogI2U4ZWNlYTsgfVxuICAgIC5nZm9ybV9ib2R5IC5nZmllbGQgLmdmaWVsZF9kZXNjcmlwdGlvbixcbiAgICAuZ2Zvcm1fYm9keSAuZ2ZpZWxkIC5naW5wdXRfY291bnRlcixcbiAgICAubWt0b0Zvcm0gLmdmaWVsZCAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxuICAgIC5ta3RvRm9ybSAuZ2ZpZWxkIC5naW5wdXRfY291bnRlciB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfVxuXG4uZ2Zvcm1fZm9vdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLmdmb3JtX2Zvb3Rlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gICAgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQ1MzU7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5nZm9ybV9mb290ZXIgLmdmb3JtX2J1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzQyODtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fYnV0dG9uLmRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNnJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTsgfSB9XG5cbi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWt0b0Zvcm0gZmllbGRzZXQge1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cblxuLm1rdG9Gb3JtIGxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgZm9udC1zaXplOiAxLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAyOC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAyLjg1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4ubWt0b0Zvcm0gLm1rdG9Bc3Rlcml4IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5ta3RvRm9ybSBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgcGFkZGluZzogMC42cmVtIDA7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ta3RvRm9ybSAubWt0b0NoZWNrYm94TGlzdCBpbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICB3aWR0aDogYXV0bzsgfVxuXG4ubWt0b0Zvcm0gLm1rdG9DaGVja2JveExpc3QgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLm1rdG9Gb3JtIGlucHV0LCAubWt0b0Zvcm0gc2VsZWN0LCAubWt0b0Zvcm0gdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWt0b0Zvcm0gLnRleHRhcmVhLnNtYWxsIHtcbiAgaGVpZ2h0OiA5LjZyZW07IH1cblxuLm1rdG9Gb3JtIC50ZXh0YXJlYS5tZWRpdW0ge1xuICBoZWlnaHQ6IDE5LjJyZW07IH1cblxuLm1rdG9Gb3JtIC50ZXh0YXJlYS5sYXJnZSB7XG4gIGhlaWdodDogMjguOHJlbTsgfVxuXG4ubWt0b0Zvcm0gLm1rdG9FcnJvck1zZyB7XG4gIGNvbG9yOiByZWQ7IH1cblxuLmNoZWNrYm94IFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSwgLmNoZWNrYm94IFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDsgfVxuICAuY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsIC5jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLCAuY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMS4yNWVtO1xuICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4zOSk7IH1cbiAgICAuY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIsIC5jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1jaGVja2JveC10aWNrLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggMTRweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgbGVmdDogM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzcHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgd2lkdGg6IDE0cHg7IH1cblxuLmNoZWNrYm94IFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuXG4uY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5jaGVja2JveC0td2hpdGUgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLCAuY2hlY2tib3gtLXdoaXRlIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTlweDsgfVxuICAuY2hlY2tib3gtLXdoaXRlIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsLCAuY2hlY2tib3gtLXdoaXRlIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jaGVja2JveC0td2hpdGUgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLCAuY2hlY2tib3gtLXdoaXRlIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMzkpOyB9XG4gICAgLmNoZWNrYm94LS13aGl0ZSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciwgLmNoZWNrYm94LS13aGl0ZSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1jaGVja2JveC10aWNrLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggMTRweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgbGVmdDogM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzcHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgICAgd2lkdGg6IDE0cHg7IH1cblxuLmNoZWNrYm94LS13aGl0ZSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cblxuLmNoZWNrYm94LS13aGl0ZSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yYWRpbyBsaSBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0OyB9XG5cbi5jb250ZW50X19zZWN0aW9uX19jb250ZW50IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCB1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT1yYWRpb10gKyBpbnB1dFt0eXBlPXRleHRdIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAub25Gb3JtU3VibWl0dGVkRmVlZGJhY2sge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuXG4ubWFya2V0aW5nRm9ybSA+IGRpdiB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5tYXJrZXRpbmdGb3JtIC5ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4ubWFya2V0aW5nRm9ybSAubm90aWZpY2F0aW9uLW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogMzhweDtcbiAgYm9yZGVyOiAxLjQ0NzM3cHggc29saWQgI0NDQ0NDQztcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4ubWFya2V0aW5nRm9ybSAubm90aWZpY2F0aW9uLW1lc3NhZ2UtaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1hcmtldGluZ0Zvcm0gLnRleHRGb3JtRmllbGRCbG9jayxcbi5tYXJrZXRpbmdGb3JtIC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrLFxuLm1hcmtldGluZ0Zvcm0gLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrLFxuLm1hcmtldGluZ0Zvcm0gLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrLFxuLm1hcmtldGluZ0Zvcm0gLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssXG4ubWFya2V0aW5nRm9ybSAubG9va3VwRm9ybUZpZWxkQmxvY2sge1xuICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTZweDsgfVxuXG4ubWFya2V0aW5nRm9ybSBsYWJlbCA+IHAge1xuICBtYXJnaW46IDA7IH1cblxuLm1hcmtldGluZ0Zvcm0gLnRleHRGb3JtRmllbGRCbG9jayBsYWJlbCxcbi5tYXJrZXRpbmdGb3JtIC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrIGxhYmVsLFxuLm1hcmtldGluZ0Zvcm0gLmxvb2t1cEZvcm1GaWVsZEJsb2NrIGxhYmVsLFxuLm1hcmtldGluZ0Zvcm0gLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsLFxuLm1hcmtldGluZ0Zvcm0gLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsLFxuLm1hcmtldGluZ0Zvcm0gLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWwsXG4ubWFya2V0aW5nRm9ybSBkaXZbZGF0YS1lZGl0b3JibG9ja3R5cGU9XCJDYXB0Y2hhXCJdIGxhYmVsW2lkXj1cIndsc3Bpc3BIaXBJbnN0cnVjdGlvbkNvbnRhaW5lclwiXSxcbi5tYXJrZXRpbmdGb3JtIC50ZXh0Rm9ybUZpZWxkQmxvY2sgbGFiZWwgKixcbi5tYXJrZXRpbmdGb3JtIC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrIGxhYmVsICosXG4ubWFya2V0aW5nRm9ybSAubG9va3VwRm9ybUZpZWxkQmxvY2sgbGFiZWwgKixcbi5tYXJrZXRpbmdGb3JtIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbCAqLFxuLm1hcmtldGluZ0Zvcm0gLm9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsICosXG4ubWFya2V0aW5nRm9ybSAubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbCAqLFxuLm1hcmtldGluZ0Zvcm0gLmNvbnNlbnRCbG9jayBsYWJlbCA+IHAge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5tYXJrZXRpbmdGb3JtIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94IGRpdiBsYWJlbCxcbi5tYXJrZXRpbmdGb3JtIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94IGRpdiBsYWJlbCBkaXYsXG4ubWFya2V0aW5nRm9ybSAuY29uc2VudEJsb2NrIGRpdiBsYWJlbCBwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ubWFya2V0aW5nRm9ybSB0YWJsZS5tdWx0aSAudGV4dEZvcm1GaWVsZEJsb2NrLFxuLm1hcmtldGluZ0Zvcm0gdGFibGUubXVsdGkgLmRhdGVUaW1lRm9ybUZpZWxkQmxvY2ssXG4ubWFya2V0aW5nRm9ybSB0YWJsZS5tdWx0aSAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2ssXG4ubWFya2V0aW5nRm9ybSB0YWJsZS5tdWx0aSAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssXG4ubWFya2V0aW5nRm9ybSB0YWJsZS5tdWx0aSAubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jayxcbi5tYXJrZXRpbmdGb3JtIHRhYmxlLm11bHRpIC5sb29rdXBGb3JtRmllbGRCbG9jayB7XG4gIHBhZGRpbmc6IDEycHggMjBweDsgfVxuXG4ubWFya2V0aW5nRm9ybSAucGhvbmVGb3JtRmllbGRCbG9jayB7XG4gIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNnB4OyB9XG4gIC5tYXJrZXRpbmdGb3JtIC5waG9uZUZvcm1GaWVsZEJsb2NrIGxhYmVsLFxuICAubWFya2V0aW5nRm9ybSAucGhvbmVGb3JtRmllbGRCbG9jayBsYWJlbCAqIHtcbiAgICBmb250LWZhbWlseTogXCJTZWdvZSBVSVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzMyMzEzMDsgfVxuICAubWFya2V0aW5nRm9ybSAucGhvbmVGb3JtRmllbGRCbG9jayBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgZmxleDogMTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tYXJrZXRpbmdGb3JtIC5waG9uZUZvcm1GaWVsZEJsb2NrIGxhYmVsOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogI2MzMzQwMDtcbiAgICAgIGNvbnRlbnQ6IFwiKlwiOyB9XG4gICAgLm1hcmtldGluZ0Zvcm0gLnBob25lRm9ybUZpZWxkQmxvY2sgbGFiZWwgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubWFya2V0aW5nRm9ybSB0YWJsZS5tdWx0aSAucGhvbmVGb3JtRmllbGRCbG9jayB7XG4gIHBhZGRpbmc6IDEycHggMjBweDsgfVxuXG4ubWFya2V0aW5nRm9ybSAuY29uc2VudEJsb2NrIHtcbiAgcGFkZGluZzogNHB4IDMwcHg7IH1cblxuLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogNjAwcHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogdGFibGU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIHtcbiAgICAgIGZsZXg6IDAgMSAxMDAlICFpbXBvcnRhbnQ7IH0gfVxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIGRpdltkYXRhLWVkaXRvcmJsb2NrdHlwZT1cIlRleHRcIl0ge1xuICAgIG1hcmdpbjogMCAwIDIuNHJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAudGV4dEZvcm1GaWVsZEJsb2NrLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayxcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAucGhvbmVGb3JtRmllbGRCbG9jayxcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLmxvb2t1cEZvcm1GaWVsZEJsb2NrLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5jb25zZW50QmxvY2ssXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnN1Ym1pdEJ1dHRvbldyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW0gIWltcG9ydGFudDtcbiAgICBnYXA6IDVweCAhaW1wb3J0YW50OyB9XG4gICAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAudGV4dEZvcm1GaWVsZEJsb2NrIGxhYmVsLFxuICAgIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGxhYmVsLFxuICAgIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnBob25lRm9ybUZpZWxkQmxvY2sgbGFiZWwsXG4gICAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwsXG4gICAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAubG9va3VwRm9ybUZpZWxkQmxvY2sgbGFiZWwsXG4gICAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAuY29uc2VudEJsb2NrIGxhYmVsLFxuICAgIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnN1Ym1pdEJ1dHRvbldyYXBwZXIgbGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDFweDsgfVxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50ZXh0Rm9ybUZpZWxkQmxvY2sgbGFiZWw6OmFmdGVyLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50d29vcHRpb25fY2hlY2tib3ggbGFiZWw6OmFmdGVyLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlcixcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAubG9va3VwRm9ybUZpZWxkQmxvY2sgbGFiZWw6OmFmdGVyLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbDo6YWZ0ZXIsXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGRpdi50d29vcHRpb25fY2hlY2tib3ggbGFiZWw6OmFmdGVyLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbDo6YWZ0ZXIsXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWw6OmFmdGVyLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5jb25zZW50QmxvY2sgbGFiZWwgcDpmaXJzdC1vZi10eXBlOjphZnRlcixcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAuZXZlbnRTZXNzaW9uIGxhYmVsOjphZnRlcixcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciBkaXZbZGF0YS1lZGl0b3JibG9ja3R5cGU9XCJTZXNzaW9uc1wiXSBoMjo6YWZ0ZXIsXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgZGl2W2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiQ2FwdGNoYVwiXSBsYWJlbFtpZF49XCJ3bHNwaXNwSGlwSW5zdHJ1Y3Rpb25Db250YWluZXJcIl06OmFmdGVyIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjYzMzNDAwO1xuICAgIGNvbnRlbnQ6IFwiKlwiOyB9XG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGRpdi5yYWRpb2J1dHRvbnMgZGl2IGlucHV0LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94IGRpdiBpbnB1dCxcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgZGl2LnJhZGlvYnV0dG9ucyBkaXYgaW5wdXQsXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgZmllbGRzZXQgPiBkaXYgPiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLmV2ZW50U2Vzc2lvbiA+IGRpdiA+IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAuZXZlbnRTZXNzaW9uID4gZGl2ID4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5jb25zZW50QmxvY2sgZGl2IGlucHV0IHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzIzMTMwO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBhY2NlbnQtY29sb3I6ICMwMDc4ZDQ7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgLm1hcmtldGluZ0Zvcm0gLmNvbHVtbkNvbnRhaW5lciAucGhvbmVGb3JtRmllbGRCbG9jayBpbnB1dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMjsgfVxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYucmFkaW9idXR0b25zID4gZGl2LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94ID4gZGl2LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayBkaXYucmFkaW9idXR0b25zID4gZGl2LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGZpZWxkc2V0ID4gZGl2LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5jb25zZW50QmxvY2sgPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBnYXA6IDhweDsgfVxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5sb29rdXBGb3JtRmllbGRCbG9jayBpbnB1dCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tc2VhcmNoLWZsaXBwZWQucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgNXB4IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgLmxvb2t1cEZvcm1GaWVsZEJsb2NrIHVsIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7IH1cbiAgICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5sb29rdXBGb3JtRmllbGRCbG9jayB1bCBsaS51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzAwNjk1MCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA2OTUwICFpbXBvcnRhbnQ7IH1cbiAgICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5sb29rdXBGb3JtRmllbGRCbG9jayB1bCBsaTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIC5zdWJtaXRCdXR0b24ge1xuICAgIHBhZGRpbmc6IDEuMnJlbSA1MHB4OyB9XG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgc2VsZWN0LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIGlucHV0LFxuICAubWFya2V0aW5nRm9ybSAuY29sdW1uQ29udGFpbmVyIHRleHRhcmVhIHtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OyB9XG4gIC5tYXJrZXRpbmdGb3JtIC5jb2x1bW5Db250YWluZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBhY2NlbnQtY29sb3I6ICMwMDY5NTAgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAjaGVhZGVyLXB1c2hlcixcbiAgLmhpZGUtZm9yLXByaW50LFxuICAuaGVhZGVyX19ub3RpZnksXG4gIC5oZWFkZXJfX3NlcnZpY2UsXG4gIC5oZWFkZXJfX3N1YixcbiAgLmJyZWFkY3J1bWJzLFxuICAubW9yZS1saW5rLFxuICAucHJvZHVjdC1pbmZvX19jb250ZW50X19jb250YWN0LFxuICAuYW5jaG9yLW5hdixcbiAgLnNwZWNzLXRhYmxlLXdyYXBwZXJfX3Nob3ctbW9yZSxcbiAgLnNwZWNzLWRyYXdpbmdzX19saW5rcyxcbiAgLmxpc3QtdmlkZW9zLFxuICAucHJvZHVjdC1pbnN0YWxsYXRpb25fX3RpcHMsXG4gIC5wcm9kdWN0LWRvd25sb2Fkc19fY29udGFjdCAuYnV0dG9uLFxuICAubGlzdC1wcm9kdWN0c19faXRlbV9fc3BlY3MsXG4gIC5saXN0LXByb2R1Y3RfX21vcmUsXG4gIC5kb29ybWF0LWRlYWxlcixcbiAgLmRvb3JtYXQtcXVlc3Rpb24sXG4gIC5kb29ybWF0LWNhc2Utc3R1ZGllcyxcbiAgLmdldC1pbi10b3VjaCxcbiAgLmZvb3RlcixcbiAgLm1hdGVyaWFsLWxpc3QtbWluaSxcbiAgLm5hdmlnYXRpb24sXG4gIC5yYWRpc2gtY29va2llLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5zZWN0aW9uLXByb2R1Y3RzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAuNnJlbSAhaW1wb3J0YW50OyB9XG4gIC5jb3B5cmlnaHQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5rZWVwLXRvZ2V0aGVyLFxuICAuc3BlY3MtZHJhd2luZ3MsXG4gIC5zcGVjcy1saXN0LFxuICAucHJvZHVjdC1pbnN0YWxsYXRpb25fX3VzYWdlLFxuICAubGlzdC1wcm9kdWN0cyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC5zcGVjcy1saXN0IHtcbiAgICBwYWdlLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuICAgIGNvbHVtbnM6IGF1dG87IH1cbiAgLmhlYWRlciB7XG4gICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cbiAgICAuaGVhZGVyIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50OyB9XG4gICAgLmhlYWRlcl9fdG9wIHtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgICAuaGVhZGVyX19jb250YWN0IHtcbiAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuc3BlY3MtdGFibGUtd3JhcHBlciB7XG4gICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgLnNwZWNzLXRhYmxlLXdyYXBwZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLnNwZWNzLXRhYmxlLXdyYXBwZXIgLnNwZWNzLXRhYmxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtOyB9XG4gICAgICAuc3BlY3MtdGFibGUtd3JhcHBlciAuc3BlY3MtdGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMTBweDsgfVxuICAgICAgLnNwZWNzLXRhYmxlLXdyYXBwZXIgLnNwZWNzLXRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgfVxuICAubGlzdC1wZGZzIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAwIDAuNnJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgICAubGlzdC1wZGZzIGxpOmZpcnN0LWxldHRlciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5saXN0LXByb2R1Y3RzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1hY3Rpb25zLFxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAuYWN0aW9uLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IHRib2R5IHRyIHRkIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCB0Ym9keSB0ciAuY2VsbC1kZXRhaWxzIC5zcGVjcy1saXN0IHtcbiAgICBjb2x1bW5zOiBhdXRvOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IC5jZWxsLWNoZWNrIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IC5jZWxsLWRldGFpbHMge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCAuY2VsbC1kZXRhaWxzIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTsgfVxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtdHBsLW1hdGVyaWFsLWxpc3QgLm1hdGVyaWFsLWxpc3QgLmNlbGwtYW1vdW50IGlucHV0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG5cbi5zaG93LW9uLXByaW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC5zaG93LW9uLXByaW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG5cbi50YWJsZXByZXNzIHRoZWFkIHRoLFxuLnRhYmxlcHJlc3MgdGZvb3QgdGgsXG4udGFibGVwcmVzcyA+IDp3aGVyZSh0aGVhZCwgdGZvb3QpID4gdHIgPiAqIHtcbiAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnRhYmxlcHJlc3MgdGhlYWQgLmR0LW9yZGVyYWJsZS1hc2M6aG92ZXIsXG4udGFibGVwcmVzcyB0aGVhZCAuZHQtb3JkZXJhYmxlLWRlc2M6aG92ZXIsXG4udGFibGVwcmVzcyB0aGVhZCAuZHQtb3JkZXJpbmctYXNjLFxuLnRhYmxlcHJlc3MgdGhlYWQgLmR0LW9yZGVyaW5nLWRlc2Mge1xuICBiYWNrZ3JvdW5kOiAjMDA2OTUwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLnRhYmxlcHJlc3MgdGJvZHkgdGQsXG4udGFibGVwcmVzcyB0Zm9vdCB0aCB7XG4gIGJhY2tncm91bmQ6ICNlOGVjZWE7IH1cblxuLnRhYmxlcHJlc3MgdGhlYWQgLmR0LW9yZGVyYWJsZS1hc2MgLmR0LWNvbHVtbi1vcmRlcixcbi50YWJsZXByZXNzIHRoZWFkIC5kdC1vcmRlcmFibGUtZGVzYyAuZHQtY29sdW1uLW9yZGVyIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG4uZHQtc2VhcmNoIC5kdC1pbnB1dCB7XG4gIHdpZHRoOiAzMDBweDsgfVxuXG4uZHQtaW5wdXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTlhOWE5O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuc2VsZWN0LmR0LWlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCB0b3AgMTRweCAhaW1wb3J0YW50OyB9XG5cbi5wYWdpbmdfc2ltcGxlIC5wYWdpbmF0ZV9idXR0b24ucHJldmlvdXM6YmVmb3JlLCAucGFnaW5nX3NpbXBsZSAucGFnaW5hdGVfYnV0dG9uLm5leHQ6YWZ0ZXIge1xuICBjb2xvcjogIzAwMDtcbiAgY29udGVudDogJ1xcZjEwNCc7XG4gIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZSwgc2Fucy1zZXJpZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuLnBhZ2luZ19zaW1wbGUgLnBhZ2luYXRlX2J1dHRvbi5uZXh0OmFmdGVyIHtcbiAgY29udGVudDogJ1xcZjEwNSc7IH1cblxuLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19maWx0ZXIsXG4uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2xlbmd0aCxcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mbyxcbi5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9XG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfZmlsdGVyIHNlbGVjdCxcbiAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGggc2VsZWN0LFxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2luZm8gc2VsZWN0LFxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgNHB4IHRvcCAxMnB4O1xuICAgIHBhZGRpbmc6IDRweCAyMHB4IDRweCAxMHB4OyB9XG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfZmlsdGVyIGlucHV0LFxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2xlbmd0aCBpbnB1dCxcbiAgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19pbmZvIGlucHV0LFxuICAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIGlucHV0IHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIHBhZGRpbmc6IDRweCA1cHg7IH1cblxuLyohIGpRdWVyeSBVSSAtIHYxLjEyLjEgLSAyMDE4LTA4LTA4XG4qIGh0dHA6Ly9qcXVlcnl1aS5jb21cbiogSW5jbHVkZXM6IGNvcmUuY3NzLCB0b29sdGlwLmNzc1xuKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovXG4vKiBMYXlvdXQgaGVscGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaGVscGVyLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG5cbi51aS1oZWxwZXItcmVzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnVpLWhlbHBlci1jbGVhcmZpeDpiZWZvcmUsXG4udWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cblxuLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi51aS1oZWxwZXItemZpeCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MCk7XG4gIC8qIHN1cHBvcnQ6IElFOCAqLyB9XG5cbi51aS1mcm9udCB7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4vKiBJbnRlcmFjdGlvbiBDdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKiBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXRvcDogLS4yNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtaW5kZW50OiAtOTk5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4udWktd2lkZ2V0LWljb24tYmxvY2sge1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogT3ZlcmxheXMgKi9cbi51aS13aWRnZXQtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi51aS10b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5OTk5O1xuICBtYXgtd2lkdGg6IDMwMHB4OyB9XG5cbmJvZHkgLnVpLXRvb2x0aXAge1xuICBib3JkZXItd2lkdGg6IDJweDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAjaGVhZGVyLXB1c2hlcixcbiAgLmhpZGUtZm9yLXByaW50LFxuICAuaGVhZGVyX19ub3RpZnksXG4gIC5oZWFkZXJfX3NlcnZpY2UsXG4gIC5oZWFkZXJfX3N1YixcbiAgLmJyZWFkY3J1bWJzLFxuICAubW9yZS1saW5rLFxuICAucHJvZHVjdC1pbmZvX19jb250ZW50X19jb250YWN0LFxuICAuYW5jaG9yLW5hdixcbiAgLnNwZWNzLXRhYmxlLXdyYXBwZXJfX3Nob3ctbW9yZSxcbiAgLnNwZWNzLWRyYXdpbmdzX19saW5rcyxcbiAgLmxpc3QtdmlkZW9zLFxuICAucHJvZHVjdC1pbnN0YWxsYXRpb25fX3RpcHMsXG4gIC5wcm9kdWN0LWRvd25sb2Fkc19fY29udGFjdCAuYnV0dG9uLFxuICAubGlzdC1wcm9kdWN0c19faXRlbV9fc3BlY3MsXG4gIC5saXN0LXByb2R1Y3RfX21vcmUsXG4gIC5kb29ybWF0LWRlYWxlcixcbiAgLmRvb3JtYXQtcXVlc3Rpb24sXG4gIC5kb29ybWF0LWNhc2Utc3R1ZGllcyxcbiAgLmdldC1pbi10b3VjaCxcbiAgLmZvb3RlcixcbiAgLm1hdGVyaWFsLWxpc3QtbWluaSxcbiAgLm5hdmlnYXRpb24sXG4gIC5yYWRpc2gtY29va2llLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5zZWN0aW9uLXByb2R1Y3RzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAuNnJlbSAhaW1wb3J0YW50OyB9XG4gIC5jb3B5cmlnaHQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5rZWVwLXRvZ2V0aGVyLFxuICAuc3BlY3MtZHJhd2luZ3MsXG4gIC5zcGVjcy1saXN0LFxuICAucHJvZHVjdC1pbnN0YWxsYXRpb25fX3VzYWdlLFxuICAubGlzdC1wcm9kdWN0cyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC5zcGVjcy1saXN0IHtcbiAgICBwYWdlLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuICAgIGNvbHVtbnM6IGF1dG87IH1cbiAgLmhlYWRlciB7XG4gICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cbiAgICAuaGVhZGVyIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50OyB9XG4gICAgLmhlYWRlcl9fdG9wIHtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgICAuaGVhZGVyX19jb250YWN0IHtcbiAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuc3BlY3MtdGFibGUtd3JhcHBlciB7XG4gICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgLnNwZWNzLXRhYmxlLXdyYXBwZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLnNwZWNzLXRhYmxlLXdyYXBwZXIgLnNwZWNzLXRhYmxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtOyB9XG4gICAgICAuc3BlY3MtdGFibGUtd3JhcHBlciAuc3BlY3MtdGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiAwLjZyZW0gMTBweDsgfVxuICAgICAgLnNwZWNzLXRhYmxlLXdyYXBwZXIgLnNwZWNzLXRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgfVxuICAubGlzdC1wZGZzIGxpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAwIDAuNnJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgICAubGlzdC1wZGZzIGxpOmZpcnN0LWxldHRlciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5saXN0LXByb2R1Y3RzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1hY3Rpb25zLFxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAuYWN0aW9uLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IHRib2R5IHRyIHRkIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCB0Ym9keSB0ciAuY2VsbC1kZXRhaWxzIC5zcGVjcy1saXN0IHtcbiAgICBjb2x1bW5zOiBhdXRvOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IC5jZWxsLWNoZWNrIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1tYXRlcmlhbC1saXN0IC5tYXRlcmlhbC1saXN0IC5jZWxsLWRldGFpbHMge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCAuY2VsbC1kZXRhaWxzIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTsgfVxuICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtdHBsLW1hdGVyaWFsLWxpc3QgLm1hdGVyaWFsLWxpc3QgLmNlbGwtYW1vdW50IGlucHV0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG5cbi5zaG93LW9uLXByaW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC5zaG93LW9uLXByaW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmhlYWRlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IGhlaWdodCAwLjJzIGxpbmVhcjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnMgbGluZWFyO1xuICBiYWNrZ3JvdW5kOiAjZThlY2VhO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDkwOyB9XG4gIC5oZWFkZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIGJvZHkuYWRtaW4tYmFyIC5oZWFkZXIge1xuICAgIHRvcDogMzJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5oZWFkZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5oZWFkZXJfX3RvcCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgbGluZWFyO1xuICAgIC1tb3otdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgbGluZWFyO1xuICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgcGFkZGluZzogMi40cmVtIDAgMi40cmVtIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLmhlYWRlcl9fdG9wIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICBib2R5LnNpdGUtMSAuaGVhZGVyX190b3Age1xuICAgICAgcGFkZGluZy10b3A6IDEuMnJlbTsgfVxuICAgIC5oZWFkZXJfX3RvcCAud3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmhlYWRlcl9fdG9wIC53cmFwcGVyIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuICAgIC5oZWFkZXJfX3RvcF9fcmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBmbGV4OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAuaGVhZGVyX190b3BfX3JpZ2h0IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmbGV4OiAwIDEwMCU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuaGVhZGVyX190b3BfX3JpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5oZWFkZXItLWhpZGRlbiAuaGVhZGVyX190b3BfX3JpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLmhlYWRlcl9fbG9nbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNHB4O1xuICAgIGZsZXg6IDAgMCAzMDBweDtcbiAgICB0cmFuc2l0aW9uOiBmbGV4IDAuMnM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5oZWFkZXJfX2xvZ28ge1xuICAgICAgICBmbGV4OiAwIDAgMjMwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaGVhZGVyX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlOyB9IH1cbiAgICAuaGVhZGVyLS1oaWRkZW4gLmhlYWRlcl9fbG9nbyB7XG4gICAgICBmbGV4OiAwIDAgMjAwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5oZWFkZXItLWhpZGRlbiAuaGVhZGVyX19sb2dvIHtcbiAgICAgICAgICBmbGV4OiAwIDEgMTAwJTsgfSB9XG4gICAgLmhlYWRlcl9fbG9nbyBoMSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgICAuaGVhZGVyX19sb2dvIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuaGVhZGVyX19sb2dvIGEge1xuICAgICAgICAgIGZsZXg6IDAgMSAxODBweDsgfSB9XG4gICAgLmhlYWRlcl9fbG9nbyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmhlYWRlcl9fc2VydmljZSB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgLmhlYWRlcl9fc2VydmljZSB7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaGVhZGVyX19zZXJ2aWNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLmhlYWRlcl9fc2VydmljZSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgLmhlYWRlcl9fc2VydmljZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgIC5oZWFkZXItLWhpZGRlbiAuaGVhZGVyX19zZXJ2aWNlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICAgIC5oZWFkZXJfX3NlcnZpY2VfX25hdmlnYXRpb24ge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLmhlYWRlcl9fc2VydmljZV9fbmF2aWdhdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDIuNHJlbSk7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cbiAgICAgIC5oZWFkZXJfX3NlcnZpY2VfX25hdmlnYXRpb24gLmhlYWRlcl9fc3ViX19tZW51IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZWNlYTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgICAgICBwYWRkaW5nOiAyLjRyZW07IH1cbiAgLmhlYWRlcl9fY29udGFjdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogMjMuMjU1ODElO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmhlYWRlcl9fY29udGFjdDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaGVhZGVyX19jb250YWN0IHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaGVhZGVyX19jb250YWN0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmhlYWRlcl9fY29udGFjdF9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmhlYWRlcl9fY29udGFjdF9faXRlbSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG4gICAgICAuaGVhZGVyX19jb250YWN0X19pdGVtIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmhlYWRlcl9fY29udGFjdF9faXRlbV9fcGhvbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi10ZWxlcGhvbmUtd2hpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxuICAgICAgLmhlYWRlcl9fY29udGFjdF9faXRlbV9fZW1haWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1tYWlsLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTRweCAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cbiAgLmhlYWRlcl9fc3ViIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgYmFja2dyb3VuZDogI2U4ZWNlYTtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaGVhZGVyX19zdWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1OyB9IH1cbiAgICAuaGVhZGVyX19zdWIgLndyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLmhlYWRlcl9fc3ViIC53cmFwcGVyOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBib2R5LnNpdGUtMSAuaGVhZGVyX19zdWIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5oZWFkZXItLXNjcm9sbGluZyAuaGVhZGVyX19zdWIsXG4gICAgLmhlYWRlci0taGlkZGVuIC5oZWFkZXJfX3N1YiB7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgICAuaGVhZGVyX19zdWJfX2xhbmd1YWdlLXN3aXRjaGVyY2hvb3NlLWNvdW50cnktbGluayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmhlYWRlcl9fc3ViX19kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmhlYWRlcl9fc3ViX19tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmhlYWRlcl9fc3ViX19tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b24ge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDIwcHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuaGVhZGVyX19zdWJfX21vYmlsZV9fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NTM1O1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b246YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNDI4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b24uZGlzYWJsZWQge1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTsgfSB9XG4gICAgICAgIC5oZWFkZXJfX3N1Yl9fbW9iaWxlX19idXR0b24gaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIDE1cHggLTJweCAwOyB9XG4gICAgLmhlYWRlcl9fc3ViX19tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAuaGVhZGVyX19zdWJfX21lbnUge1xuICAgICAgICAgIGZsZXg6IDE7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYwcHgpIHtcbiAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51Om5vdCguaW5saW5lKSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2MHB4KSB7XG4gICAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudTpub3QoLmlubGluZSkgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIHtcbiAgICAgICAgICBmbGV4OiAxIDAgMTAwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgICAuaGVhZGVyX19zdWJfX21lbnU6bm90KC5pbmxpbmUpIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSBpbWcge1xuICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7IH1cbiAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtLS1jdXN0b20gaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWF4LWhlaWdodDogMjRweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgICAgICAgICAuaGVhZGVyX19zdWJfX21lbnVfX2l0ZW0gYTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTZweDsgfVxuICAgICAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSBhOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIGEuZG93bmxvYWRzOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1kb3dubG9hZHMuc3ZnXCIpOyB9XG4gICAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIGEubWF0ZXJpYWxsaXN0OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1tYXRlcmlhbGxpc3Quc3ZnXCIpOyB9XG4gICAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIGEubG9naW46YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLWxvZ2luLnN2Z1wiKTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAuaGVhZGVyX19zdWJfX21lbnVfX2l0ZW0gYS5sYW5ndWFnZSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgICAgIC5oZWFkZXJfX3N1Yl9fbWVudV9faXRlbSBhLmxhbmd1YWdlOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtIGEubGFuZ3VhZ2UgZmlndXJlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICAuaGVhZGVyX19zdWJfX21lbnVfX2l0ZW0gYS5sYW5ndWFnZSBmaWd1cmUgaW1nIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7IH1cbiAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAuaGVhZGVyX19zdWJfX21lbnVfX2l0ZW0gYS5sYW5ndWFnZSBmaWd1cmUgaW1nIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0MHB4OyB9IH1cbiAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtLS1jdXN0b20gYSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgICAgLmhlYWRlcl9fc3ViX19tZW51X19pdGVtLS1jdXN0b20gYTpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyX19ub3RpZnkge1xuICAgIGJhY2tncm91bmQ6ICNmZmVkMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmhlYWRlcl9fbm90aWZ5X19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgICAuaGVhZGVyX19ub3RpZnlfX3NlY3Rpb25fX2FjdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS4ycmVtOyB9IH1cbiAgICAuaGVhZGVyX19ub3RpZnlfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG4gICAgLmhlYWRlcl9fbm90aWZ5X19jaG9vc2UtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgIC5oZWFkZXJfX25vdGlmeSBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiNoZWFkZXItcHVzaGVyIHtcbiAgaGVpZ2h0OiAxOHJlbTsgfVxuICBib2R5LnNpdGUtMSAjaGVhZGVyLXB1c2hlciB7XG4gICAgaGVpZ2h0OiAxMnJlbTsgfVxuICBib2R5LmhlYWRlci1oaWRkZW4gI2hlYWRlci1wdXNoZXIge1xuICAgIGhlaWdodDogMTQuNHJlbTsgfVxuXG4uZG9vcm1hdC1kZWFsZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmctZG9vcm1hdC1kZWFsZXIuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBtaW4taGVpZ2h0OiAyNjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kb29ybWF0LWRlYWxlcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZG9vcm1hdC1kZWFsZXIge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5kb29ybWF0LWRlYWxlciBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuZG9vcm1hdC1kZWFsZXIgZmllbGRzZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuICAuZG9vcm1hdC1kZWFsZXJfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDQuOHJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZG9vcm1hdC1kZWFsZXJfX2NvbnRlbnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5kb29ybWF0LWRlYWxlcl9fY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIC5kb29ybWF0LWRlYWxlcl9fY29udGVudF9faGVhZGluZyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuICAgIC5kb29ybWF0LWRlYWxlcl9fY29udGVudF9fc3ViaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAuZG9vcm1hdC1kZWFsZXJfX2ltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvX2R1bW15L2Zvb3Rlci10cnVjay5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5kb29ybWF0LWRlYWxlcl9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmRlYWxlci1mb3JtIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogNjAlOyB9XG4gIC5kZWFsZXItZm9ybTphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmRlYWxlci1mb3JtX190ZXh0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICB3aWR0aDogY2FsYyggOTglIC0gMTg1cHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5kZWFsZXItZm9ybV9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZGVhbGVyLWZvcm1fX3N1Ym1pdCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAxLjJyZW0gMjBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmVkMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB3aWR0aDogMTc1cHg7IH1cbiAgICAuZGVhbGVyLWZvcm1fX3N1Ym1pdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NTM1O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZGVhbGVyLWZvcm1fX3N1Ym1pdDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzQyODtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmRlYWxlci1mb3JtX19zdWJtaXQuZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5kZWFsZXItZm9ybV9fc3VibWl0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjZyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH0gfVxuICAgIC5kZWFsZXItZm9ybV9fc3VibWl0OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY0NjY7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZGVhbGVyLWZvcm1fX3N1Ym1pdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuZGVhbGVyLWZvcm1fX3N1Ym1pdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBlNWRhO1xuICAgICAgY29sb3I6ICMwMDY5NTA7IH1cbiAgICAuZGVhbGVyLWZvcm1fX3N1Ym1pdDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JhZDNjNjtcbiAgICAgIGNvbG9yOiAjMDA2OTUwOyB9XG4gICAgLmRlYWxlci1mb3JtX19zdWJtaXQgLmZhLXNlYXJjaCB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgICBmaWx0ZXI6IEZsaXBIOyB9XG4gIC5kZWFsZXItZm9ybSAubG9jYXRpb24tZGV0ZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1sb2NhdGlvbi5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMXB4IDExcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmRvb3JtYXQtcXVlc3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjZTVlNWU1OyB9XG4gIC5kb29ybWF0LXF1ZXN0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tYnVpbGRlci5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxNiUgdG9wIDQ1JTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMXB4IDEyMnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZzogNC44cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG4gICAgLmRvb3JtYXQtcXVlc3Rpb25fX2NvbnRlbnRfX2hlYWRpbmcge1xuICAgICAgY29sb3I6ICMwMDY5NTA7IH1cbiAgICAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudF9fYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gICAgICAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudF9fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDUzNTtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50X19idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzQyODtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50X19idXR0b24uZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50X19idXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjZyZW07XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTsgfSB9XG4gICAgICAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudF9fYnV0dG9uLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuZG9vcm1hdC1xdWVzdGlvbl9fY29udGVudF9fYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDkwJTsgfVxuICAgICAgICAgIC5kb29ybWF0LXF1ZXN0aW9uX19jb250ZW50X19idXR0b24gaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IC0ycHggMDsgfSB9XG5cbi5kb29ybWF0LWNhc2Utc3R1ZGllcyB7XG4gIHBhZGRpbmc6IDMuNnJlbSAwOyB9XG4gIC5kb29ybWF0LWNhc2Utc3R1ZGllc19faGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC44cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZ2V0LWluLXRvdWNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLXF1aWNrLWxpbmtzLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcGFkZGluZzogNy4ycmVtIDA7IH1cbiAgLmdldC1pbi10b3VjaF9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07IH1cbiAgICAuZ2V0LWluLXRvdWNoX19oZWFkZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgIGZvbnQtc2l6ZTogNS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDgyLjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA4LjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZ2V0LWluLXRvdWNoX19lbnRyaWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXMge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXNfX2VudHJ5IHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDQgLSA0MHB4KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXNfX2VudHJ5IHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMiAtIDQwcHgpO1xuICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXNfX2VudHJ5IHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cbiAgICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXNfX2VudHJ5X19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmdldC1pbi10b3VjaF9fZW50cmllc19fZW50cnlfX2ljb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgIHdpZHRoOiA2MCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAuZ2V0LWluLXRvdWNoX19lbnRyaWVzX19lbnRyeV9faWNvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgLmdldC1pbi10b3VjaF9fZW50cmllc19fZW50cnlfX2xhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgICAuZ2V0LWluLXRvdWNoX19lbnRyaWVzX19lbnRyeV9fbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgIC5nZXQtaW4tdG91Y2hfX2VudHJpZXNfX2VudHJ5X19sYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMuNnJlbTsgfSB9XG5cbi5mb290ZXIge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMjdweDtcbiAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA1MHB4IDAgMDsgfVxuICAuc2l0ZS0xIC5mb290ZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmZvb3RlciBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5mb290ZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2U4ZWNlYTsgfVxuICAgIC5mb290ZXIgYS5idXR0b24ge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLmZvb3Rlci13aWRnZXRzIHtcbiAgcGFkZGluZzogNTBweCAwOyB9XG4gIC5mb290ZXItd2lkZ2V0cyAud3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhciB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAxOyB9XG4gICAgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX19tZW51IHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDMgLSA0MHB4KTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX19tZW51IHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfSB9XG4gICAgICAuZm9vdGVyLXdpZGdldHNfX3NpZGViYXJfX21lbnVfX2xvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuZm9vdGVyLXdpZGdldHNfX3NpZGViYXJfX21lbnVfX2xvZ28gaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAuZm9vdGVyLXdpZGdldHNfX3NpZGViYXJfX21lbnVfX25hdmlnYXRpb24gbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX19tZW51X19uYXZpZ2F0aW9uIGxpOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgIGxlZnQ6IDA7IH1cbiAgICAuZm9vdGVyLXdpZGdldHNfX3NpZGViYXJfX3RleHQsIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fbmV3c2xldHRlciB7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMTIgKiA0IC0gNDBweCk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fdGV4dCwgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX19uZXdzbGV0dGVyIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfSB9XG4gICAgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX190ZXh0X190YWdsaW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gICAgICBsaW5lLWhlaWdodDogNS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjZmZlZDAwOyB9XG4gICAgLmZvb3Rlci13aWRnZXRzX19zaWRlYmFyX19uZXdzbGV0dGVyIC53aWRnZXQtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fbmV3c2xldHRlciBmb3JtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZm9vdGVyLXdpZGdldHNfX3NpZGViYXJfX25ld3NsZXR0ZXIgLmdmb3JtX2JvZHkge1xuICAgICAgZmxleDogMTsgfVxuICAgIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fbmV3c2xldHRlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVkMDA7IH1cbiAgICAgIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fbmV3c2xldHRlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWQwMDsgfVxuICAgIC5mb290ZXItd2lkZ2V0c19fc2lkZWJhcl9fbmV3c2xldHRlcl9fZm9ybS1oZWFkZXIge1xuICAgICAgY29sb3I6ICNmZmVkMDA7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGVjZWE7XG4gIHBhZGRpbmc6IDQuOHJlbSAwIDIuNHJlbSAwOyB9XG4gIC5mb290ZXItbmF2aWdhdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDIzLjI1NTgxJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uOm50aC1jaGlsZCg0bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW46bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuNTI5NDElO1xuICAgICAgICB3aWR0aDogNDguMjM1MjklOyB9XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uOm50aC1jaGlsZCg0bikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMy41Mjk0MSU7IH1cbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW46bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW46bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW46bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW4gaDQge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbiB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTdweDsgfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW4gdWwgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBzcXVhcmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbiB1bCBsaS5sYXN0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzLjZyZW07IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbi0tY29udGFjdCBoNCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uLS1jb250YWN0IHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW4tLWNvbnRhY3QgdWwgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvbHVtbi0tY29udGFjdF9faXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uLS1jb250YWN0X19pdGVtLS1waG9uZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMS41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjE1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi10ZWxlcGhvbmUtd2hpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDsgfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5jb2x1bW4tLWNvbnRhY3RfX2l0ZW0tLW1haWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1tYWlsLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDEwcHg7IH1cbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiAuY29sdW1uLS1jb250YWN0X19pdGVtLS1jb250YWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tY29udGFjdC13aGl0ZS5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTNweCAxNHB4OyB9XG5cbi5mb290ZXItbmV3c2xldHRlciB7XG4gIHBhZGRpbmc6IDQuOHJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtLFxuICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogNjUuODkxNDclO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm06bGFzdC1jaGlsZCxcbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0sXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH0gfVxuICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybSAuZ2ZpZWxkX2xhYmVsLFxuICAgIC5mb290ZXItbmV3c2xldHRlciBmb3JtIC5nZmllbGRfbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybV9fdGV4dCxcbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2JvZHksXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm1fX3RleHQsXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2JvZHkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDYwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtX190ZXh0LFxuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2JvZHksXG4gICAgICAgIC5mb290ZXItbmV3c2xldHRlciBmb3JtX190ZXh0LFxuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSAuZ2Zvcm1fYm9keSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm1fX3RleHQsXG4gICAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybSAuZ2Zvcm1fYm9keSxcbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm1fX3RleHQsXG4gICAgICAgIC5mb290ZXItbmV3c2xldHRlciBmb3JtIC5nZm9ybV9ib2R5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2JvZHksXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtIC5nZm9ybV9mb290ZXIsXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2JvZHksXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2Zvb3RlciB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtX19zdWJtaXQsXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtIC5nZm9ybV9idXR0b24sXG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm1fX3N1Ym1pdCxcbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmVkMDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybV9fc3VibWl0OmhvdmVyLFxuICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtIC5nZm9ybV9idXR0b246aG92ZXIsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybV9fc3VibWl0OmhvdmVyLFxuICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2J1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQ1MzU7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm1fX3N1Ym1pdDphY3RpdmUsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2J1dHRvbjphY3RpdmUsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybV9fc3VibWl0OmFjdGl2ZSxcbiAgICAgIC5mb290ZXItbmV3c2xldHRlciBmb3JtIC5nZm9ybV9idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzQyODtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybV9fc3VibWl0LmRpc2FibGVkLFxuICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtIC5nZm9ybV9idXR0b24uZGlzYWJsZWQsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybV9fc3VibWl0LmRpc2FibGVkLFxuICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2J1dHRvbi5kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtX19zdWJtaXQsXG4gICAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybSAuZ2Zvcm1fYnV0dG9uLFxuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybV9fc3VibWl0LFxuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH0gfVxuICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19mb3JtX19zdWJtaXQ6aG92ZXIsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2J1dHRvbjpob3ZlcixcbiAgICAgIC5mb290ZXItbmV3c2xldHRlciBmb3JtX19zdWJtaXQ6aG92ZXIsXG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXIgZm9ybSAuZ2Zvcm1fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjQ2NjtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fZm9ybV9fc3VibWl0LFxuICAgICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX2Zvcm0gLmdmb3JtX2J1dHRvbixcbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm1fX3N1Ym1pdCxcbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyIGZvcm0gLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZm9vdGVyLW5ld3NsZXR0ZXJfX3NvY2lhbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogMzEuNzgyOTUlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5mb290ZXItbmV3c2xldHRlcl9fc29jaWFsOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5mb290ZXItbmV3c2xldHRlcl9fc29jaWFsIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZm9vdGVyLW5ld3NsZXR0ZXJfX3NvY2lhbCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgLmZvb3Rlci1uZXdzbGV0dGVyX19zb2NpYWw6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLmZvb3Rlci1uZXdzbGV0dGVyIC5zb2NpYWwtbGlua3MgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZm9vdGVyLW5ld3NsZXR0ZXIgLnNvY2lhbC1saW5rc19faXRlbSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNTIuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1LjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gICAgLmZvb3Rlci1uZXdzbGV0dGVyIC5zb2NpYWwtbGlua3NfX2l0ZW06aG92ZXIge1xuICAgICAgY29sb3I6ICNlOGVjZWE7IH1cblxuLmZvb3Rlci1ib3R0b20ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogNC44cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuZm9vdGVyLWJvdHRvbSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNy4ycmVtOyB9IH1cbiAgLmZvb3Rlci1ib3R0b20gLndyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmZvb3Rlci1ib3R0b20gLndyYXBwZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZm9vdGVyLWJvdHRvbSBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuZm9vdGVyLWJvdHRvbV9fbGlua3Mge1xuICAgIGZsZXg6IDAgMSA2MCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZvb3Rlci1ib3R0b21fX2xpbmtzIHtcbiAgICAgICAgZmxleDogMCAxIDEwMCU7XG4gICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgLmZvb3Rlci1ib3R0b21fX3NvY2lhbCB7XG4gICAgZmxleDogMCAxIDQwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZm9vdGVyLWJvdHRvbV9fc29jaWFsIHtcbiAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlOyB9IH1cbiAgICAuZm9vdGVyLWJvdHRvbV9fc29jaWFsIC5zb2NpYWwtbGlua3Mge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmZvb3Rlci1ib3R0b21fX3NvY2lhbCAuc29jaWFsLWxpbmtzIGxpIHtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwOyB9XG4gICAgICAgIC5mb290ZXItYm90dG9tX19zb2NpYWwgLnNvY2lhbC1saW5rcyBsaSBhIHN2ZyB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBmaWxsOiAjMDA2OTUwOyB9XG4gICAgICAgIC5mb290ZXItYm90dG9tX19zb2NpYWwgLnNvY2lhbC1saW5rcyBsaSBhOmhvdmVyIHN2ZyB7XG4gICAgICAgICAgZmlsbDogI2U4ZWNlYTsgfVxuICAgIC5mb290ZXItYm90dG9tX19zb2NpYWwgYSB7XG4gICAgICBjb2xvcjogIzAwNjk1MDsgfVxuXG4uY29weXJpZ2h0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZGlzYWJsZS1jb29raWVzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5kaXNhYmxlLWNvb2tpZXMge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuLnNlYXJjaC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VhcmNoLWJsb2NrIHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnNlYXJjaC1ibG9jayAucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEuMnJlbSAzMHB4OyB9XG4gICAgLnNlYXJjaC1ibG9jayAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuc2VhcmNoLWJsb2NrIC5wYWdpbmF0aW9uIC5wcmV2IHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnNlYXJjaC1ibG9jayAucGFnaW5hdGlvbiAubmV4dCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cblxuI3dhbHJhdmVuX2FqYXhfbG9hZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoIDUwJSAtIDUwcHgpO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTI3cHggMCAwIC0yN3B4O1xuICB3aWR0aDogNTRweDtcbiAgaGVpZ2h0OiA1NXB4OyB9XG5cbi5zZWFyY2hmb3JtIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VhcmNoZm9ybTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNlYXJjaGZvcm0tLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuICAgIC5zZWFyY2hmb3JtLS1jb250ZW50IGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOGVjZWE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlYXJjaGZvcm1fX3NlbGVjdCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZGJkNztcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IHRvcCAxOXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDQuOHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4ODBweCkge1xuICAgICAgLnNlYXJjaGZvcm1fX3NlbGVjdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5zZWFyY2hmb3JtX19zZWxlY3Q6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCB0b3AgMjFweDsgfVxuICAuc2VhcmNoZm9ybSAudHdpdHRlci10eXBlYWhlYWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5zZWFyY2hmb3JtX190ZXh0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA0cHggMzBweCA0cHggMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAzMnB4OyB9XG4gICAgYm9keS5uby1zZWFyY2ggLnNlYXJjaGZvcm1fX3RleHQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogNzklOyB9XG4gIC5zZWFyY2hmb3JtX19zdWJtaXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogNC44cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NlMWRjOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5zZWFyY2hmb3JtX19zdWJtaXQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IHRvcCA1MCU7XG4gICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLnNlYXJjaGZvcm1fX3N1Ym1pdCAuZmEtc2VhcmNoIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICAgIGZpbHRlcjogRmxpcEg7IH1cbiAgICAuc2VhcmNoZm9ybV9fc3VibWl0X190ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlYXJjaGZvcm0gLnNlYXJjaC1zdWdnZXN0aW9uIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLm5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuMnM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA2OHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICB0b3A6IDExOXB4OyB9IH1cbiAgLmhlYWRlci0taGlkZGVuIC5uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5oZWFkZXItLWhpZGRlbiAubmF2aWdhdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDkwcHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTEwcHgpOyB9IH1cbiAgLm5hdmlnYXRpb25fX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIC8qKlxuICAgICAgICAgKiBHZW5lcmFsIG1lbnUgaXRlbSBzdHlsaW5nXG4gICAgICAgICAqL1xuICAgIC8qKlxuICAgICAgICAgKiBTdHlsaW5nIHN1YiBtZW51LlxuICAgICAgICAgKiBTaW5jZSB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBzdWIgbWVudSdzLCB0aGlzIHN0eWxpbmcgb25seSBhcHBsaWVzIHRvIHRoZSBmaXJzdCAnbGF5ZXInXG4gICAgICAgICAqXG4gICAgICAgICAqIFVzZSBmb2N1cy13aXRoaW4gZm9yIGFjY2Vzc2liaWxpdHksIHRoaXMgbWFrZXMgdGhlIG1lbnUga2V5Ym9hcmQgZnJpZW5kbHkuXG4gICAgICAgICAqLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5uYXZpZ2F0aW9uX19saXN0IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLm5hdmlnYXRpb25fX2xpc3QgYVtocmVmPVwiI1wiXSwgLm5hdmlnYXRpb25fX2xpc3QgYVtocmVmPVwiXCJdLCAubmF2aWdhdGlvbl9fbGlzdCBhOm5vdChbaHJlZl0pIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5uYXZpZ2F0aW9uX19saXN0IC5tZW51LWl0ZW0gPiBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5uYXZpZ2F0aW9uX19saXN0IC5tZW51LWl0ZW0gYSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIC8qKlxuICAgICAgICAgICAgICogVGhpcyBoYXMgdG8gYmUgYSBzZXBhcmF0ZSBzZWxlY3RvciBiZWNhdXNlIG9mLi4uIHdoYXQgZWxzZSBJRSBhbmQgRWRnZS5cbiAgICAgICAgICAgICAqIElFIGFuZCBFZGdlIGRvbid0IHJlY29nbml6ZSA6Zm9jdXMtd2l0aGluLCB0aGVyZWZvcmUgaXQgaGFzIHRvIGJlIGEgc2VwYXJhdGUgc2VsZWN0b3IuXG4gICAgICAgICAgICAgKi8gfVxuICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAubmF2aWdhdGlvbl9fbGlzdCA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXI6YWZ0ZXIsIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46Zm9jdXMtd2l0aGluOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2RmZWVmZjtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjphZnRlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgICAubmF2aWdhdGlvbl9fbGlzdCA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICAubmF2aWdhdGlvbl9fbGlzdCA+IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYSB7XG4gICAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2RmZWVmZjtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtOmhvdmVyLCAubmF2aWdhdGlvbl9fbGlzdCA+IC5tZW51LWl0ZW0uZm9jdXMtd2l0aGluIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbTpob3ZlciwgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbTpob3ZlciA+IC5zdWItbWVudSxcbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtOmhvdmVyID4gLnN1Yi1tZW51OmJlZm9yZSwgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLmZvY3VzLXdpdGhpbiA+IC5zdWItbWVudSxcbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtLmZvY3VzLXdpdGhpbiA+IC5zdWItbWVudTpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbTpob3ZlciA+IGEsIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbS5mb2N1cy13aXRoaW4gPiBhIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7IH0gfVxuICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtOmZvY3VzLXdpdGhpbiA+IC5zdWItbWVudSxcbiAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbTpmb2N1cy13aXRoaW4gPiAuc3ViLW1lbnU6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbSA+IC5zdWItbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UgLjE1cztcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEFwcGx5IHRoZSBncmVlbiBmdWxsIHdpZHRoIGJhY2tncm91bmQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIE1ha2UgdGhlIGZpcnN0IHN1YiBtZW51IGxpbmsgYm9sZC5cbiAgICAgICAgICAgICAgICAgKi8gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbSA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDEwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9IH1cbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtID4gLnN1Yi1tZW51OmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgICAgICB3aWR0aDogMjAwdnc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IC0xMDB2dztcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlIC4xNXM7IH1cbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtID4gLnN1Yi1tZW51ID4gLm1lbnUtaXRlbSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgICAgIC5uYXZpZ2F0aW9uX19saXN0ID4gLm1lbnUtaXRlbSA+IC5zdWItbWVudSA+IC5tZW51LWl0ZW06bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNC44cmVtOyB9XG4gICAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtID4gLnN1Yi1tZW51ID4gLm1lbnUtaXRlbSA+IGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtIC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG4gICAgICAubmF2aWdhdGlvbl9fbGlzdCA+IC5tZW51LWl0ZW0gLnN1Yi1tZW51IC5zdWItbWVudSBhIHtcbiAgICAgICAgY29sb3I6ICNkM2RiZDc7IH1cbiAgICAgICAgLm5hdmlnYXRpb25fX2xpc3QgPiAubWVudS1pdGVtIC5zdWItbWVudSAuc3ViLW1lbnUgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7IH1cblxuLm5hdmlnYXRpb24tbGFiZWwge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5uYXZpZ2F0aW9uLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5uYXZpZ2F0aW9uLWxhYmVsIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBmbGV4OiAwIDEgNzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgLm5hdmlnYXRpb24tbGFiZWwge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5uYXZpZ2F0aW9uLWxhYmVsX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiA3OHB4OyB9XG4gICAgLm5hdmlnYXRpb24tbGFiZWxfX2J1dHRvbjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLm5hdmlnYXRpb24tbGFiZWxfX2J1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgIC5uYXZpZ2F0aW9uLWxhYmVsX19idXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IGF1dG87IH0gfVxuICAgIC5uYXZpZ2F0aW9uLWxhYmVsX19idXR0b25fX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXRvcDogNnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAubmF2aWdhdGlvbi1sYWJlbF9fYnV0dG9uX19sYWJlbCB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5uYXZpZ2F0aW9uLWxhYmVsX19idXR0b25fX2JhcnMge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAubmF2aWdhdGlvbi1sYWJlbF9fYnV0dG9uX19iYXJzIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHRvcDogLTEzcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgICAgLm5hdmlnYXRpb24tbGFiZWxfX2J1dHRvbl9fYmFycyB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHRvcDogLTE0cHg7IH0gfVxuICAgICAgLm5hdmlnYXRpb24tbGFiZWxfX2J1dHRvbl9fYmFyczpiZWZvcmUsIC5uYXZpZ2F0aW9uLWxhYmVsX19idXR0b25fX2JhcnM6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgb3BhY2l0eTogLjk5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMjVzO1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAubmF2aWdhdGlvbi1sYWJlbF9fYnV0dG9uX19iYXJzOmJlZm9yZSB7XG4gICAgICAgIHRvcDogN3B4OyB9XG4gICAgICAubmF2aWdhdGlvbi1sYWJlbF9fYnV0dG9uX19iYXJzOmFmdGVyIHtcbiAgICAgICAgdG9wOiAtN3B4OyB9XG4gIC5uYXZpZ2F0aW9uLWxhYmVsLmFjdGl2ZSAubWVudS1iYXJzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5uYXZpZ2F0aW9uLWxhYmVsLmFjdGl2ZSAubWVudS1iYXJzOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAubmF2aWdhdGlvbi1sYWJlbC5hY3RpdmUgLm1lbnUtYmFyczphZnRlciB7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgbGluZWFyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBjb2xvcjogI2QzZGJkNztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjMGMxYzI7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICNjMGMxYzI7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDQ1MzU7IH1cbiAgLmJyZWFkY3J1bWJzIC5icmVhZGNydW1iX2xhc3Qge1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi50dC1kcm9wZG93bi1tZW51IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMTBweCAwO1xuICB3aWR0aDogNDAwcHg7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlOGVjZWE7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4OyB9XG4gIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR0LWRyb3Bkb3duLW1lbnUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50dC1kcm9wZG93bi1tZW51IC50dC1kYXRhc2V0LWF1dG9jb21wbGV0ZSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkM2RiZDc7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgICAudHQtZHJvcGRvd24tbWVudSAudHQtZGF0YXNldC1hdXRvY29tcGxldGUgLnR0LXN1Z2dlc3Rpb24ge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9XG4gICAgICAudHQtZHJvcGRvd24tbWVudSAudHQtZGF0YXNldC1hdXRvY29tcGxldGUgLnR0LXN1Z2dlc3Rpb24gaW1nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNzBweDsgfVxuICAgICAgLnR0LWRyb3Bkb3duLW1lbnUgLnR0LWRhdGFzZXQtYXV0b2NvbXBsZXRlIC50dC1zdWdnZXN0aW9uIC50ZXh0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAgICAgICAudHQtZHJvcGRvd24tbWVudSAudHQtZGF0YXNldC1hdXRvY29tcGxldGUgLnR0LXN1Z2dlc3Rpb24gLnRleHQtLW5vLWltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTcwcHg7IH1cbiAgICAgIC50dC1kcm9wZG93bi1tZW51IC50dC1kYXRhc2V0LWF1dG9jb21wbGV0ZSAudHQtc3VnZ2VzdGlvbiAub3ZlcnZpZXcge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnR0LWRyb3Bkb3duLW1lbnUgLnR0LXN1Z2dlc3Rpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAwLjZyZW0gMTBweDsgfVxuICAgIC50dC1kcm9wZG93bi1tZW51IC50dC1zdWdnZXN0aW9uIHAge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAudHQtZHJvcGRvd24tbWVudSAudHQtY3Vyc29yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDNkYmQ3OyB9XG5cbi5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICB3aWR0aDogODIuOTQ1NzQlOyB9XG4gIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMuNTI5NDElO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cbiAgICAgIC5zZWFyY2hmb3JtLWNvbnRlbnQgLnR3aXR0ZXItdHlwZWFoZWFkOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4udHQtaGludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uYW5jaG9yLW5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5hbmNob3ItbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuYW5jaG9yLW5hdiAud3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHggY2FsYyggMjBweCAtIDAuNnJlbSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuYW5jaG9yLW5hdl9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDEyICogNCAtIDIwcHgpO1xuICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5hbmNob3ItbmF2IC5hbmNob3ItbmF2X19pdGVtcyB7XG4gICAgZmxleDogYXV0bztcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuYW5jaG9yLW5hdiAuYW5jaG9yLW5hdl9faXRlbXMgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuYW5jaG9yLW5hdiAuYW5jaG9yLW5hdl9faXRlbXMgbGk6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuYW5jaG9yLW5hdi0tc3RpY2t5IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiA4OHB4O1xuICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgMC4yczsgfVxuICAgIGJvZHkuaGVhZGVyLWhpZGRlbiAuYW5jaG9yLW5hdi0tc3RpY2t5IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuYW5jaG9yLW5hdi0tc3RpY2t5IC5hbmNob3ItbmF2X19sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5hbmNob3ItbmF2LS1zdGlja3kgLmFuY2hvci1uYXZfX2l0ZW1zIHtcbiAgICAgIG1heC13aWR0aDogMTIyMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIC5hbmNob3ItbmF2X19pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmFuY2hvci1uYXZfX2l0ZW0tLWN1cnJlbnQsIC5hbmNob3ItbmF2X19pdGVtOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZlZDAwOyB9XG4gIC5hbmNob3ItbmF2X19wcm9kdWN0Z3JvdXAtY29kZSB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnBhZ2luYXRpb24ge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAyLjRyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlLXRlbXBsYXRlLXRwbC1kb3dubG9hZHMgLnBhZ2luYXRpb24ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkYmQ3O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgNHB4O1xuICAgIHBhZGRpbmc6IDJweCAxMHB4OyB9XG4gICAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2LCAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLm5leHQge1xuICAgICAgYmFja2dyb3VuZDogI2U1ZTVlNTsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICBib3JkZXItY29sb3I6ICMwMDY5NTA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAucGFnaW5hdGlvbiAuY3VycmVudF9fbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgLnBhZ2luYXRpb24gLmN1cnJlbnRfX3NlbGVjdCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTsgfVxuXG4ucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAucGFnZS10aXRsZSBoMSB7XG4gICAgY29sb3I6ICMwMDY5NTA7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMi40cmVtOyB9XG4gIC5jb250ZW50X19tYWluLWhlYWRpbmcge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBib2R5LnNpdGUtMSAuY29udGVudF9fbWFpbi1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuNHJlbTsgfVxuICAuY29udGVudF9fc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgLmNvbnRlbnRfX3NlY3Rpb246OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jb250ZW50X19zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNvbnRlbnRfX3NlY3Rpb24tLWxpZ2h0Z3JleSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZThlY2VhO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNHJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjRyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNvbnRlbnRfX3NlY3Rpb24tLXdoaXRlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjRyZW07IH1cbiAgICAuY29udGVudF9fc2VjdGlvbl9fbWV0YSB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBtYXJnaW4tdG9wOiAtMS4ycmVtOyB9XG4gICAgICBib2R5LnNpbmdsZSAuY29udGVudF9fc2VjdGlvbl9fbWV0YSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlY2VhO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07IH1cbiAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDc4MHB4IDFmcjtcbiAgICAgIGdyaWQtY29sdW1uLWdhcDogNDBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlY2VhO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudDo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAgIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudC0taGFzLWltYWdlOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQtLWhhcy1pbWFnZSAuY29udGVudF9fc2VjdGlvbl9fY29udGVudF9faW1hZ2Uge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgICAgIHdpZHRoOiAyMy4yNTU4MSU7IH1cbiAgICAgICAgLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQtLWhhcy1pbWFnZSAuY29udGVudF9fc2VjdGlvbl9fY29udGVudF9faW1hZ2U6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudC0taGFzLWltYWdlIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50X190ZXh0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgICAgICB3aWR0aDogNzQuNDE4NiU7IH1cbiAgICAgICAgLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQtLWhhcy1pbWFnZSAuY29udGVudF9fc2VjdGlvbl9fY29udGVudF9fdGV4dDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50LS1oYXMtaW1hZ2UgLmNvbnRlbnRfX3NlY3Rpb25fX21ldGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudCAuc2VhcmNoLXRlcm0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmRlY2MwO1xuICAgICAgICBwYWRkaW5nOiAzcHg7IH1cbiAgICAgIC5jb250ZW50X19zZWN0aW9uX19jb250ZW50IGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAuYmxvZyAuY29udGVudF9fc2VjdGlvbl9fY29udGVudCBhIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmNvbnRlbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMy42cmVtO1xuICAgIGNvbG9yOiAjMDA2OTUwO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAuY29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyOC41cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIuODVyZW07XG4gICAgY29sb3I6ICMwMDY5NTA7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gIC5jb250ZW50IGg0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jb250ZW50IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuY29udGVudCB1bCxcbiAgLmNvbnRlbnQgb2wge1xuICAgIG1hcmdpbjogMCAwIDIuNHJlbSAzMHB4OyB9XG4gICAgLmNvbnRlbnQgdWwgdWwsXG4gICAgLmNvbnRlbnQgdWwgb2wsXG4gICAgLmNvbnRlbnQgb2wgdWwsXG4gICAgLmNvbnRlbnQgb2wgb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9XG4gIC5jb250ZW50IG9sIHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICAuY29udGVudCB1bCBsaSxcbiAgLmNvbnRlbnQgb2wgdWwgbGkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jb250ZW50IHVsIGxpOmJlZm9yZSxcbiAgICAuY29udGVudCBvbCB1bCBsaTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA4cHg7XG4gICAgICB3aWR0aDogN3B4OyB9XG4gIC5jb250ZW50IG9sIHVsIGxpOmJlZm9yZSxcbiAgLmNvbnRlbnQgdWwgdWwgbGk6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjN2Y3ZjdmOyB9XG4gIC5jb250ZW50IG9sIGxpLFxuICAuY29udGVudCB1bCBvbCBsaSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuY29udGVudCBociB7XG4gICAgYmFja2dyb3VuZDogI2U4ZWNlYTtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiAxcHg7IH1cbiAgLmNvbnRlbnQgLmdhbGxlcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgIC5jb250ZW50IC5nYWxsZXJ5OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgICB3aWR0aDogMzEuNzgyOTUlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLmNvbnRlbnQgLmdhbGxlcnkgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfVxuICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgICAgd2lkdGg6IDQ4LjgzNzIxJTsgfVxuICAgICAgLmNvbnRlbnQgLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7IH1cbiAgICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfVxuICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgICAgd2lkdGg6IDIzLjI1NTgxJTsgfVxuICAgICAgLmNvbnRlbnQgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7IH1cbiAgICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNG4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfVxuICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtLCAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICAgIHdpZHRoOiAxNC43Mjg2OCU7IH1cbiAgICAgIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbiksIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoM24rMSksIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbTpsYXN0LWNoaWxkLCAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4pLCAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuY29udGVudCAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4rMSksIC5jb250ZW50IC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg2bisxKSB7XG4gICAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7XG4gICAgICAgIHdpZHRoOiA0Ni4zNDE0NiU7IH1cbiAgICAgICAgLmNvbnRlbnQgLmdhbGxlcnkgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclOyB9XG4gICAgICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7IH1cbiAgICAgICAgLmNvbnRlbnQgLmdhbGxlcnkgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDRuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCg0bisxKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLmNvbnRlbnQgLmdhbGxlcnkgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclOyB9XG4gICAgICAgIC5jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDZuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAuY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuXG4uam9iLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLmpvYi1idXR0b25zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAuam9iLWJ1dHRvbnMgYSB7XG4gICAgICBtYXJnaW46IDAgMTBweCAxLjJyZW0gMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2MHB4KSB7XG4gICAgLmpvYi1idXR0b25zIGEge1xuICAgICAgZmxleDogMCAxIDEwMCU7IH0gfVxuXG5wIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYmxvZyBwIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY291bnRyeS1vdmVydmlldyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNvdW50cnktb3ZlcnZpZXc6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIGJvZHk6bm90KC5zaXRlLTEpIC5jb3VudHJ5LW92ZXJ2aWV3IHtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgLmNvdW50cnktb3ZlcnZpZXc6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLmNvdW50cnktb3ZlcnZpZXctLXRvcCwgLmNvdW50cnktb3ZlcnZpZXctLWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDIuNHJlbSAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAzMDA7IH1cbiAgLmNvdW50cnktb3ZlcnZpZXctLXRvcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGVjZWE7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMjNweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuICAuY291bnRyeS1vdmVydmlldy0tYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyB9XG4gIC5jb3VudHJ5LW92ZXJ2aWV3X19jbG9zZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmNvdW50cnktb3ZlcnZpZXdfX2Nsb3NlOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5jb3VudHJ5LW92ZXJ2aWV3X19jb250aW5lbnQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlY2VhO1xuICAgIHBhZGRpbmc6IDEuMnJlbSAwOyB9XG4gIC5jb3VudHJ5LW92ZXJ2aWV3X19pbnRlcm5hdGlvbmFsIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMuM3JlbTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLmNvdW50cnktb3ZlcnZpZXdfX2ludGVybmF0aW9uYWwgaW1nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuXG4uZmlsdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMDA2OTUwO1xuICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmlsdGVyLmlzLW1vYmlsZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNlNWU1ZTU7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2U1ZTVlNTtcbiAgICBtYXJnaW4tdG9wOiAtNC44cmVtO1xuICAgIHBhZGRpbmc6IDQuOHJlbSAyMHB4IDEuMnJlbSAyMHB4OyB9XG4gICAgLmZpbHRlci5pcy1tb2JpbGUgLmZpbHRlcl9faGVhZGluZyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5maWx0ZXJfX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMy42cmVtO1xuICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMTBweCAxLjJyZW0gMjBweDsgfVxuICAuZmlsdGVyX19zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgcGFkZGluZzogMCAyMHB4IDIuNHJlbSAyMHB4OyB9XG4gICAgLmZpbHRlcl9fc2VjdGlvbl9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgICAgY29sb3I6ICMwMDY5NTA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtOyB9XG4gICAgLmZpbHRlcl9fc2VjdGlvbl9fY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAuZmlsdGVyX19zZWN0aW9uLS1jb2xsYXBzYWJsZSAuZmlsdGVyX19zZWN0aW9uX19oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5maWx0ZXJfX3NlY3Rpb24tLWNvbGxhcHNhYmxlIC5maWx0ZXJfX3NlY3Rpb25fX2hlYWRpbmc6YWZ0ZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHJpZ2h0IDAuMnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogcmlnaHQgMC4ycyBlYXNlLWluLW91dCwgLW1vei10cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLWFycm93LXJpZ2h0LWJsYWNrLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMnB4IHRvcCA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDhweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgd2lkdGg6IDEwcHg7IH1cbiAgICAgIC5maWx0ZXJfX3NlY3Rpb24tLWNvbGxhcHNhYmxlIC5maWx0ZXJfX3NlY3Rpb25fX2hlYWRpbmc6aG92ZXI6YWZ0ZXIge1xuICAgICAgICByaWdodDogNXB4OyB9XG4gICAgLmZpbHRlcl9fc2VjdGlvbi0tY29sbGFwc2VkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07IH1cbiAgICAgIC5maWx0ZXJfX3NlY3Rpb24tLWNvbGxhcHNlZCAuZmlsdGVyX19zZWN0aW9uX19oZWFkaW5nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5maWx0ZXJfX3NlY3Rpb24tLWNvbGxhcHNlZCAuZmlsdGVyX19zZWN0aW9uX19oZWFkaW5nOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgLmZpbHRlcl9fc2VjdGlvbi0tY29sbGFwc2VkIC5maWx0ZXJfX3NlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZpbHRlcl9fc2VjdGlvbl9fZm9ybV9faW5wdXQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSA2MHB4KTsgfVxuICAgIC5maWx0ZXJfX3NlY3Rpb25fX2Zvcm1fX3N1Ym1pdCB7XG4gICAgICB3aWR0aDogNTBweDsgfVxuICAuZmlsdGVyX19saXN0X19pdGVtIHtcbiAgICBjb2xvcjogI2MwYzFjMjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07IH1cbiAgICAuZmlsdGVyX19saXN0X19pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSwgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTk5OTlweDsgfVxuICAgICAgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCwgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5maWx0ZXJfX2xpc3RfX2l0ZW0gW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLCAuZmlsdGVyX19saXN0X19pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGhlaWdodDogMS4yNWVtO1xuICAgICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAxcHggMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4zOSk7IH1cbiAgICAgICAgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciwgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tY2hlY2tib3gtdGljay5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDE0cHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICAgICAgd2lkdGg6IDE0cHg7IH1cbiAgICAuZmlsdGVyX19saXN0X19pdGVtIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gICAgLmZpbHRlcl9fbGlzdF9faXRlbSBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIC5wYWdlLXRlbXBsYXRlLXRwbC1kb3dubG9hZHMgLmZpbHRlcl9fbGlzdF9faXRlbSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5maWx0ZXJfX2xpc3RfX2l0ZW0tLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZpbHRlcl9fbGlzdF9faXRlbSBhLFxuICAgIC5maWx0ZXJfX2xpc3RfX2l0ZW0gLnNwYW4tbGluayB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuZmlsdGVyX19jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5maWx0ZXJfX2Nsb3NlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0b3A6IDEuMnJlbTsgfVxuICAgICAgICAuZmlsdGVyX19jbG9zZTphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tY3Jvc3Muc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwcHg7IH0gfVxuXG4uZmlsdGVyLWl0ZW1zIHtcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtaW4taGVpZ2h0OiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gIHBhZGRpbmc6IDEuNDRyZW0gMjBweCAwIDIwcHg7IH1cbiAgLmZpbHRlci1pdGVtczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZpbHRlci1pdGVtc19fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDNweCAxNXB4IDAgMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5maWx0ZXItaXRlbXNfX2xhYmVsIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjJyZW0gMDsgfSB9XG4gICAgLmZpbHRlci1pdGVtc19fbGFiZWxfX2J1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuZmlsdGVyLWl0ZW1zX19sYWJlbF9fYnV0dG9uIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH1cbiAgICAgICAgICAuZmlsdGVyLWl0ZW1zX19sYWJlbF9fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQ1MzU7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIC5maWx0ZXItaXRlbXNfX2xhYmVsX19idXR0b246YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM0Mjg7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIC5maWx0ZXItaXRlbXNfX2xhYmVsX19idXR0b24uZGlzYWJsZWQge1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5maWx0ZXItaXRlbXNfX2xhYmVsX19idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuNnJlbTsgfSB9XG4gIC5maWx0ZXItaXRlbXNfX2xpbmtzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZpbHRlci1pdGVtc19fbGlua3Mge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgIC5maWx0ZXItaXRlbXNfX2xpbmtzX19pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1LjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjU1cmVtO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICM5OTk5OTk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAxMHB4IDEuMnJlbSAwO1xuICAgICAgcGFkZGluZzogM3B4IDMwcHggM3B4IDEwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDsgfVxuICAgICAgLmZpbHRlci1pdGVtc19fbGlua3NfX2l0ZW06YWZ0ZXIsIC5maWx0ZXItaXRlbXNfX2xpbmtzX19pdGVtOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwcHg7IH1cbiAgICAgIC5maWx0ZXItaXRlbXNfX2xpbmtzX19pdGVtOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgLmZpbHRlci1pdGVtc19fbGlua3NfX2l0ZW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5maWx0ZXItaXRlbXNfX2xpbmtzX19jbGVhciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7IH1cbiAgICAgIC5maWx0ZXItaXRlbXNfX2xpbmtzX19jbGVhcjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5hY3Rpb24tYmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gIC5hY3Rpb24tYmFyX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYWN0aW9uLWJhcl9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLWRvd25sb2FkcyAuYWN0aW9uLWJhcl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmFjdGlvbi1iYXJfX2J1dHRvbi5kaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xuICAgICAgY29sb3I6ICNiZmJmYmY7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIC5hY3Rpb24tYmFyX19idXR0b24uZGlzYWJsZWQ6YmVmb3JlLCAuYWN0aW9uLWJhcl9fYnV0dG9uLmRpc2FibGVkOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2JmYmZiZjsgfVxuICAgICAgLmFjdGlvbi1iYXJfX2J1dHRvbi5kaXNhYmxlZCAuY291bnQge1xuICAgICAgICBjb2xvcjogI2JmYmZiZjsgfVxuICAgIC5hY3Rpb24tYmFyX19idXR0b24gLmNvdW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIG1pbi13aWR0aDogMjRweDtcbiAgICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmFjdGlvbi1iYXJfX2J1dHRvbi0tcmVtb3ZlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfVxuICAgICAgLmFjdGlvbi1iYXJfX2J1dHRvbi0tcmVtb3ZlOmJlZm9yZSwgLmFjdGlvbi1iYXJfX2J1dHRvbi0tcmVtb3ZlOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbGVmdDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5hY3Rpb24tYmFyX19idXR0b24tLXJlbW92ZTphZnRlciB7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuYWN0aW9uLWJhcl9fcmVzdWx0c19fc2VsZWN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjZyZW07IH1cblxuI3dwc2VvLXN0b3JlbG9jYXRvci1mb3JtIHtcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzFjMjtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtO1xuICBwYWRkaW5nOiAyMHB4IDIuNHJlbTsgfVxuICAjd3BzZW8tc3RvcmVsb2NhdG9yLWZvcm0gZmllbGRzZXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgI3dwc2VvLXN0b3JlbG9jYXRvci1mb3JtIGZpZWxkc2V0IHAge1xuICAgICAgZmxleDogYXV0bztcbiAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgI3dwc2VvLXN0b3JlbG9jYXRvci1mb3JtIGZpZWxkc2V0IHAge1xuICAgICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfSB9XG5cbiN3cHNlby1zdG9yZWxvY2F0b3ItcmVzdWx0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICN3cHNlby1zdG9yZWxvY2F0b3ItcmVzdWx0cyAud3BzZW8tbWFwLWNhbnZhcyB7XG4gICAgZmxleDogMCAxIDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gICN3cHNlby1zdG9yZWxvY2F0b3ItcmVzdWx0cyAjd3BzZW8tZGlyZWN0aW9ucy13cmFwcGVyLFxuICAjd3BzZW8tc3RvcmVsb2NhdG9yLXJlc3VsdHMgPiBoMiB7XG4gICAgZmxleDogMCAxIDEwMCU7IH1cbiAgI3dwc2VvLXN0b3JlbG9jYXRvci1yZXN1bHRzIC53cHNlby1yZXN1bHQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDY5NTA7XG4gICAgZmxleDogMCAxIGNhbGMoNTAlIC0gMjBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjRyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI3dwc2VvLXN0b3JlbG9jYXRvci1yZXN1bHRzIC53cHNlby1yZXN1bHQge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cbiAgICAjd3BzZW8tc3RvcmVsb2NhdG9yLXJlc3VsdHMgLndwc2VvLXJlc3VsdCAud3BzZW8tbG9jYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAjd3BzZW8tc3RvcmVsb2NhdG9yLXJlc3VsdHMgLndwc2VvLXJlc3VsdCAud3BzZW8tbG9jYXRpb24gaDMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICBwYWRkaW5nOiA1cHggMjBweDsgfVxuICAgICAgICAjd3BzZW8tc3RvcmVsb2NhdG9yLXJlc3VsdHMgLndwc2VvLXJlc3VsdCAud3BzZW8tbG9jYXRpb24gaDMgYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgI3dwc2VvLXN0b3JlbG9jYXRvci1yZXN1bHRzIC53cHNlby1yZXN1bHQgLndwc2VvLWxvY2F0aW9uIGgzIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNkM2RiZDc7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICN3cHNlby1zdG9yZWxvY2F0b3ItcmVzdWx0cyAud3BzZW8tcmVzdWx0IC53cHNlby1sb2NhdGlvbiA+IGRpdixcbiAgICAgICN3cHNlby1zdG9yZWxvY2F0b3ItcmVzdWx0cyAud3BzZW8tcmVzdWx0IC53cHNlby1sb2NhdGlvbiA+IHNwYW4ge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAjd3BzZW8tc3RvcmVsb2NhdG9yLXJlc3VsdHMgLndwc2VvLXJlc3VsdCAud3BzZW8tc2wtcm91dGUge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9XG5cbi5jb2x1bW4tLTIge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gIHdpZHRoOiA0OC44MzcyMSU7IH1cbiAgLmNvbHVtbi0tMjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbHVtbi0tMjpudGgtY2hpbGQoMm4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbHVtbi0tMjpudGgtY2hpbGQoMm4rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIC5jb2x1bW4tLTItLTMzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7XG4gICAgd2lkdGg6IDMyLjAwNDIlOyB9XG4gIC5jb2x1bW4tLTItLTY3IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7XG4gICAgd2lkdGg6IDY2LjAwMjElOyB9XG5cbi5jb2x1bW4tLTMge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gIHdpZHRoOiAzMS43ODI5NSU7IH1cbiAgLmNvbHVtbi0tMzpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbHVtbi0tMzpudGgtY2hpbGQoM24pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbHVtbi0tMzpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5jb2x1bW4tLTIsIC5jb2x1bW4tLTItLTMzLCAuY29sdW1uLS0yLS02NywgLmNvbHVtbi0tMyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAyLjRyZW0gMDsgfVxuICAgIC5jb2x1bW4tLTI6bGFzdC1jaGlsZCwgLmNvbHVtbi0tMi0tMzM6bGFzdC1jaGlsZCwgLmNvbHVtbi0tMi0tNjc6bGFzdC1jaGlsZCwgLmNvbHVtbi0tMzpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5jb2x1bW4tLTI6bnRoLWNoaWxkKDJuKSwgLmNvbHVtbi0tMi0tMzM6bnRoLWNoaWxkKDJuKSwgLmNvbHVtbi0tMi0tNjc6bnRoLWNoaWxkKDJuKSwgLmNvbHVtbi0tMzpudGgtY2hpbGQoMm4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7IH1cbiAgICAuY29sdW1uLS0yOm50aC1jaGlsZCgybisxKSwgLmNvbHVtbi0tMi0tMzM6bnRoLWNoaWxkKDJuKzEpLCAuY29sdW1uLS0yLS02NzpudGgtY2hpbGQoMm4rMSksIC5jb2x1bW4tLTM6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmNvbHVtbi0tMjpudGgtY2hpbGQoM24pLCAuY29sdW1uLS0yLS0zMzpudGgtY2hpbGQoM24pLCAuY29sdW1uLS0yLS02NzpudGgtY2hpbGQoM24pLCAuY29sdW1uLS0zOm50aC1jaGlsZCgzbikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgIC5jb2x1bW4tLTI6bnRoLWNoaWxkKDNuKzEpLCAuY29sdW1uLS0yLS0zMzpudGgtY2hpbGQoM24rMSksIC5jb2x1bW4tLTItLTY3Om50aC1jaGlsZCgzbisxKSwgLmNvbHVtbi0tMzpudGgtY2hpbGQoM24rMSkge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuY29sdW1uLS0yOm50aC1jaGlsZCgxbiksIC5jb2x1bW4tLTItLTMzOm50aC1jaGlsZCgxbiksIC5jb2x1bW4tLTItLTY3Om50aC1jaGlsZCgxbiksIC5jb2x1bW4tLTM6bnRoLWNoaWxkKDFuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY29sdW1uLS0yOm50aC1jaGlsZCgxbisxKSwgLmNvbHVtbi0tMi0tMzM6bnRoLWNoaWxkKDFuKzEpLCAuY29sdW1uLS0yLS02NzpudGgtY2hpbGQoMW4rMSksIC5jb2x1bW4tLTM6bnRoLWNoaWxkKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cblxuLm1vZHVsZS1jb250ZW50IGE6bm90KFtjbGFzc10pIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmZyZWUtc3VwcG9ydF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBsaW5lLWhlaWdodDogMi43cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cblxuLmZyZWUtc3VwcG9ydCAubGlzdC1jaGVja3Mge1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cblxuLmludGVyYWN0aXZlLWltYWdlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmludGVyYWN0aXZlLWltYWdlX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaW50ZXJhY3RpdmUtaW1hZ2VfX2xpbmsge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzAwNjk1MDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmludGVyYWN0aXZlLWltYWdlX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmludGVyYWN0aXZlLWltYWdlX19saW5rOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW46IC0zcHggMCAwIC0zcHg7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDZweDsgfVxuICAgIC5pbnRlcmFjdGl2ZS1pbWFnZV9fbGlua19faW5uZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyLCAxMDgsIDc5LCAwLjgpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuaW50ZXJhY3RpdmUtaW1hZ2VfX2xpbmtfX2lubmVyX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmludGVyYWN0aXZlLWltYWdlX19saW5rX19pbm5lcl9fcmVhZG1vcmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogLjllbTsgfVxuICAgICAgICAuaW50ZXJhY3RpdmUtaW1hZ2VfX2xpbmtfX2lubmVyX19yZWFkbW9yZTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmludGVyYWN0aXZlLWltYWdlX190b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHotaW5kZXg6IDIwOyB9XG5cbi5jYXRlZ29yeS1vdmVydmlldyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNhdGVnb3J5LW92ZXJ2aWV3X19jYXRlZ29yaWVzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgIHdpZHRoOiA3NC40MTg2JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jYXRlZ29yeS1vdmVydmlld19fY2F0ZWdvcmllczpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY2F0ZWdvcnktb3ZlcnZpZXdfX2NhdGVnb3JpZXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY2F0ZWdvcnktb3ZlcnZpZXdfX3NpZGViYXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDIzLjI1NTgxJTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzBjMWMyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzBjMWMyO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS45OTM3JTsgfVxuICAgIC5jYXRlZ29yeS1vdmVydmlld19fc2lkZWJhciAuZmlsdGVyX19jbG9zZSB7XG4gICAgICB0b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNhdGVnb3J5LW92ZXJ2aWV3X19zaWRlYmFyIC5maWx0ZXJfX2hlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY2F0ZWdvcnktb3ZlcnZpZXdfX3NpZGViYXIgLmZpbHRlci1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH1cbiAgICAgIC5jYXRlZ29yeS1vdmVydmlld19fc2lkZWJhciAuZmlsdGVyLWl0ZW1zLmFjdGl2ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmNhdGVnb3J5LW92ZXJ2aWV3X19zaWRlYmFyIC5maWx0ZXItaXRlbXMge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgICAgLmNhdGVnb3J5LW92ZXJ2aWV3X19zaWRlYmFyIC5maWx0ZXItaXRlbXNfX2xhYmVsX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmNhdGVnb3J5LW92ZXJ2aWV3X19zaWRlYmFyOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jYXRlZ29yeS1vdmVydmlld19fc2lkZWJhciB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmxpc3QtY2F0ZWdvcmllcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmxpc3QtY2F0ZWdvcmllczphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZmxleDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubGlzdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkYmQ3O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gNCAtIDIwcHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gNCAtIDIwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIuNHJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4ycyBlYXNlLWluLW91dDsgfVxuICAgIC5saXN0LWNhdGVnb3JpZXNfX2l0ZW0gLnRheC1wcm9kdWN0LWNhdGVnb3J5IHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMuMzMlIC0gMjBweCk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMzMuMzMlIC0gMjBweCk7IH1cbiAgICAuY2F0ZWdvcnktb3ZlcnZpZXcgLmxpc3QtY2F0ZWdvcmllc19faXRlbSAudGF4LXByb2R1Y3QtY2F0ZWdvcnkge1xuICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gNCAtIDIwcHgpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyA0IC0gMjBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTQwcHgpIHtcbiAgICAgIC5saXN0LWNhdGVnb3JpZXNfX2l0ZW0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLyAzIC0gMjBweCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgLmxpc3QtY2F0ZWdvcmllc19faXRlbSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAvIDIgLSAyMHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMjBweCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAubGlzdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgICAubGlzdC1jYXRlZ29yaWVzX19pdGVtOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzk5OTk5OTsgfVxuICAgIC5saXN0LWNhdGVnb3JpZXNfX2l0ZW1fX2NvdW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0b3A6IDE1cHg7IH1cbiAgICAubGlzdC1jYXRlZ29yaWVzX19pdGVtX19pbWFnZSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5saXN0LWNhdGVnb3JpZXNfX2l0ZW1fX2ltYWdlIGltZyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmxpc3QtY2F0ZWdvcmllc19faXRlbV9fdGV4dCB7XG4gICAgICBwYWRkaW5nOiAwLjZyZW0gMjBweDsgfVxuICAgICAgLmxpc3QtY2F0ZWdvcmllc19faXRlbV9fdGV4dF9faGVhZGluZyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd29yZC13cmFwOiBhbnl3aGVyZTsgfVxuICAgICAgLmxpc3QtY2F0ZWdvcmllc19faXRlbV9fdGV4dF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW46IDA7IH1cblxuLmxpc3QtY2F0ZWdvcnktZmlsdGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmxpc3QtY2F0ZWdvcnktZmlsdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubGlzdC1jYXRlZ29yeS1maWx0ZXJfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDAgMTBweCA1cHggMTBweDsgfVxuICAgIC5saXN0LWNhdGVnb3J5LWZpbHRlcl9faXRlbSBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMxYzI7XG4gICAgICBjb2xvcjogIzAwNjk1MDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAubGlzdC1jYXRlZ29yeS1maWx0ZXJfX2l0ZW0gYnV0dG9uOmhvdmVyLCAubGlzdC1jYXRlZ29yeS1maWx0ZXJfX2l0ZW0gYnV0dG9uLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7IH1cblxuLmxpc3QtY2hlY2tzX19pdGVtIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tY2hlY2suc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDZweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDlweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuLmxpc3QtY291bnRyaWVzOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubGlzdC1jb3VudHJpZXNfX2l0ZW0ge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gIHdpZHRoOiAyMy4yNTU4MSU7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgZm9udC1zaXplOiAxLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAyOC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAyLjg1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9XG4gIC5saXN0LWNvdW50cmllc19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmxpc3QtY291bnRyaWVzX19pdGVtOm50aC1jaGlsZCg0bikge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubGlzdC1jb3VudHJpZXNfX2l0ZW06bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5saXN0LWNvdW50cmllc19faXRlbSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzLjUyOTQxJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAubGlzdC1jb3VudHJpZXNfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLmxpc3QtY291bnRyaWVzX19pdGVtOm50aC1jaGlsZCg0bikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuNTI5NDElOyB9XG4gICAgICAubGlzdC1jb3VudHJpZXNfX2l0ZW06bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5saXN0LWNvdW50cmllc19faXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAubGlzdC1jb3VudHJpZXNfX2l0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgIC5saXN0LWNvdW50cmllc19faXRlbSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgIHdpZHRoOiA0Ni4zNDE0NiU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfVxuICAgICAgLmxpc3QtY291bnRyaWVzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5saXN0LWNvdW50cmllc19faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgLmxpc3QtY291bnRyaWVzX19pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAubGlzdC1jb3VudHJpZXNfX2l0ZW06bnRoLWNoaWxkKDRuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7IH1cbiAgICAgIC5saXN0LWNvdW50cmllc19faXRlbTpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmxpc3QtY291bnRyaWVzX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5saXN0LWNvdW50cmllc19faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG4gIC5saXN0LWNvdW50cmllc19faXRlbTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubGlzdC1jb3VudHJpZXNfX2l0ZW1fX2ltYWdlIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDMwcHg7IH1cbiAgLmxpc3QtY291bnRyaWVzX19pdGVtX19saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5saXN0LWNvdW50cmllc19faXRlbV9fbmFtZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmxpc3QtZ3JlZW4tdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAubGlzdC1ncmVlbi10ZXh0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubGlzdC1ncmVlbi10ZXh0X19pdGVtIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmxpc3QtZ3JlZW4tdGV4dF9faXRlbV9fY29udGVudCB7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMDgsIDc5LCAwLjkpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAubGlzdC1ncmVlbi10ZXh0X19pdGVtOmhvdmVyIC5saXN0LWdyZWVuLXRleHRfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMi40cmVtOyB9XG4gICAgICAubGlzdC1ncmVlbi10ZXh0X19pdGVtX19jb250ZW50X19oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4LjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuODVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAubGlzdC1ncmVlbi10ZXh0X19pdGVtX19jb250ZW50X19oZWFkaW5nIGEge1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgLmxpc3QtZ3JlZW4tdGV4dF9faXRlbV9fY29udGVudF9faGVhZGluZyBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZThlY2VhOyB9XG4gICAgICAubGlzdC1ncmVlbi10ZXh0X19pdGVtX19jb250ZW50IHAge1xuICAgICAgICBtYXJnaW46IDA7IH1cblxuLmxpc3QtaW1hZ2Uge1xuICBtYXJnaW46IDAgMCAyLjRyZW0gMCAhaW1wb3J0YW50OyB9XG4gIC5saXN0LWltYWdlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubGlzdC1pbWFnZV9faXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogMzEuNzgyOTUlO1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubGlzdC1pbWFnZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5saXN0LWltYWdlX19pdGVtOm50aC1jaGlsZCgzbikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmxpc3QtaW1hZ2VfX2l0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5saXN0LWltYWdlX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmxpc3QtaW1hZ2VfX2l0ZW1fX2ltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAubGlzdC1pbWFnZV9faXRlbV9faW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmxpc3QtaW1hZ2VfX2l0ZW1fX2ltYWdlOmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC42NSkgMCUsIHJnYmEoMCwgMTA1LCA4MCwgMC4zOCkgNDIlLCByZ2JhKDAsIDEwNSwgODAsIDAuMjIpIDY2JSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgICAubGlzdC1pbWFnZV9faXRlbTpob3ZlciAubGlzdC1pbWFnZV9faXRlbV9faW1hZ2U6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAubGlzdC1pbWFnZV9faXRlbV9faGVhZGluZyB7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvdHRvbSAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBib3R0b20gMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMS4ycmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmxpc3QtaW1hZ2VfX2l0ZW1fX2hlYWRpbmcge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5saXN0LWltYWdlX19pdGVtOmhvdmVyIC5saXN0LWltYWdlX19pdGVtX19oZWFkaW5nIHtcbiAgICAgICAgYm90dG9tOiAxLjhyZW07IH1cbiAgICAgIC5saXN0LWltYWdlX19pdGVtX19oZWFkaW5nIGEge1xuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbi5saXN0LWltYWdlLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAubGlzdC1pbWFnZS10b3A6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5saXN0LWltYWdlLXRvcF9faXRlbSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDMxLjc4Mjk1JTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZThlY2VhO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgIC5saXN0LWltYWdlLXRvcF9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5saXN0LWltYWdlLXRvcF9faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5saXN0LWltYWdlLXRvcF9faXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgY2xlYXI6IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmxpc3QtaW1hZ2UtdG9wX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAubGlzdC1pbWFnZS10b3BfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgICAubGlzdC1pbWFnZS10b3BfX2l0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfSB9XG4gICAgLmxpc3QtaW1hZ2UtdG9wX19pdGVtOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2MwYzFjMjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5saXN0LWltYWdlLXRvcF9faXRlbS0tbm8tYm9yZGVyIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5saXN0LWltYWdlLXRvcF9faXRlbV9faW1hZ2Uge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubGlzdC1pbWFnZS10b3BfX2l0ZW1fX2ltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAubGlzdC1pbWFnZS10b3BfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOGVjZWE7XG4gICAgICBwYWRkaW5nOiAyLjRyZW0gMjBweCAxLjJyZW0gMjBweDsgfVxuICAgICAgLmxpc3QtaW1hZ2UtdG9wX19pdGVtLS1uby1ib3JkZXIgLmxpc3QtaW1hZ2UtdG9wX19pdGVtX19jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAubGlzdC1pbWFnZS10b3BfX2l0ZW1fX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07IH1cblxuLnByb2R1Y3QtZG93bmxvYWRzX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDMgLSAyMHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLyAzIC0gMjBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0OmFmdGVyIHtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDIgLSAyMHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC8gMiAtIDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0OmFmdGVyIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG4gIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbSB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAzIC0gMjBweCk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC8gMyAtIDIwcHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMxYzI7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAyIC0gMjBweCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyggMTAwJSAvIDIgLSAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbSBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0X19pdGVtX19idXR0b24ge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZmxleDogMCAwIDMycHg7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAzMnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpc3RfX2l0ZW1fX2J1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpc3RfX2l0ZW1fX2J1dHRvbjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgd2lkdGg6IDMycHg7IH1cbiAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgbGVmdDogMTFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHdpZHRoOiA3cHg7IH1cbiAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgICAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0X19pdGVtX19idXR0b25fX3RleHQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDsgfVxuICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpc3RfX2l0ZW1fX21ldGEge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICBjb2xvcjogI2MwYzFjMjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpc3RfX2l0ZW1fX21ldGEgLnNlcGFyYXRvciB7XG4gICAgICAgIG1hcmdpbjogMCAwLjQ4cmVtOyB9XG4gICAgLnByb2R1Y3QtZG93bmxvYWRzX19saXN0X19pdGVtIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpc3RfX2l0ZW1fX2ZpbGUtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgZmxleDogMCAwIDMycHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fZmlsZS1pY29uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlzdF9faXRlbV9fZmlsZS1pY29uIGltZyB7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgd2lkdGg6IDI4cHg7IH1cblxuLmxpc3QtcGVyc29ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5saXN0LXBlcnNvbnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMyAtIDIwcHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpOyB9XG4gIC5saXN0LXBlcnNvbnNfX2l0ZW0ge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMyAtIDIwcHgpO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlY2VhO1xuICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMDA2OTUwO1xuICAgIHBhZGRpbmc6IDE4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5saXN0LXBlcnNvbnNfX2l0ZW0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMiAtIDIwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLyAyIC0gMjBweCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAubGlzdC1wZXJzb25zX19pdGVtIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgIC5saXN0LXBlcnNvbnNfX2l0ZW1fX2ltYWdlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgd2lkdGg6IDE5LjUxMjIlOyB9XG4gICAgICAubGlzdC1wZXJzb25zX19pdGVtX19pbWFnZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmxpc3QtcGVyc29uc19faXRlbV9fY29udGVudCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgIHdpZHRoOiA3My4xNzA3MyU7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XG4gICAgICAubGlzdC1wZXJzb25zX19pdGVtX19jb250ZW50Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAubGlzdC1wZXJzb25zX19pdGVtX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1LjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjU1cmVtO1xuICAgICAgY29sb3I6ICMwMDY5NTA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4OyB9XG4gICAgLmxpc3QtcGVyc29uc19faXRlbV9fZnVuY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubGlzdC1wZXJzb25zX19pdGVtX19sb2NhdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmxpc3QtcGVyc29uc19faXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAubGlzdC1wZXJzb25zX19pdGVtIGFbaHJlZl49XCJtYWlsdG9cIl0ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5saXN0LXBlcnNvbnNfX2l0ZW0gcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubGlzdC1wcm9kdWN0cyB7XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAubGlzdC1wcm9kdWN0czo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDMxLjc4Mjk1JTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QzZGJkNztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgY2xlYXI6IGxlZnQ7IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgICAgd2lkdGg6IDIzLjI1NTgxJTsgfVxuICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7IH1cbiAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00Om50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAubGlzdC1wcm9kdWN0c19faXRlbS0tNDpudGgtY2hpbGQoNG4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAubGlzdC1wcm9kdWN0c19faXRlbS0tNDpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMy41Mjk0MSU7XG4gICAgICAgICAgd2lkdGg6IDQ4LjIzNTI5JTsgfVxuICAgICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bnRoLWNoaWxkKDRuKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuNTI5NDElOyB9XG4gICAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbS0tNDpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYwcHgpIHtcbiAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbS0tNDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00Om50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00Om50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtLS00Om50aC1jaGlsZCgxbikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0tLTQ6bnRoLWNoaWxkKDFuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbS5oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAubGlzdC1wcm9kdWN0c19faXRlbSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjUyOTQxJTtcbiAgICAgICAgd2lkdGg6IDQ4LjIzNTI5JTsgfVxuICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjUyOTQxJTsgfVxuICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclOyB9XG4gICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW06bnRoLWNoaWxkKDFuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOm50aC1jaGlsZCgxbisxKSB7XG4gICAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICAgIC5saXN0LXByb2R1Y3RzX19pdGVtOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzk5OTk5OTsgfVxuICAgIC5saXN0LXByb2R1Y3RzX19pdGVtX19sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgdG9wOiAxNXB4OyB9XG4gICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW1fX2ltYWdlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbV9fdGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW1fX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbV9fc3BlY3Mge1xuICAgICAgbWFyZ2luOiAwIDAgMi40cmVtIDIwcHg7IH1cbiAgICAgIC5saXN0LXByb2R1Y3RzX19pdGVtX19zcGVjcyBsaSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgICAgICAubGlzdC1wcm9kdWN0c19faXRlbV9fc3BlY3MgbGk6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIHdpZHRoOiA3cHg7IH1cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbSBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW0gcCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLmxpc3QtcmVmZXJlbmNlcyB7XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAubGlzdC1yZWZlcmVuY2VzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubGlzdC1yZWZlcmVuY2VzX19pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIHBhZGRpbmc6IDIuNHJlbSAxMHB4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM5OTk5OTk7IH1cbiAgICAubGlzdC1yZWZlcmVuY2VzX19pdGVtX19pbWFnZXMge1xuICAgICAgZmxleDogMCAxIDMzJTtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCA0LjhyZW0gMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9faW1hZ2VzIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9faW1hZ2VzX19tb3JlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9faW1hZ2VzX19zaG93LW1vcmUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICMwMDY5NTA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9faW1hZ2VzX19zaG93LW1vcmU6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICMwMDY5NTA7IH1cbiAgICAubGlzdC1yZWZlcmVuY2VzX19pdGVtX190ZXh0IHtcbiAgICAgIGZsZXg6IDAgMSA2NSU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW1fX3RleHQge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9fZXhjZXJwdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgICAubGlzdC1yZWZlcmVuY2VzX19pdGVtX19zcGVjcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubGlzdC1yZWZlcmVuY2VzX19pdGVtX19zcGVjcyBkdCB7XG4gICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMiU7IH1cbiAgICAgIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW1fX3NwZWNzIGRkIHtcbiAgICAgICAgZmxleDogMCAxIDczJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42cmVtOyB9XG4gICAgICAgIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW1fX3NwZWNzIGRkIGEsXG4gICAgICAgIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW1fX3NwZWNzIGRkIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW1fX3NwZWNzIGRkIHVsIGxpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbV9fc3BlY3MgZGQgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICB3aWR0aDogN3B4OyB9XG5cbi5saXN0LXZpZGVvczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxpc3QtdmlkZW9zX19pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICB3aWR0aDogNDguODM3MjElO1xuICBtYXJnaW4tYm90dG9tOiA0LjhyZW07IH1cbiAgLmxpc3QtdmlkZW9zX19pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubGlzdC12aWRlb3NfX2l0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5saXN0LXZpZGVvc19faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgIGNsZWFyOiBsZWZ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmxpc3QtdmlkZW9zX19pdGVtIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5saXN0LXZpZGVvc19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAubGlzdC12aWRlb3NfX2l0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNy4zMTcwNyU7IH1cbiAgICAgIC5saXN0LXZpZGVvc19faXRlbTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogbm9uZTsgfSB9XG5cbi5tYWluLWltYWdlIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1haW4taW1hZ2UtLWhhcy12aWRlbyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgLm1haW4taW1hZ2UgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDkuNnJlbSAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tYWluLWltYWdlIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogNC44cmVtIDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAubWFpbi1pbWFnZSAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDIuNHJlbSAwOyB9IH1cbiAgLm1haW4taW1hZ2UtLWhhcy12aWRlbyAud3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWFpbi1pbWFnZV9fdmlkZW8td3JhcHBlciB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tYWluLWltYWdlX192aWRlby13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tYWluLWltYWdlX192aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDA7IH1cbiAgLm1haW4taW1hZ2VfX2hlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogNjVweDtcbiAgICBmb250LXNpemU6IDYuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogOTcuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA5Ljc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNTIuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1LjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogNjAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tYWluLWltYWdlX19oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBmb250LXNpemU6IDVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3NXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNy41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgLm1haW4taW1hZ2VfX2hlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjVyZW07IH0gfVxuXG4ubW9kdWxlLXByb2R1Y3RzIC5saXN0LXByb2R1Y3RzIHtcbiAgbWFyZ2luOiAwIDAgMi40cmVtIDAgIWltcG9ydGFudDsgfVxuICAubW9kdWxlLXByb2R1Y3RzIC5saXN0LXByb2R1Y3RzX19pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnF1b3RlX19jb250ZW50IHtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDM3LjVweDtcbiAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gIGNvbG9yOiAjMDA2OTUwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuXG4uc2xpZGVzaG93IHtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIHBhZ2VyICovIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuc2xpZGVzaG93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgICAgLnNsaWRlc2hvd19fc2xpZGVzLCAuc2xpZGVzaG93X19wYWdlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuc2xpZGVzaG93X19zbGlkZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgcGFkZGluZzogNC44cmVtIDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc2xpZGVzaG93X19zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zbGlkZXNob3dfX3NsaWRlX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDUyLjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1LjI1cmVtO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5zbGlkZXNob3dfX3NsaWRlX19oZWFkaW5nIHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMuNnJlbTsgfSB9XG4gICAgLnNsaWRlc2hvd19fc2xpZGVfX2J1dHRvbiB7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMjBweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZlZDAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIC5zbGlkZXNob3dfX3NsaWRlX19idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NTM1O1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnNsaWRlc2hvd19fc2xpZGVfX2J1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzNDI4O1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnNsaWRlc2hvd19fc2xpZGVfX2J1dHRvbi5kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnNsaWRlc2hvd19fc2xpZGVfX2J1dHRvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNnJlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMC42cmVtOyB9IH1cbiAgICAgIC5zbGlkZXNob3dfX3NsaWRlX19idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmNDY2O1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAuc2xpZGVzaG93X19wYWdlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEuMnJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnNsaWRlc2hvd19fcGFnZXIgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiAjZThlY2VhO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiAwIDVweDsgfVxuICAgICAgLnNsaWRlc2hvd19fcGFnZXIgc3Bhbi5jeWNsZS1wYWdlci1hY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZWQwMDsgfVxuICAgIC5zbGlkZXNob3dfX3BhZ2VyID4gKiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnNsaWRlcl9fY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNsaWRlci0tc21hbGwge1xuICBtYXgtd2lkdGg6IDEyMDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAuc2xpZGVyLS1zbWFsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9IH1cblxuLnNsaWRlcl9fY29udHJvbHMge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIDQwcHgpO1xuICBoZWlnaHQ6IDgwcHg7IH1cbiAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgIC5zbGlkZXJfX2NvbnRyb2xzIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uIHtcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuc2xpZGVyX19jb250cm9scyBidXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHdpZHRoOiA2MHB4OyB9IH1cbiAgICAuc2xpZGVyX19jb250cm9scyBidXR0b24gaW1nIHtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgb3BhY2l0eTogMC43NTsgfVxuICAgICAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uIGltZzpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMjBweCkge1xuICAgICAgICAuc2xpZGVyX19jb250cm9scyBidXR0b24gaW1nIHtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAuc2xpZGVyX19jb250cm9scyBidXR0b24gaW1nIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgIHdpZHRoOiA2MHB4OyB9IH1cbiAgICAuc2xpZGVyX19jb250cm9scyBidXR0b25bZGF0YS1jb250cm9scz1cInByZXZcIl0ge1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIyMHB4KSB7XG4gICAgICAgIC5zbGlkZXJfX2NvbnRyb2xzIGJ1dHRvbltkYXRhLWNvbnRyb2xzPVwicHJldlwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG4gICAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uW2RhdGEtY29udHJvbHM9XCJuZXh0XCJdIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjIwcHgpIHtcbiAgICAgICAgLnNsaWRlcl9fY29udHJvbHMgYnV0dG9uW2RhdGEtY29udHJvbHM9XCJuZXh0XCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9IH1cblxuLnNsaWRlcl9faXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zbGlkZXJfX2l0ZW1zIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgLnNsaWRlcl9faXRlbXNfX2l0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMwMDY5NTA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAuc2luZ2xlLXByb2R1Y3QgLnNsaWRlcl9faXRlbXNfX2l0ZW0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNsaWRlcl9faXRlbXNfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjlweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgIC5zbGlkZXJfX2l0ZW1zX19pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAuc2xpZGVyX19pdGVtc19faXRlbV9faW1hZ2Uge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2ltYWdlIGltZyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2NvbnRlbnRfX3RleHQge1xuICAgICAgICBmbGV4OiAwIDEgMTAwJTsgfVxuICAgIC5sdC1pZTExIC5zbGlkZXJfX2l0ZW1zX19pdGVtOm5vdCguZmVhdHVyZWQpIC5zbGlkZXJfX2l0ZW1zX19pdGVtX19jb250ZW50IHN0cm9uZywgLmx0LWllMTEgLnNsaWRlcl9faXRlbXNfX2l0ZW06bm90KC5mZWF0dXJlZCkgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2NvbnRlbnQgcCB7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX3JlYWQtbW9yZSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTsgfVxuICAgICAgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX3JlYWQtbW9yZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tbGluay5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5zbGlkZXJfX2l0ZW1zX19pdGVtX19wcm9kdWN0LWRhdGEge1xuICAgICAgcGFkZGluZzogMjBweDsgfVxuICAgIC5zbGlkZXJfX2l0ZW1zX19pdGVtX19yZWFkbW9yZSB7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cblxuLnRucy12aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4ucmFkaXNoLWNvb2tpZS1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTkpICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgZm9udC1mYW1pbHk6ICdPcGVuIHNhbnMnLCBzYW5zLXNlcmlmOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAud3JhcCB7XG4gICAgYmFja2dyb3VuZDogI2M5YzljOTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW46IDUwcHggYXV0byAwO1xuICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogMjRweCAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogY2FsYyggMTAwJSAtIDIwcHgpOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuY29va2llLWJhci1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICAgLnJhZGlzaC1jb29raWUtYmFyIC5jb29raWUtYmFyLWhlYWRlciAuY29va2llLWJhci10aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuY29va2llLWJhci1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuY29va2llLWJhci1idXR0b25zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucmFkaXNoLWNvb2tpZS1iYXIgLmNvb2tpZS1iYXItYnV0dG9ucyBsaSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIGZsZXg6IDAgMSAxMDAlOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE0cHggMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5yYWRpc2gtY29va2llLWJhciAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAucmFkaXNoLWNvb2tpZS1iYXIgbGkgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50OyB9XG4gIC5yYWRpc2gtY29va2llLWJhciBsaTpsYXN0LWNoaWxkIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAucmFkaXNoLWNvb2tpZS1iYXIgLmJ1dHRvbi1wcmltYXJ5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDA2OTUwICFpbXBvcnRhbnQ7IH1cbiAgLnJhZGlzaC1jb29raWUtYmFyIC5idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAucmFkaXNoLWNvb2tpZS1iYXIgLmNvb2tpZS1iYXItb3B0aW9ucyA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA0NnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLnJhZGlzaC1jb29raWUtYmFyIC5jb29raWUtYmFyLW9wdGlvbnMgPiBsaSBsYWJlbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICAucmFkaXNoLWNvb2tpZS1iYXIgLmNvb2tpZS1iYXItb3B0aW9ucyA+IGxpIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7IH1cbiAgICAucmFkaXNoLWNvb2tpZS1iYXIgLmNvb2tpZS1iYXItb3B0aW9ucyA+IGxpIC5jb29raWUtZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICAucmFkaXNoLWNvb2tpZS1iYXIgLmNvb2tpZS1iYXItb3B0aW9ucyA+IGxpIC5jb29raWUtZGVzY3JpcHRpb24gbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcbiAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogNDZweDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLnJhZGlzaC1jb29raWUtYmFyIC5jb29raWUtYmFyLW9wdGlvbnMgPiBsaSAuY29va2llLWRlc2NyaXB0aW9uIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAucmNjLWFsbG93LWNvb2tpZS10eXBlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAucmFkaXNoLWNvb2tpZS1iYXIgLnJjYy1hbGxvdy1jb29raWUtdHlwZSB+IGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gICAgLnJhZGlzaC1jb29raWUtYmFyIC5yY2MtYWxsb3ctY29va2llLXR5cGU6ZGlzYWJsZWQgfiBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTXpBNElpQm9aV2xuYUhROUlqSTNNQ0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajQ4Y0dGMGFDQmtQU0pOTWpjekxqTXlNaUEzTGpnM05rd3hNREF1TnpZM0lESXlNQzR6T1RKc0xUWTJMakkxTWkwNE1TNHhPREZqTFRZdU5UTXRPQzR6T1RJdE1UZ3VOalF6TFRrdU9URTBMVEkzTGpBMU5TMHpMalF0T0M0ME1UTWdOaTQxTVRRdE9TNDVNemtnTVRndU5UazNMVE11TkRBNUlESTJMams1YkRneExqZ3dOQ0F4TURBdU1EazBRVEU1TGpFNUlERTVMakU1SURBZ01EQXhNREF1TnpZM0lESTNNR0V4T1M0eE9TQXhPUzR4T1NBd0lEQXdNVFF1T1RFeUxUY3VNVEExVERNd01pNHlPVFFnTXpJdU56UmhNVGt1TURrMElERTVMakE1TkNBd0lEQXdOQzQzT1RRdE1Ua3VORFJCTVRrdU1UVTVJREU1TGpFMU9TQXdJREF3TWpreExqZzNOUzR5TkRSaE1Ua3VNVGswSURFNUxqRTVOQ0F3SURBd0xURTRMalUxTXlBM0xqWXpNbm9pSUdacGJHdzlJaU0xTlRVaUlHWnBiR3d0Y25Wc1pUMGlibTl1ZW1WeWJ5SXZQand2YzNablBnPT1cIik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM1NTU7IH1cbiAgICAucmFkaXNoLWNvb2tpZS1iYXIgLnJjYy1hbGxvdy1jb29raWUtdHlwZTpkaXNhYmxlZCB+IGxhYmVsLFxuICAgIC5yYWRpc2gtY29va2llLWJhciAucmNjLWFsbG93LWNvb2tpZS10eXBlOmRpc2FibGVkIH4gLmNvb2tpZS1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogIzU1NTsgfVxuICAgIC5yYWRpc2gtY29va2llLWJhciAucmNjLWFsbG93LWNvb2tpZS10eXBlOmNoZWNrZWQ6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pIH4gbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1jaGVja21hcmsuc3ZnXCIpOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuY29va2llLWJhci1zZXR0aW5ncyAuY29va2llLWJhci1idXR0b25zIGxpOmZpcnN0LW9mLXR5cGUge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5yYWRpc2gtY29va2llLWJhciAuY29va2llLWJhci1zZXR0aW5ncyAuY29va2llLWJhci1idXR0b25zIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgb3JkZXI6IDA7IH1cblxuZGl2LnJhZGlzaC1jb29raWUtc2V0dGluZ3MtdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5wcm9kdWN0LWZpbHRlcl9fcXVlc3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5wcm9kdWN0LWZpbHRlciBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb24sXG4uaG9tZTpub3QoLnNpdGUtMSkgLmJnLWltYWdlIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBoZWlnaHQ6IDU1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTsgfVxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3RpdGxlLCAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3N1YnRpdGxlLFxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmJnLWltYWdlX190aXRsZSxcbiAgLmhvbWU6bm90KC5zaXRlLTEpIC5iZy1pbWFnZV9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNjcuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2Ljc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3RpdGxlLCAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3N1YnRpdGxlLFxuICAgICAgLmhvbWU6bm90KC5zaXRlLTEpIC5iZy1pbWFnZV9fdGl0bGUsXG4gICAgICAuaG9tZTpub3QoLnNpdGUtMSkgLmJnLWltYWdlX19zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1Mi41cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1LjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLmhvbWU6bm90KC5zaXRlLTEpIC5maXJzdC1zZWN0aW9uX190aXRsZSwgLmhvbWU6bm90KC5zaXRlLTEpIC5maXJzdC1zZWN0aW9uX19zdWJ0aXRsZSxcbiAgICAgIC5ob21lOm5vdCguc2l0ZS0xKSAuYmctaW1hZ2VfX3RpdGxlLFxuICAgICAgLmhvbWU6bm90KC5zaXRlLTEpIC5iZy1pbWFnZV9fc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0LjVyZW07IH0gfVxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3RpdGxlLFxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmJnLWltYWdlX190aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtYXJnaW46IDAgMCA0LjhyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmhvbWU6bm90KC5zaXRlLTEpIC5maXJzdC1zZWN0aW9uX190aXRsZSxcbiAgICAgIC5ob21lOm5vdCguc2l0ZS0xKSAuYmctaW1hZ2VfX3RpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMCAyLjRyZW07IH0gfVxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmZpcnN0LXNlY3Rpb25fX3N1YnRpdGxlLFxuICAuaG9tZTpub3QoLnNpdGUtMSkgLmJnLWltYWdlX19zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICNmZmVkMDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDAgMCA0LjhyZW07IH1cbiAgLmhvbWU6bm90KC5zaXRlLTEpIC5maXJzdC1zZWN0aW9uX19jdGEsXG4gIC5ob21lOm5vdCguc2l0ZS0xKSAuYmctaW1hZ2VfX2N0YSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5ob21lOm5vdCguc2l0ZS0xKSAuZmlyc3Qtc2VjdGlvbiAud3JhcHBlcixcbiAgLmhvbWU6bm90KC5zaXRlLTEpIC5iZy1pbWFnZSAud3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uaG9tZTpub3QoLnNpdGUtMSkgLmN5Y2xlLXBhZ2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYm90dG9tOiAyMHB4O1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLmhvbWU6bm90KC5zaXRlLTEpIC5jeWNsZS1wYWdlciBzcGFuIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICMwMDY5NTA7XG4gICAgZm9udC1zaXplOiA1MHB4OyB9XG4gICAgLmhvbWU6bm90KC5zaXRlLTEpIC5jeWNsZS1wYWdlciBzcGFuOmhvdmVyLCAuaG9tZTpub3QoLnNpdGUtMSkgLmN5Y2xlLXBhZ2VyIHNwYW4uY3ljbGUtcGFnZXItYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDA0NTM1OyB9XG5cbiNob21lcGFnZS1zbGlkZXIgLnN3aXBlci1idXR0b24tcHJldixcbiNob21lcGFnZS1zbGlkZXIgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLXNsaWRlLXJpZ2h0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA1MHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIG9wYWNpdHk6IC43NTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgI2hvbWVwYWdlLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLFxuICAjaG9tZXBhZ2Utc2xpZGVyIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAjaG9tZXBhZ2Utc2xpZGVyIC5zd2lwZXItYnV0dG9uLXByZXY6aG92ZXIsXG4gICNob21lcGFnZS1zbGlkZXIgLnN3aXBlci1idXR0b24tbmV4dDpob3ZlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4jaG9tZXBhZ2Utc2xpZGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1zbGlkZS1sZWZ0LnN2Z1wiKTsgfVxuXG4jaG9tZXBhZ2Utc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4jaG9tZXBhZ2Utc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmVkMDA7IH1cblxuI2hvbWVwYWdlLXNsaWRlciAuYnV0dG9uIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG5cbi5xdWljay1saW5rcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iZy1xdWljay1saW5rcy5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgLnF1aWNrLWxpbmtzX19zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzAwNjk1MDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gMyAtIDIwcHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5xdWljay1saW5rc19fc2VjdGlvbiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gICAgLnF1aWNrLWxpbmtzX19zZWN0aW9uX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMuOXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAxLjhyZW0gNDBweDsgfVxuICAgIC5xdWljay1saW5rc19fc2VjdGlvbl9fc3Vic2VjdGlvbiB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIHBhZGRpbmc6IDIuNHJlbSA0MHB4OyB9XG4gICAgICAucXVpY2stbGlua3NfX3NlY3Rpb25fX3N1YnNlY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgLnF1aWNrLWxpbmtzX19zZWN0aW9uX19zdWJzZWN0aW9uX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMi43cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAucXVpY2stbGlua3NfX3NlY3Rpb25fX3N1YnNlY3Rpb25fX2l0ZW0ge1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnF1aWNrLWxpbmtzX19zZWN0aW9uX19zdWJzZWN0aW9uX19pdGVtOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2OTUwO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICAgLnF1aWNrLWxpbmtzX19zZWN0aW9uX19zdWJzZWN0aW9uX19pdGVtLS1oYXMtZGVzYyB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAgIC5xdWljay1saW5rc19fc2VjdGlvbl9fc3Vic2VjdGlvbl9faXRlbS0taGFzLWRlc2MgYTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnOic7IH1cbiAgICAgIC5xdWljay1saW5rc19fc2VjdGlvbl9fc3Vic2VjdGlvbl9fbGluayB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnF1aWNrLWxpbmtzX19zZWN0aW9uX19zdWJzZWN0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnF1aWNrLWxpbmtzIC53cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucXVpY2stbGlua3MgLndyYXBwZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4udGFyZ2V0LWdyb3VwcyB7XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuICAudGFyZ2V0LWdyb3Vwc19faGVhZGVyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzLjlyZW07XG4gICAgY29sb3I6ICMwMDY5NTA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAxLjhyZW0gNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRhcmdldC1ncm91cHNfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC50YXJnZXQtZ3JvdXBzX19saXN0X19pdGVtIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDY5NTA7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGZsZXg6IDAgMSBjYWxjKDI1JSAtIDIwcHgpOyB9XG4gICAgICAudGFyZ2V0LWdyb3Vwcy0tMyAudGFyZ2V0LWdyb3Vwc19fbGlzdF9faXRlbSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJS8zIC0gMjBweCk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC50YXJnZXQtZ3JvdXBzX19saXN0X19pdGVtIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgICAgICAgIC50YXJnZXQtZ3JvdXBzLS0zIC50YXJnZXQtZ3JvdXBzX19saXN0X19pdGVtIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgICAgLnRhcmdldC1ncm91cHNfX2xpc3RfX2l0ZW1fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4LjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuODVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAudGFyZ2V0LWdyb3Vwc19fbGlzdF9faXRlbV9faW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC50YXJnZXQtZ3JvdXBzX19saXN0X19pdGVtX19yZWFkLW1vcmUge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMTBweDsgfVxuICAgICAgICAudGFyZ2V0LWdyb3Vwc19fbGlzdF9faXRlbV9fcmVhZC1tb3JlIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAgIC50YXJnZXQtZ3JvdXBzX19saXN0X19pdGVtX19yZWFkLW1vcmUgYTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tbGluay5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5lYXN5LWpvYiB7XG4gIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gIC5lYXN5LWpvYl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gICAgLmVhc3ktam9iX19oZWFkZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5lYXN5LWpvYl9fZW50cmllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmVhc3ktam9iX19lbnRyaWVzX19lbnRyeSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlIC8gMiAtIDIwcHgpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMjBweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuZWFzeS1qb2JfX2VudHJpZXNfX2VudHJ5IHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gICAgICAuZWFzeS1qb2JfX2VudHJpZXNfX2VudHJ5OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5lYXN5LWpvYl9fZW50cmllc19fZW50cnlfX2ljb24ge1xuICAgICAgICBmbGV4OiAwIDAgMTAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgLmVhc3ktam9iX19lbnRyaWVzX19lbnRyeV9faWNvbiB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNzVweDtcbiAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9IH1cbiAgICAgICAgLmVhc3ktam9iX19lbnRyaWVzX19lbnRyeV9faWNvbiBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHB4OyB9XG4gICAgICAuZWFzeS1qb2JfX2VudHJpZXNfX2VudHJ5X19jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjNyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgLmVhc3ktam9iX19lbnRyaWVzX19lbnRyeV9fY29udGVudCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG4gICAgICAgIC5lYXN5LWpvYl9fZW50cmllc19fZW50cnlfX2NvbnRlbnQgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5lYXN5LWpvYl9fZW50cmllc19fZW50cnlfX3BvcHVwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87IH1cbiAgICAgICAgLmVhc3ktam9iX19lbnRyaWVzX19lbnRyeV9fcG9wdXAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5lYXN5LWpvYl9fZW50cmllc19fZW50cnlfX2luZm8taWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDsgfVxuICAgICAgICAuZWFzeS1qb2JfX2VudHJpZXNfX2VudHJ5X19pbmZvLWljb24gaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLm5ldy1mcm9tLXdhbHJhdmVuIHtcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH1cbiAgLm5ldy1mcm9tLXdhbHJhdmVuX19oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgICAubmV3LWZyb20td2FscmF2ZW5fX2hlYWRlcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZlYXR1cmVkLnNsaWRlcl9faXRlbXNfX2l0ZW0gLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuZmVhdHVyZWQuc2xpZGVyX19pdGVtc19faXRlbSAuc2xpZGVyX19pdGVtc19faXRlbV9faW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLmZlYXR1cmVkIC5zbGlkZXJfX2l0ZW1zX19pdGVtX19jb250ZW50IHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjk1MDtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogYXV0byBhdXRvIDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDgwJTtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmVhdHVyZWQgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2NvbnRlbnQgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnJlZmVyZW5jZXMge1xuICBwYWRkaW5nOiAxMDBweCAwOyB9XG4gIC5yZWZlcmVuY2VzX19oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgbWF4LXdpZHRoOiA4MDBweDsgfVxuICAgIC5yZWZlcmVuY2VzX19oZWFkZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5yZWZlcmVuY2VzX19lbnRyaWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAucmVmZXJlbmNlc19fZW50cmllczphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5IHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMTIgKiA0IC0gMjBweCk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIC5yZWZlcmVuY2VzX19lbnRyaWVzX19lbnRyeSB7XG4gICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDIgLSAyMHB4KTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnkge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgICAgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5Om50aC1vZi10eXBlKDRuKzEpLCAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnk6bnRoLW9mLXR5cGUoNG4rMikge1xuICAgICAgICBoZWlnaHQ6IDcwMHB4OyB9XG4gICAgICAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnk6bnRoLW9mLXR5cGUoNG4rMyksIC5yZWZlcmVuY2VzX19lbnRyaWVzX19lbnRyeTpudGgtb2YtdHlwZSg0bis0KSB7XG4gICAgICAgIGhlaWdodDogNTQwcHg7IH1cbiAgICAgIC5yZWZlcmVuY2VzX19lbnRyaWVzX19lbnRyeTpudGgtb2YtdHlwZSg0bisyKSwgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5Om50aC1vZi10eXBlKDRuKzMpIHtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDEyICogOCAtIDIwcHgpOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5Om50aC1vZi10eXBlKDRuKzIpLCAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnk6bnRoLW9mLXR5cGUoNG4rMykge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDIgLSAyMHB4KTsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5Om50aC1vZi10eXBlKDRuKzIpLCAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnk6bnRoLW9mLXR5cGUoNG4rMykge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG4gICAgICAgIC5yZWZlcmVuY2VzX19lbnRyaWVzX19lbnRyeTpudGgtb2YtdHlwZSg0bisyKSAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnlfX3RpdGxlLCAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnk6bnRoLW9mLXR5cGUoNG4rMykgLnJlZmVyZW5jZXNfX2VudHJpZXNfX2VudHJ5X190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG4gICAgICAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnlfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnlfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAucmVmZXJlbmNlc19fZW50cmllc19fZW50cnlfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwIDQwcHggNDBweDsgfSB9XG4gIC5yZWZlcmVuY2VzX19mb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5yZWZlcmVuY2VzX19mb290ZXIgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgcGFkZGluZzogMjBweCA1MHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLmRldmlkZXIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc2VjdGlvbi1wcm9kdWN0cyB7XG4gIHBhZGRpbmctYm90dG9tOiA0LjhyZW07XG4gIHBhZGRpbmctdG9wOiA0LjhyZW07IH1cbiAgLnNlY3Rpb24tcHJvZHVjdHMtLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNlOGVjZWE7IH1cbiAgLnNlY3Rpb24tcHJvZHVjdHMtLWJvcmRlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOGVjZWE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuc2VjdGlvbi1wcm9kdWN0cyB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZWNlYTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMS4ycmVtOyB9XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0czpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2QzZGJkNztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0cy0tZ3JleSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgIC5zZWN0aW9uLXByb2R1Y3RzX19oZWFkaW5nIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5zZWN0aW9uLXByb2R1Y3RzX19oZWFkaW5nOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzAwNDUzNTsgfVxuICAgICAgICAuc2VjdGlvbi1wcm9kdWN0c19faGVhZGluZzphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMDAzNDI4OyB9XG4gICAgICAgIC5zZWN0aW9uLXByb2R1Y3RzLmFjdGl2ZSAuc2VjdGlvbi1wcm9kdWN0c19faGVhZGluZyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0c19fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuc2VjdGlvbi1wcm9kdWN0c19faGVhZGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyMDBweDsgfVxuICAuc2VjdGlvbi1wcm9kdWN0cy1zcGVjaWZpY2F0aW9uc19faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0cy1zcGVjaWZpY2F0aW9uc19faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAuc2VjdGlvbi1wcm9kdWN0cy1zcGVjaWZpY2F0aW9uc19faGVhZGVyIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjRyZW07IH0gfVxuXG4uZ2FsbGVyeV9fYmlnLWltYWdlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZ2FsbGVyeV9fYmlnLWltYWdlIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAubGlzdC1yZWZlcmVuY2VzX19pdGVtIC5nYWxsZXJ5X19iaWctaW1hZ2Uge1xuICAgIGJvcmRlci1jb2xvcjogI2U1ZTVlNTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5nYWxsZXJ5X19iaWctaW1hZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2FsbGVyeV9fdGh1bWJzOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2FsbGVyeV9fdGh1bWJzX19pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICB3aWR0aDogMzEuNzgyOTUlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDNkYmQ3O1xuICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZ2FsbGVyeV9fdGh1bWJzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZ2FsbGVyeV9fdGh1bWJzX19pdGVtOm50aC1jaGlsZCgzbikge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZ2FsbGVyeV9fdGh1bWJzX19pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZ2FsbGVyeV9fdGh1bWJzX19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIC5saXN0LXJlZmVyZW5jZXNfX2l0ZW0gLmdhbGxlcnlfX3RodW1ic19faXRlbSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmdhbGxlcnlfX3RodW1ic19faXRlbSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmdhbGxlcnlfX3RodW1ic19faXRlbS0taGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWluZm8ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzFjMjtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5wcm9kdWN0LWluZm9fX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG4gIC5wcm9kdWN0LWluZm9fX3RpdGxlX19jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgIC5wcm9kdWN0LWluZm9fX3RpdGxlX19jb250YWluZXIgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMi43cmVtOyB9XG4gIC5wcm9kdWN0LWluZm9fX2ltYWdlcyB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDQgLSAyMHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAucHJvZHVjdC1pbmZvX19pbWFnZXMge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH0gfVxuICAucHJvZHVjdC1pbmZvX19jb250ZW50IHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDEyICogOCAtIDIwcHgpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLnByb2R1Y3QtaW5mb19fY29udGVudCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX3Byb3BlcnRpZXMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLnByb2R1Y3QtaW5mb19fY29udGVudF9fcHJvcGVydGllcyB1bCBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX2VudHJ5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnByb2R1Y3QtaW5mb19fY29udGVudF9fZW50cnlfX3dyYXBwZXIge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gICAgLnByb2R1Y3QtaW5mb19fY29udGVudF9fYXNpZGUgLmxpc3QtcXVhbGl0eS1tYXJrcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX2FzaWRlIC5saXN0LXF1YWxpdHktbWFya3MgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMTVweCAxLjJyZW0gMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAucHJvZHVjdC1pbmZvX19jb250ZW50X19hc2lkZSAubGlzdC1xdWFsaXR5LW1hcmtzIGxpOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAucHJvZHVjdC1pbmZvX19jb250ZW50X19hc2lkZSAubGlzdC1xdWFsaXR5LW1hcmtzIGxpIGltZyB7XG4gICAgICAgICAgbWF4LWhlaWdodDogNjBweDsgfVxuICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX2NvbnRhY3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX2NvbnRhY3RfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAucHJvZHVjdC1pbmZvX19jb250ZW50X19jb250YWN0X19pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX2NvbnRhY3QgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgLnByb2R1Y3QtaW5mb19fY29udGVudF9fY29udGFjdCBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnByb2R1Y3QtaW5mb19fcHJpbnQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc3BlY3MtdGFibGUge1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH0gfVxuXG4uc3BlY3MtdGFibGUgdGhlYWQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogc3RpY2t5OyB9XG5cbi5zcGVjcy10YWJsZSB0aC5oZWFkaW5nLFxuLnNwZWNzLXRhYmxlIHRoLnRhYmxlLWhlYWRlcixcbi5zcGVjcy10YWJsZSAubGFiZWwge1xuICBjb2xvcjogIzMzMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zcGVjcy10YWJsZSB0aC5oZWFkaW5nLFxuICAgIC5zcGVjcy10YWJsZSB0aC50YWJsZS1oZWFkZXIsXG4gICAgLnNwZWNzLXRhYmxlIC5sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnNwZWNzLXRhYmxlIHRoLmhlYWRpbmcgc3Ryb25nLFxuICAuc3BlY3MtdGFibGUgdGgudGFibGUtaGVhZGVyIHN0cm9uZyxcbiAgLnNwZWNzLXRhYmxlIC5sYWJlbCBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zcGVjcy10YWJsZSB0aC5oZWFkaW5nIHNwYW4sXG4gIC5zcGVjcy10YWJsZSB0aC50YWJsZS1oZWFkZXIgc3BhbixcbiAgLnNwZWNzLXRhYmxlIC5sYWJlbCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogLjllbTsgfVxuICAuc3BlY3MtdGFibGUgdGguaGVhZGluZyBhLFxuICAuc3BlY3MtdGFibGUgdGgudGFibGUtaGVhZGVyIGEsXG4gIC5zcGVjcy10YWJsZSAubGFiZWwgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjYTNiZGI1O1xuICAgIGNvbG9yOiAjMDA2OTUwOyB9XG4gICAgLnNwZWNzLXRhYmxlIHRoLmhlYWRpbmcgYTpob3ZlcixcbiAgICAuc3BlY3MtdGFibGUgdGgudGFibGUtaGVhZGVyIGE6aG92ZXIsXG4gICAgLnNwZWNzLXRhYmxlIC5sYWJlbCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDA0NTM1O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA0NTM1OyB9XG4gIC5zcGVjcy10YWJsZSB0aC5oZWFkaW5nIC5kZXNjLFxuICAuc3BlY3MtdGFibGUgdGgudGFibGUtaGVhZGVyIC5kZXNjLFxuICAuc3BlY3MtdGFibGUgLmxhYmVsIC5kZXNjIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwLjZyZW07IH1cblxuLnNwZWNzLXRhYmxlIC5zcGVjcy10YWJsZV9faGVhZGVyLS1sYWJlbCB0aCxcbi5zcGVjcy10YWJsZSAuc3BlY3MtdGFibGVfX2hlYWRlci0tYWJicmV2aWF0aW9uIHRoIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNwZWNzLXRhYmxlIC5zcGVjcy10YWJsZV9faGVhZGVyLS1sYWJlbCB0aDpmaXJzdC1jaGlsZCxcbiAgLnNwZWNzLXRhYmxlIC5zcGVjcy10YWJsZV9faGVhZGVyLS1hYmJyZXZpYXRpb24gdGg6Zmlyc3QtY2hpbGQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5zcGVjcy10YWJsZSAuc3BlY3MtdGFibGVfX2hlYWRlci0tbGFiZWwgdGgge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzFjMjsgfVxuXG4uc3BlY3MtdGFibGUgLnNwZWNzLXRhYmxlX19oZWFkZXItLWFiYnJldmlhdGlvbiB0aCB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDA2OTUwOyB9XG5cbi5zcGVjcy10YWJsZSAuc3BlY3MtdGFibGVfX2hlYWRlci0taGVhZGluZyB0aCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzBjMWMyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAxLjJyZW0gMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLnNwZWNzLXRhYmxlIC5zcGVjcy10YWJsZV9faGVhZGVyLS1oZWFkaW5nIHRoLS1kb3duOmFmdGVyLCAuc3BlY3MtdGFibGUgLnNwZWNzLXRhYmxlX19oZWFkZXItLWhlYWRpbmcgdGgtLXVwOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1hcnJvdy1kb3duLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCA5cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiA5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA3cHg7XG4gICAgdG9wOiAxOXB4O1xuICAgIHdpZHRoOiA4cHg7IH1cbiAgLnNwZWNzLXRhYmxlIC5zcGVjcy10YWJsZV9faGVhZGVyLS1oZWFkaW5nIHRoLS11cDphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb24tYXJyb3ctdXAuc3ZnXCIpOyB9XG5cbi5zcGVjcy10YWJsZSAubGFiZWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zcGVjcy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kOiAjZThlY2VhOyB9XG5cbi5zcGVjcy10YWJsZSB0Ym9keSB0ci5oaWdobGlnaHRlZCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjRzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgbGluZWFyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYmNiOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5zcGVjcy10YWJsZSB0Ym9keSB0ciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzJmN2Y2YjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgIzJmN2Y2YjsgfVxuICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0ci5hY3RpdmUgdGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0ci5hY3RpdmUgdGQ6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VsZWN0LWFycm93LXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0cHggN3B4O1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTNweDsgfSB9XG5cbi5zcGVjcy10YWJsZSB0Ym9keSB0ZCB7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZmY7XG4gIHBhZGRpbmc6IDIuNHJlbSAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNwZWNzLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5zcGVjcy10YWJsZSB0Ym9keSB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgICAuc3BlY3MtdGFibGUgdGJvZHkgdGQ6bGFzdC1jaGlsZCBpbWcge1xuICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnNwZWNzLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYTJhMmEyO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0ZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLnNwZWNzLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZWNlYTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAuc3BlY3MtdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZWxlY3QtYXJyb3cuc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogN3B4IDRweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICAgIGhlaWdodDogNHB4OyB9XG4gICAgICAgIC5zcGVjcy10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZDpob3ZlcjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlbGVjdC1hcnJvdy1yaWdodC5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDRweCA3cHg7XG4gICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gICAgICAuc3BlY3MtdGFibGUgdGJvZHkgdGQgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMCU7IH1cbiAgICAgICAgLnNwZWNzLXRhYmxlIHRib2R5IHRkIC5sYWJlbCAuZGVzYyB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG5cbi5zcGVjcy10YWJsZV9fY2xvbmUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG1heC13aWR0aDogMTE4MHB4O1xuICB3aWR0aDogYXV0bztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3BhY2l0eTogMDtcbiAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDQxcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAwLjJzLCBvcGFjaXR5IDAuMnM7IH1cbiAgYm9keS5oZWFkZXItaGlkZGVuIC5zcGVjcy10YWJsZV9fY2xvbmUge1xuICAgIG1hcmdpbi10b3A6IDM5cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc3BlY3MtdGFibGVfX2Nsb25lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc3BlY3MtdGFibGUtd3JhcHBlciB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtO1xuICBtYXgtaGVpZ2h0OiA1NzVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgLjVzIGVhc2UtaW4tb3V0OyB9XG4gIC5zcGVjcy10YWJsZS13cmFwcGVyLnNob3ctbW9yZS1saW5rOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB3aGl0ZSA0MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgLnNwZWNzLXRhYmxlLXdyYXBwZXIuZnVsbCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDsgfVxuICAgIC5zcGVjcy10YWJsZS13cmFwcGVyLmZ1bGw6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zcGVjcy10YWJsZS13cmFwcGVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5zcGVjcy10YWJsZS13cmFwcGVyOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5zcGVjcy10YWJsZS13cmFwcGVyX19zaG93LW1vcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTUwcHg7XG4gICAgei1pbmRleDogMTA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNwZWNzLXRhYmxlLXdyYXBwZXJfX3Nob3ctbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5zcGVjcy10YWJsZS13cmFwcGVyX19zaG93LW1vcmUgaW1nIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLnNwZWNzLXRhYmxlLXdyYXBwZXJfX2Zvb3RlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cbiAgICAuc3BlY3MtdGFibGUtd3JhcHBlcl9fZm9vdGVyIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5zcGVjcy10YWJsZS13cmFwcGVyX19mb290ZXIgbGk6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogOHB4O1xuICAgICAgICB3aWR0aDogN3B4OyB9XG5cbi5zcGVjcy1kcmF3aW5ncyB7XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuICAuc3BlY3MtZHJhd2luZ3M6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zcGVjcy1kcmF3aW5nc19fbGlua3Mge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLnNwZWNzLWRyYXdpbmdzX19saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi40cmVtIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuc3BlY3MtZHJhd2luZ3NfX2xpbmtzX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAgICAgLnNwZWNzLWRyYXdpbmdzX19saW5rc19faXRlbV9fbGluazphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLWFycm93LXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3cHggNXB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi5zcGVjcy1saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gIC5zcGVjcy1saXN0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc3BlY3MtbGlzdF9faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICBjb2xvcjogIzAwNjk1MDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cbiAgLnNwZWNzLWxpc3QgPiB1bDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNwZWNzLWxpc3QgdWwgbGkge1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgICAuc3BlY3MtbGlzdCB1bCBsaSB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTsgfVxuICAgIC5zcGVjcy1saXN0IHVsIGxpIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLnNwZWNzLWxpc3QgdWwgbGkgbGkgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLnNwZWNzLWxpc3QgdWwgbGkgbGkgbGkge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAgIC5zcGVjcy1saXN0IHVsIGxpIGxpIGxpOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuc3BlY3MtbGlzdF9fbGlzdCB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1nYXA6IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLnNwZWNzLWxpc3RfX2xpc3Qge1xuICAgICAgICBjb2x1bW5zOiBhdXRvOyB9IH1cblxuLnByb2R1Y3QtaW5zdGFsbGF0aW9uX191c2FnZSB7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuXG4ucHJvZHVjdC1pbnN0YWxsYXRpb25fX3ZpZGVvIHtcbiAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLnByb2R1Y3QtaW5zdGFsbGF0aW9uX192aWRlb19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH0gfVxuXG4ucHJvZHVjdC1pbnN0YWxsYXRpb25fX2hlYWRpbmcge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICBjb2xvcjogIzAwNjk1MDtcbiAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9XG5cbi5wcm9kdWN0LWluc3RhbGxhdGlvbl9fdGlwcyA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICB3aWR0aDogMzEuNzgyOTUlOyB9XG4gIC5wcm9kdWN0LWluc3RhbGxhdGlvbl9fdGlwcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5wcm9kdWN0LWluc3RhbGxhdGlvbl9fdGlwcyA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgICAgIC5wcm9kdWN0LWluc3RhbGxhdGlvbl9fdGlwcyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAucHJvZHVjdC1pbnN0YWxsYXRpb25fX3RpcHMgPiBsaSAuY2hlY2stbGlzdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG5cbi5wcm9kdWN0LXVzYWdlOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHJvZHVjdC11c2FnZV9faXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgd2lkdGg6IDMxLjc4Mjk1JTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWUwZGY7XG4gIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAucHJvZHVjdC11c2FnZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnByb2R1Y3QtdXNhZ2VfX2l0ZW06bnRoLWNoaWxkKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5wcm9kdWN0LXVzYWdlX19pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAucHJvZHVjdC11c2FnZV9faXRlbSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucHJvZHVjdC11c2FnZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAucHJvZHVjdC11c2FnZV9faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTsgfVxuICAgICAgLnByb2R1Y3QtdXNhZ2VfX2l0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH0gfVxuICAucHJvZHVjdC11c2FnZV9faXRlbV9faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuXG4ucHJvZHVjdC1kb3dubG9hZHMge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYWFhY2FiOyB9XG4gIC5wcm9kdWN0LWRvd25sb2Fkczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnByb2R1Y3QtZG93bmxvYWRzX19saW5rcyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogNDguODM3MjElOyB9XG4gICAgLnByb2R1Y3QtZG93bmxvYWRzX19saW5rczpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAucHJvZHVjdC1kb3dubG9hZHNfX2xpbmtzIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzFjMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAgIC5wcm9kdWN0LWRvd25sb2Fkc19fbGlua3M6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLnByb2R1Y3QtZG93bmxvYWRzX19jb250YWN0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgIHdpZHRoOiA0OC44MzcyMSU7IH1cbiAgICAucHJvZHVjdC1kb3dubG9hZHNfX2NvbnRhY3Q6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLnByb2R1Y3QtZG93bmxvYWRzX19jb250YWN0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucHJvZHVjdC1kb3dubG9hZHNfX2NvbnRhY3Q6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnByb2R1Y3QtY29tcGxlbWVudGFyeSxcbiAgLnByb2R1Y3QtYWx0ZXJuYXRpdmUge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuLnByb2R1Y3QtY29tcGxlbWVudGFyeV9faGVhZGluZyxcbi5wcm9kdWN0LWFsdGVybmF0aXZlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogM3JlbTtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuXG4uY2F0ZWdvcnktaW50cm8ge1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLmNhdGVnb3J5LWludHJvOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY2F0ZWdvcnktaW50cm9fX2ltYWdlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgIHdpZHRoOiAyMy4yNTU4MSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNhdGVnb3J5LWludHJvX19pbWFnZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2MHB4KSB7XG4gICAgICAuY2F0ZWdvcnktaW50cm9fX2ltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNhdGVnb3J5LWludHJvX19pbWFnZSBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jYXRlZ29yeS1pbnRyb19fY29udGVudCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjMyNTU4JTtcbiAgICB3aWR0aDogNzQuNDE4NiU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY2F0ZWdvcnktaW50cm9fX2NvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuICAgICAgLmNhdGVnb3J5LWludHJvX19jb250ZW50IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDcuMzE3MDclO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuY2F0ZWdvcnktaW50cm9fX2NvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAuY2F0ZWdvcnktaW50cm9fX2NvbnRlbnQgaDEge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuICAgIC5jYXRlZ29yeS1pbnRyb19fY29udGVudCAuY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNhdGVnb3J5LWludHJvX19jb250ZW50X19zZWUtYWxzbyB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG5cbi5zZWUtYWxzbyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7IH1cbiAgLnNlZS1hbHNvX19sYWJlbCB7XG4gICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4OyB9XG4gIC5zZWUtYWxzb19faXRlbSB7XG4gICAgY29sb3I6ICMwMDY5NTA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMnJlbSAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlLWluLW91dDsgfVxuICAgIC5zZWUtYWxzb19faXRlbTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwNDUzNTsgfVxuXG4ucHJvZHVjdHMtb3ZlcnZpZXcge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gIHdpZHRoOiA3NC40MTg2JTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucHJvZHVjdHMtb3ZlcnZpZXc6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnByb2R1Y3RzLW92ZXJ2aWV3IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5wcm9kdWN0cy1vdmVydmlld19fcHJvZHVjdHNfX2ludHJvIHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI1LjVweDtcbiAgICBsaW5lLWhlaWdodDogMi41NXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q3ZDdkNztcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLnByb2R1Y3RzLW92ZXJ2aWV3X19zaWRlYmFyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgIHdpZHRoOiAyMy4yNTU4MSU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2MwYzFjMjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwYzFjMjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7IH1cbiAgICAucHJvZHVjdHMtb3ZlcnZpZXdfX3NpZGViYXI6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLnByb2R1Y3RzLW92ZXJ2aWV3X19zaWRlYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucmVmZXJlbmNlcy1vdmVydmlldyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucmVmZXJlbmNlcy1vdmVydmlldzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnJlZmVyZW5jZXMtb3ZlcnZpZXdfX3JlZmVyZW5jZXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDc0LjQxODYlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAucmVmZXJlbmNlcy1vdmVydmlld19fcmVmZXJlbmNlczpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAucmVmZXJlbmNlcy1vdmVydmlld19fcmVmZXJlbmNlcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC44cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnJlZmVyZW5jZXMtb3ZlcnZpZXdfX3JlZmVyZW5jZXNfX2ludHJvIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1LjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjU1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkN2Q3ZDc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLnJlZmVyZW5jZXMtb3ZlcnZpZXdfX3NpZGViYXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDIzLjI1NTgxJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7IH1cbiAgICAucmVmZXJlbmNlcy1vdmVydmlld19fc2lkZWJhcjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAucmVmZXJlbmNlcy1vdmVydmlld19fc2lkZWJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjhyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmNvbnRhY3Qtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDQuOHJlbSAwIDIuNHJlbTsgfVxuICAuY29udGFjdC1zZWN0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZW1wbG95ZWVzOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTsgfVxuXG4uY29udGFjdC10b3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuY29udGFjdC10b3A6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbnRhY3QtdG9wX19kZXRhaWxzIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDEyICogOCAtIDIwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5jb250YWN0LXRvcF9fZGV0YWlscyB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgIC5jb250YWN0LXRvcF9fZGV0YWlsc19fYWRkcmVzc2VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmNvbnRhY3QtdG9wX19kZXRhaWxzX19hZGRyZXNzZXMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfSB9XG4gICAgICAuY29udGFjdC10b3BfX2RldGFpbHNfX2FkZHJlc3Nlc19fYWRkcmVzcyB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAyIC0gMjBweCk7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAuY29udGFjdC10b3BfX2RldGFpbHNfX2FkZHJlc3Nlc19fYWRkcmVzcyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH0gfVxuICAgICAgICAuY29udGFjdC10b3BfX2RldGFpbHNfX2FkZHJlc3Nlc19fYWRkcmVzcyBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5jb250YWN0LXRvcF9fZGV0YWlsc19fYWRkcmVzc2VzX19hZGRyZXNzIGFkZHJlc3Mge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTsgfVxuICAuY29udGFjdC10b3BfX21hcCB7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDQgLSAyMHB4KTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuY29udGFjdC10b3BfX21hcCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBoZWlnaHQ6IDQwMHB4OyB9IH1cbiAgICAuY29udGFjdC10b3BfX21hcCBpZnJhbWUge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jb250YWN0LXRvcF9fYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAyLjRyZW07IH1cbiAgICAuY29udGFjdC10b3BfX2J1dHRvbnNfX2J1dHRvbiB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgICAgIC5jb250YWN0LXRvcF9fYnV0dG9uc19fYnV0dG9uOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG4uY29udGFjdC1kZXRhaWxzX19hZGRyZXNzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICB3aWR0aDogNDAuMzEwMDglOyB9XG4gIC5jb250YWN0LWRldGFpbHNfX2FkZHJlc3M6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmNvbnRhY3QtZGV0YWlsc19fYWRkcmVzcyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3LjMxNzA3JTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtOyB9XG4gICAgICAuY29udGFjdC1kZXRhaWxzX19hZGRyZXNzOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uc3VwcG9ydC1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gIC5zdXBwb3J0LXNlY3Rpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zdXBwb3J0LXNlY3Rpb25fX3RvcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGVjZWE7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjRyZW07IH1cblxuLmRvd25sb2Fkcy1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTsgfVxuICAuZG93bmxvYWRzLWZvcm1fX2NvbHVtbiB7XG4gICAgZmxleDogMCAxIDMxLjMzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgICAuZG93bmxvYWRzLWZvcm1fX2NvbHVtbiBoMiB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjZyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgICAgIC5kb3dubG9hZHMtZm9ybV9fY29sdW1uIGgyIC5zdWIge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIC5kb3dubG9hZHMtZm9ybV9fY29sdW1uIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuICAuZG93bmxvYWRzLWZvcm1fX2Zvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMi40cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5kb3dubG9hZHMtc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kb3dubG9hZHMtc2VhcmNoX19pbnB1dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmRvd25sb2Fkcy1zZWFyY2hfX3N1Ym1pdCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLmRvd25sb2Fkcy1zZWFyY2hfX3N1Ym1pdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiAwOyB9XG5cbi5kb3dubG9hZHMtb3ZlcnZpZXcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRvd25sb2Fkcy1vdmVydmlldzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRvd25sb2Fkcy1vdmVydmlldyA+IGZvcm0ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kb3dubG9hZHMtb3ZlcnZpZXdfX2NvbnRlbnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zMjU1OCU7XG4gICAgd2lkdGg6IDc0LjQxODYlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZG93bmxvYWRzLW92ZXJ2aWV3X19jb250ZW50Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5kb3dubG9hZHMtb3ZlcnZpZXdfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuZG93bmxvYWRzLW92ZXJ2aWV3X19zaWRlYmFyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzI1NTglO1xuICAgIHdpZHRoOiAyMy4yNTU4MSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjk5MzclOyB9XG4gICAgLmRvd25sb2Fkcy1vdmVydmlld19fc2lkZWJhcjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZG93bmxvYWRzLW92ZXJ2aWV3X19zaWRlYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2hvdy1tb3JlLWZpbHRlcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2hvdy1tb3JlLWZpbHRlcnM6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzAwNjk1MDtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjMDA2OTUwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiA3cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogN3B4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgd2lkdGg6IDdweDsgfVxuICAuc2hvdy1tb3JlLWZpbHRlcnMubGVzczpiZWZvcmUge1xuICAgIHRvcDogMTBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi5kb3dubG9hZHMtcmVzdWx0c19faGVhZGVyIHtcbiAgYmFja2dyb3VuZDogIzk5OTk5OTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmRvd25sb2Fkcy1yZXN1bHRzX19oZWFkZXIgdGgge1xuICAgIHBhZGRpbmc6IDEuMnJlbSAxMHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmRvd25sb2Fkcy1yZXN1bHRzX19oZWFkZXIgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuZG93bmxvYWRzLXJlc3VsdHNfX2hlYWRlciB0aDpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuXG4uZG93bmxvYWRzLXJlc3VsdHNfX3JvdyB0ZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIHBhZGRpbmc6IDEuMnJlbSAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmRvd25sb2Fkcy1yZXN1bHRzX19yb3cgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5kb3dubG9hZHMtcmVzdWx0c19fcm93Om50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQ6ICNlNWU1ZTU7IH1cbiAgLmRvd25sb2Fkcy1yZXN1bHRzX19yb3c6bnRoLWNoaWxkKGV2ZW4pIHRkIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cblxuLmRvd25sb2Fkcy1yZXN1bHRzX19jaGVja2JveCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDUwcHg7IH1cbiAgLmRvd25sb2Fkcy1yZXN1bHRzX19jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDsgfVxuICAgIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLCAuZG93bmxvYWRzLXJlc3VsdHNfX2NoZWNrYm94IFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxLjI1ZW07XG4gICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjM5KTsgfVxuICAgICAgLmRvd25sb2Fkcy1yZXN1bHRzX19jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciwgLmRvd25sb2Fkcy1yZXN1bHRzX19jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29uLWNoZWNrYm94LXRpY2suc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTRweCAxNHB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGxlZnQ6IDNweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgICAgd2lkdGg6IDE0cHg7IH1cbiAgLmRvd25sb2Fkcy1yZXN1bHRzX19jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAuZG93bmxvYWRzLXJlc3VsdHNfX2NoZWNrYm94IFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTsgfVxuICAgIC5kb3dubG9hZHMtcmVzdWx0c19fY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmRvd25sb2Fkcy1yZXN1bHRzX19sYWJlbF9fdGl0bGUge1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuZG93bmxvYWRzLXJlc3VsdHNfX2xhYmVsX190aXRsZTphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmRvd25sb2Fkcy1yZXN1bHRzX19sYWJlbF9fdGl0bGU6aG92ZXIge1xuICAgIGNvbG9yOiAjMDA2OTUwOyB9XG5cbi5kb3dubG9hZHMtcmVzdWx0c19fbGFiZWwgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsaW5lLWhlaWdodDogMi40cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmRvd25sb2Fkcy1yZXN1bHRzX19sYWJlbF9fbWV0YSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsaW5lLWhlaWdodDogMi40cmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZG93bmxvYWRzLXJlc3VsdHNfX2Rvd25sb2FkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNTBweDsgfVxuICAuZG93bmxvYWRzLXJlc3VsdHNfX2Rvd25sb2FkIGltZyB7XG4gICAgd2lkdGg6IDIycHg7IH1cblxuLm1hdGVyaWFsLWxpc3Qge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OyB9XG4gIC5tYXRlcmlhbC1saXN0IHRoZWFkIHRyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTk5OTk5O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm1hdGVyaWFsLWxpc3QgdGhlYWQgdHIgdGgge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAxNXB4OyB9XG4gIC5tYXRlcmlhbC1saXN0IHRib2R5IHRyIHRkIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgIHBhZGRpbmc6IDEuMnJlbSAxNXB4OyB9XG4gIC5tYXRlcmlhbC1saXN0IHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgfVxuICAgIC5tYXRlcmlhbC1saXN0IHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmOyB9XG4gIC5tYXRlcmlhbC1saXN0IHRib2R5IC50ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tYXRlcmlhbC1saXN0IC5jZWxsLWNoZWNrIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwcHg7IH1cbiAgICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1jaGVjayBsYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFlbSAhaW1wb3J0YW50OyB9XG4gIC5tYXRlcmlhbC1saXN0IC5jZWxsLXByb2R1Y3QgYSwgLm1hdGVyaWFsLWxpc3QgLmNlbGwtZGV0YWlscyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1kZXRhaWxzIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1hdGVyaWFsLWxpc3QgLmNlbGwtZGV0YWlscyAuc3BlY3MtbGlzdCB7XG4gICAgICBjb2x1bW5zOiAzO1xuICAgICAgY29sdW1uLXJ1bGU6IDFweCBzb2xpZCAjZDNkYmQ3O1xuICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1kZXRhaWxzIC5zcGVjcy1saXN0IC5sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHdpZHRoOiA4MHB4OyB9XG4gIC5tYXRlcmlhbC1saXN0IC5jZWxsLWFtb3VudCB7XG4gICAgd2lkdGg6IDEwMHB4OyB9XG4gICAgLm1hdGVyaWFsLWxpc3QgLmNlbGwtYW1vdW50IGlucHV0IHtcbiAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgIHBhZGRpbmc6IDAuNnJlbSA1cHg7IH1cbiAgLm1hdGVyaWFsLWxpc3QgLmNlbGwtcmVtb3ZlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwcHg7IH1cbiAgICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLm1hdGVyaWFsLWxpc3QgLmNlbGwtcmVtb3ZlIGE6YmVmb3JlLCAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUgYTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM5OTk5OTk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgbGVmdDogLThweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB3aWR0aDogMjBweDsgfVxuICAgICAgLm1hdGVyaWFsLWxpc3QgLmNlbGwtcmVtb3ZlIGE6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAtNXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUgc3ZnIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxNHB4OyB9XG4gICAgICAubWF0ZXJpYWwtbGlzdCAuY2VsbC1yZW1vdmUgc3ZnIGcge1xuICAgICAgICBmaWxsOiAjMDA2OTUwOyB9XG5cbi5tYXRlcmlhbC1saXN0LW1pbmkge1xuICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm90dG9tOiAxMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIHotaW5kZXg6IDg5OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMwMHB4KSB7XG4gICAgLm1hdGVyaWFsLWxpc3QtbWluaSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5tYXRlcmlhbC1saXN0LW1pbmkgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAubWF0ZXJpYWwtbGlzdC1taW5pIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLm1hdGVyaWFsLWxpc3QtbWluaV9faGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMS4ycmVtIDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2hlYWRpbmcgLmNvdW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogIzAwNjk1MDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICB3aWR0aDogMjRweDsgfVxuICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2hlYWRpbmcgaW1nIHtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAubWF0ZXJpYWwtbGlzdC1taW5pX19oZWFkaW5nIGltZyBnIHtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2hlYWRpbmc6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNmZmY7XG4gICAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2hlYWRpbmcuYWN0aXZlOmFmdGVyIHtcbiAgICAgIHRvcDogMTNweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgLm1hdGVyaWFsLWxpc3QtbWluaV9fbGlzdCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgbWF4LWhlaWdodDogMzUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAubWF0ZXJpYWwtbGlzdC1taW5pX19saXN0X19pdGVtIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgICAgcGFkZGluZzogMC42cmVtIDMwcHggMC42cmVtIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2xpc3RfX2l0ZW0gc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tYXRlcmlhbC1saXN0LW1pbmlfX2xpc3RfX2l0ZW0gLmNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAxLjhyZW07XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7IH1cbiAgICAgICAgLm1hdGVyaWFsLWxpc3QtbWluaV9fbGlzdF9faXRlbSAuY2xvc2U6YmVmb3JlLCAubWF0ZXJpYWwtbGlzdC1taW5pX19saXN0X19pdGVtIC5jbG9zZTphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAubWF0ZXJpYWwtbGlzdC1taW5pX19saXN0X19pdGVtIC5jbG9zZTphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgICAubWF0ZXJpYWwtbGlzdC1taW5pX19saXN0X19pdGVtIC5jbG9zZTpob3ZlcjpiZWZvcmUsIC5tYXRlcmlhbC1saXN0LW1pbmlfX2xpc3RfX2l0ZW0gLmNsb3NlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTVlNWU1OyB9XG4gIC5tYXRlcmlhbC1saXN0LW1pbmlfX3NoYWRlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDA2OTUwIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogLTMycHg7IH1cbiAgLm1hdGVyaWFsLWxpc3QtbWluaV9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMCAxNXB4IDAuNnJlbSAxNXB4OyB9XG4gIC5tYXRlcmlhbC1saXN0LW1pbmlfX2FjdGlvbiB7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5tYXRlcmlhbC1hY3Rpb25zIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gIHBhZGRpbmc6IDEuOHJlbSAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLm1hdGVyaWFsLWFjdGlvbnMge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAubWF0ZXJpYWwtYWN0aW9uc19fbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAubWF0ZXJpYWwtYWN0aW9uc19fYnV0dG9ucyB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH0gfVxuICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zX19idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMC42cmVtIDEwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLm1hdGVyaWFsLWFjdGlvbnNfX2J1dHRvbnNfX2J1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zX19idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zX19idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA0NTM1O1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm1hdGVyaWFsLWFjdGlvbnNfX2J1dHRvbnNfX2J1dHRvbi0tZW1haWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zX19idXR0b24tLXByaW50LCAubWF0ZXJpYWwtYWN0aW9uc19fYnV0dG9uc19fYnV0dG9uLS1leGNlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAubWF0ZXJpYWwtYWN0aW9uc19fYnV0dG9uc19fYnV0dG9uLmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzk5OTk5OTtcbiAgICAgICAgY29sb3I6ICNlNWU1ZTU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zIC5lbWFpbC1mb3JtIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG4gICAgICBib3gtc2hhZG93OiAycHggMnB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGp1c3RpZnktaXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBsZWZ0OiAtMjBweDtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxNHB4KTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UgLjE1czsgfVxuICAgICAgLm1hdGVyaWFsLWFjdGlvbnNfX2J1dHRvbnMgLmVtYWlsLWZvcm0tLXZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgLm1hdGVyaWFsLWFjdGlvbnNfX2J1dHRvbnMgLmVtYWlsLWZvcm1fX2NvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5tYXRlcmlhbC1hY3Rpb25zX19idXR0b25zIC5lbWFpbC1mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5wcm9qZWN0LWluZm8ge1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLnByb2plY3QtaW5mb19faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAucHJvamVjdC1pbmZvX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtOyB9IH1cblxuLnBhZ2UtdGVtcGxhdGUtdHBsLWNvbXBhcmlzb24gLnBhZ2UtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cblxuLmNvbXBhcmlzb24taGVhZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xuICBtYXJnaW4tYm90dG9tOiAyLjRyZW07IH1cbiAgLmNvbXBhcmlzb24taGVhZCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cblxuLmNvbXBhcmlzb24tdGFibGUtd3JhcHBlciB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAyMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNC44cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBhcmlzb24tdGFibGUtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTEwcHg7IH0gfVxuXG4uY29tcGFyaXNvbi10YWJsZSB7XG4gIG1hcmdpbjogMDsgfVxuICAuY29tcGFyaXNvbi10YWJsZV9faGVhZGluZyB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiAxLjJyZW0gMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNvbXBhcmlzb24tdGFibGVfX2hlYWRpbmcge1xuICAgICAgICBtaW4td2lkdGg6IDEyNXB4O1xuICAgICAgICB3aWR0aDogMTI1cHg7IH0gfVxuICAgIC5jb21wYXJpc29uLXRhYmxlX19oZWFkaW5nOmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7IH1cbiAgLmNvbXBhcmlzb24tdGFibGVfX2NlbGwge1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzAwMDtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgIHBhZGRpbmc6IDEuMnJlbSAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsIHtcbiAgICAgICAgbWluLXdpZHRoOiAxNzVweDsgfSB9XG4gICAgLmNvbXBhcmlzb24tdGFibGVfX2NlbGw6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTsgfVxuICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS1pbWFnZSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuY29tcGFyaXNvbi10YWJsZV9fY2VsbC0taW1hZ2UgZmlndXJlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY29tcGFyaXNvbi10YWJsZV9fY2VsbC0taW1hZ2UgaW1nIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLmNvbXBhcmlzb24tdGFibGVfX2NlbGwtLWltYWdlOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS10aXRsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS10aXRsZTphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS10aXRsZSAuY29tcGFyaXNvbi1yZW1vdmUge1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgIHdpZHRoOiAzMHB4OyB9XG4gICAgICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS10aXRsZSAuY29tcGFyaXNvbi1yZW1vdmU6YmVmb3JlLCAuY29tcGFyaXNvbi10YWJsZV9fY2VsbC0tdGl0bGUgLmNvbXBhcmlzb24tcmVtb3ZlOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZGEyOTFjO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICB3aWR0aDogMTJweDsgfVxuICAgICAgICAuY29tcGFyaXNvbi10YWJsZV9fY2VsbC0tdGl0bGUgLmNvbXBhcmlzb24tcmVtb3ZlOmFmdGVyIHtcbiAgICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICAgIC5jb21wYXJpc29uLXRhYmxlX19jZWxsLS10aXRsZSAuY29tcGFyaXNvbi1yZW1vdmU6aG92ZXI6YmVmb3JlLCAuY29tcGFyaXNvbi10YWJsZV9fY2VsbC0tdGl0bGUgLmNvbXBhcmlzb24tcmVtb3ZlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogIzk2MWMxMzsgfVxuICAuY29tcGFyaXNvbi10YWJsZV9fcm93OmZpcnN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmNvbXBhcmlzb24tdGFibGVfX3JvdzpudGgtY2hpbGQoLW4rMSkgdGg6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNvbXBhcmlzb24tdGFibGUgLnRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI2NvbXBhcmlzb24tdGFibGUtbG9hZGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXG4ubWZwLWJnIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICMwYjBiMGI7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4ubWZwLXdyYXAge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ubWZwLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubWZwLWFsaWduLXRvcCAubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogMTA0NTsgfVxuXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LFxuLm1mcC1hamF4LWhvbGRlciAubWZwLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzOyB9XG5cbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cblxuLm1mcC16b29tIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4ubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudCB7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWNsb3NlLFxuLm1mcC1hcnJvdyxcbi5tZnAtcHJlbG9hZGVyLFxuLm1mcC1jb3VudGVyIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubWZwLXByZWxvYWRlciB7XG4gIGNvbG9yOiAjQ0NDO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMC44ZW07XG4gIGxlZnQ6IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgei1pbmRleDogMTA0NDsgfVxuICAubWZwLXByZWxvYWRlciBhIHtcbiAgICBjb2xvcjogI0NDQzsgfVxuICAgIC5tZnAtcHJlbG9hZGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNGRkY7IH1cblxuLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5idXR0b24ubWZwLWNsb3NlLCBidXR0b24ubWZwLWFycm93IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogMTA0NjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5tZnAtY2xvc2Uge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMC42NTtcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7IH1cbiAgLm1mcC1jbG9zZTpob3ZlciwgLm1mcC1jbG9zZTpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubWZwLWNsb3NlOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7IH1cblxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjRkZGO1xuICByaWdodDogLTZweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1mcC1jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjb2xvcjogI0NDQztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4ubWZwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwLjY1O1xuICBtYXJnaW46IDA7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogMTEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxuICAubWZwLWFycm93OmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cbiAgLm1mcC1hcnJvdzpob3ZlciwgLm1mcC1hcnJvdzpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubWZwLWFycm93OmJlZm9yZSwgLm1mcC1hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9XG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgICB0b3A6IDhweDsgfVxuICAubWZwLWFycm93OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4ubWZwLWFycm93LWxlZnQge1xuICBsZWZ0OiAwOyB9XG4gIC5tZnAtYXJyb3ctbGVmdDphZnRlciB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XG4gICAgbWFyZ2luLWxlZnQ6IDMxcHg7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XG4gICAgbWFyZ2luLWxlZnQ6IDM5cHg7IH1cbiAgLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTAwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogLTQwcHg7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuICAubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtaW4taGVpZ2h0OiA3NXZoOyB9XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDsgfVxuICAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogLTE7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgY29sb3I6ICNCREJEQkQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gIG1hcmdpbi10b3A6IC0zNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjRjNGM0YzO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgLyoqXG4gICAgICAgICAgICAgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXG4gICAgICAgICAgICAgKi9cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxuICAubWZwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cbiIsIkBpbXBvcnQgXCIvL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjIuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3NcIjsiLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKiB7XG4gICAgJixcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qXG4gKiBWZXJ0aWNhbCBSaHl0aG1uIGluIFNhc3Mgd2l0aCBoZWxwZnVsIG1peGlucyBhbmQgaGVscGVyc1xuICogQXV0aG9yOiAgR2F5YSBLZXNzbGVyXG4gKiBWZXJzaW9uOiAwLjAuMVxuICogRGF0ZTogICAgMjAxNC0wNS0xOFxuICovXG5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYmFzZS1mb250LXNpemUpID09IGZhbHNlIHtcbiAgICAkYmFzZS1mb250LXNpemU6IDE2cHg7XG59XG5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYmFzZS1saW5lKSA9PSBmYWxzZSB7XG4gICAgJGJhc2UtbGluZTogMjRweDtcbn1cblxuQGlmIHZhcmlhYmxlLWV4aXN0cyhiYXNlLWxpbmUtZmFjdG9yKSA9PSBmYWxzZSB7XG4gICAgJGJhc2UtbGluZS1mYWN0b3I6IDEuNTtcbn1cblxuJHZyLWJhc2UtYnJvd3NlcjogMTBweDtcblxuQGZ1bmN0aW9uIHB4MnJlbSgkdmFsdWUpIHtcbiAgICBAaWYgKHVuaXQoJHZhbHVlKSA9PSBweCkge1xuICAgICAgICAkdmFsdWU6ICR2YWx1ZSAvIDFweDtcbiAgICB9XG5cbiAgICBAcmV0dXJuICgkdmFsdWUgLyAoJHZyLWJhc2UtYnJvd3NlciAvIDFweCkpICogMXJlbTtcbn1cblxuXG5AbWl4aW4gZXN0YWJsaXNoLWJhc2VsaW5lKCRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lKSB7XG4gICAgaHRtbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjIuNSU7IC8qIFNldHMgdXAgdGhlIEJhc2UgMTAgc3R1ZmYgKi9cbiAgICB9XG5cbiAgICBodG1sIGJvZHksIGh0bWwgaW5wdXQsIGh0bWwgdGV4dGFyZWEsIGh0bWwgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiBweDJyZW0oJGZvbnQtc2l6ZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBweDJyZW0oJGxpbmUtaGVpZ2h0KTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBnZXQtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSkge1xuICAgIEBpZiAoJGZvbnQtc2l6ZSAqICRiYXNlLWxpbmUtZmFjdG9yKSA+ICRiYXNlLWxpbmUge1xuICAgICAgICBAcmV0dXJuICgkZm9udC1zaXplICogJGJhc2UtbGluZS1mYWN0b3IpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICRiYXNlLWxpbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gY2hhbmdlLWZvbnQtc2l6ZSgkZm9udC1zaXplKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtc2l6ZTogcHgycmVtKCRmb250LXNpemUpO1xuXG4gICAgJGxpbmUtaGVpZ2h0OiBnZXQtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogcHgycmVtKCRsaW5lLWhlaWdodCk7XG5cbiAgICAvL0BkZWJ1ZyAkbGluZS1oZWlnaHQ7XG4gICAgLy9AZGVidWcgcHgycmVtKCRsaW5lLWhlaWdodCk7XG4gICAgLy9AZGVidWcgcHgycmVtKCRiYXNlLWxpbmUtZmFjdG9yKTtcbiAgICAvL1xuICAgIC8vbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtZmFjdG9yO1xufVxuXG5AZnVuY3Rpb24gcmh5dGhtKCRhbW91bnQ6IDEpIHtcbiAgICBAcmV0dXJuIHB4MnJlbSgkYmFzZS1saW5lICogJGFtb3VudCk7XG59XG5cbkBmdW5jdGlvbiByaHl0aG0tYm9yZGVyKCRhbW91bnQ6IDEsICR3aWR0aDogMXB4KSB7XG4gICAgQHJldHVybiBweDJyZW0oKCRiYXNlLWxpbmUgKiAkYW1vdW50KSAtICR3aWR0aCk7XG59XG5cbkBtaXhpbiBiYXNlbGluZS1ncmlkIHtcbiAgICAkYmFzZWxpbmUtY29sb3I6IHJnYmEoNTYsMjU1LDI1NSwuOCk7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwwLDAsMCkgOTUlLCAkYmFzZWxpbmUtY29sb3IgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApIDk1JSwgJGJhc2VsaW5lLWNvbG9yIDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwwLDAsMCkgOTUlLCAkYmFzZWxpbmUtY29sb3IgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlICRiYXNlLWxpbmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTBweCAwcHg7IC8vIFVzZSB0byBvZmZzZXQgYW5kIGNlbnRlciB5b3VyIGdyaWRcbn0iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5yZWFkeWNsYXNzLmNzc1xuR3Jhdml0eSBGb3JtcyBSZWFkeSBDbGFzcyBQcmUtU2V0IEhlbHBlciBTdHlsZXNcbmh0dHA6Ly93d3cuZ3Jhdml0eWZvcm1zLmNvbVxudXBkYXRlZDogSnVseSAxMiwgMjAxNiAxMDoxMSBQTSBHTVQtNVxuXG5HcmF2aXR5IEZvcm1zIGlzIGEgUm9ja2V0Z2VuaXVzIHByb2plY3RcbmNvcHlyaWdodCAyMDA4LTIwMTYgUm9ja2V0Z2VuaXVzIEluYy5cbmh0dHA6IC8vd3d3LnJvY2tldGdlbml1cy5jb21cbnRoaXMgbWF5IG5vdCBiZSByZWRpc3RyaWJ1dGVkIHdpdGhvdXQgdGhlXG5leHByZXNzIHdyaXR0ZW4gcGVybWlzc2lvbiBvZiB0aGUgYXV0aG9yLlxuXG5OT1RFOiBETyBOT1QgRURJVCBUSElTIEZJTEUhIE1BS0UgQU5ZIE1PRElGSUNBVElPTlMgSU4gWU9VUlxuVEhFTUUgU1RZTEVTSEVFVC4gVEhJUyBGSUxFIElTIFJFUExBQ0VEIERVUklORyBBVVRPLVVQREFURVNcbkFORCBBTlkgQ0hBTkdFUyBNQURFIEhFUkUgV0lMTCBCRSBPVkVSV1JJVFRFTi5cblxuSWYgeW91IG5lZWQgdG8gbWFrZSBleHRlbnNpdmUgY3VzdG9taXphdGlvbnMsXG5jb3B5IHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgdG8geW91ciB0aGVtZVxuc3R5bGUgc2hlZXQgZm9yIGVkaXRpbmcuIFRoZW4sIGdvIHRvIHRoZSBmb3JtXG5zZXR0aW5ncyBwYWdlICYgc2V0IHRoZSAnb3V0cHV0IENTUycgb3B0aW9uXG50byBuby5cblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRleHRdLmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXVybF0ubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9ZW1haWxdLmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRlbF0ubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9bnVtYmVyXS5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1wYXNzd29yZF0ubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGV4dF0ubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXVybF0ubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPWVtYWlsXS5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGVsXS5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9bnVtYmVyXS5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9cGFzc3dvcmRdLm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZXh0XS5zbWFsbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT11cmxdLnNtYWxsLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPWVtYWlsXS5zbWFsbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZWxdLnNtYWxsLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPW51bWJlcl0uc21hbGwsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9cGFzc3dvcmRdLnNtYWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGV4dF0uZGF0ZXBpY2tlci5tZWRpdW0ge1xuICAgICAgICB3aWR0aDogOTZweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBzZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX2hvdXIgaW5wdXRbdHlwZT10ZXh0XSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX21pbnV0ZSBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICAgICAgd2lkdGg6IDcwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX3RpbWVfaG91cixcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX21pbnV0ZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF9kYXRlX21vbnRoLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX2RhdGVfZGF5LFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX2RhdGVfeWVhciB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX3RpbWVfYW1wbSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2lubGluZSBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9pbmxpbmUgZGl2LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiB7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgLmdpbnB1dF9jb250YWluZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKTpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSk6bm90KC5naW5wdXRfcXVhbnRpdHkpOm5vdCh1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXQpOm5vdCh1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXQpOm5vdCguZGF0ZXBpY2tlciksXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiAuZ2lucHV0X2NvbnRhaW5lcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pOm5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKTpub3QoLmdpbnB1dF9xdWFudGl0eSk6bm90KHVsLmdmaWVsZF9yYWRpbyBsaSBpbnB1dCk6bm90KHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCk6bm90KC5kYXRlcGlja2VyKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogOHB4IDAgMCAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6Ym90aDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfbGVmdF9oYWxmLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9yaWdodF9oYWxmIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gOHB4KTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfbGVmdF9oYWxmIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Lm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0Lm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmIHRleHRhcmVhLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogOTglO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiBpbnB1dC5zbWFsbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGlucHV0LnNtYWxsIHtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYrbGkuZ3NlY3Rpb24sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZitsaS5nc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCA4cHggMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZixcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZitsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgOHB4IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDhweCAwO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZitsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZitsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwIDhweCAwO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZitsaS5nZmllbGQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZitsaS5nZmllbGQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmKy5nZm9ybV9mb290ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZisuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLyogMyBjb2x1bW5zICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCB7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQ6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQ6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSB7XG4gICAgICAgIHdpZHRoOiAzMy4zJTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZDpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pIHtcbiAgICAgICAgd2lkdGg6IDMzLjQlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0LmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0LmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoLmdpbnB1dF9xdWFudGl0eSk6bm90KHVsLmdmaWVsZF9yYWRpbyBsaSBpbnB1dCk6bm90KHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCksXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pOm5vdCguZ2lucHV0X3F1YW50aXR5KTpub3QodWwuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0KTpub3QodWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0KSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKTpub3QoLmdpbnB1dF9xdWFudGl0eSk6bm90KHVsLmdmaWVsZF9yYWRpbyBsaSBpbnB1dCk6bm90KHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCksXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3Qge1xuICAgICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX2xlZnRfdGhpcmQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX21pZGRsZV90aGlyZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMlIC0gMTZweCkgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9yaWdodF90aGlyZCB7XG4gICAgICAgIHdpZHRoOiAzMy40JTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQrbGkuZ3NlY3Rpb24sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQrbGkuZ3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgOHB4IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCtsaS5nZmllbGQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkK2xpLmdmaWVsZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCtsaS5nZmllbGQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCsuZ2Zvcm1fZm9vdGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCsuZ2Zvcm1fZm9vdGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkKy5nZm9ybV9mb290ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAvKiA0IGNvbHVtbnMgLSBxdWFydGVycyAqL1xuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSksXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSkge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT0ncmFkaW8nXSk6bm90KFt0eXBlPSdjaGVja2JveCddKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX2ZpcnN0X3F1YXJ0ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX3NlY29uZF9xdWFydGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl90aGlyZF9xdWFydGVyLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9mb3VydGhfcXVhcnRlciB7XG4gICAgICAgIHdpZHRoOiAyNC41JTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlcjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIGlucHV0Lm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIGlucHV0LmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgc2VsZWN0Lm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIHNlbGVjdC5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBpbnB1dC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgaW5wdXQubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgc2VsZWN0Lm1lZGl1bSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBzZWxlY3QubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBpbnB1dC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBpbnB1dC5sYXJnZSxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIHNlbGVjdC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBzZWxlY3QubGFyZ2UsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgaW5wdXQubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIGlucHV0LmxhcmdlLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIHNlbGVjdC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgc2VsZWN0LmxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDk3LjUlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIrbGkuZ3NlY3Rpb24sXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIrbGkuZ3NlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgOHB4IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlcitsaS5nZmllbGQsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIrbGkuZ2ZpZWxkLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXIrbGkuZ2ZpZWxkLFxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyK2xpLmdmaWVsZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyKy5nZm9ybV9mb290ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIrLmdmb3JtX2Zvb3RlcixcbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyKy5nZm9ybV9mb290ZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIrLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC8qIGhvcml6b250YWwgbGlzdCBjb2x1bW5zIC0gZGlzcGxheWVkIGlubGluZSAqL1xuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaSB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaSB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTZweCk7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaSB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKWxpIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDcwJSArIDE2cHgpO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmb250LXNpemU6IDkwJTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIHdpZHRoOiAzMy4zJTtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgMnB4IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmb250LXNpemU6IDkwJTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF81Y29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF81Y29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfcmFkaW8sXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfcmFkaW8sXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfcmFkaW8sXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIGxhYmVsLmdmaWVsZF9sYWJlbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgbGFiZWwuZ2ZpZWxkX2xhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF9pbmxpbmUgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgIH1cblxuICAgIC8qIHZlcnRpY2FsIGxpc3QgY29sdW1ucyAtIHVzaW5nIENTUyBjb2x1bW5zICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfM2NvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF80Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAxNnB4O1xuICAgICAgICAtbW96LWNvbHVtbi1nYXA6IDE2cHg7XG4gICAgICAgIGNvbHVtbi1nYXA6IDE2cHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgbGFiZWwuZ2ZpZWxkX2xhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIGxhYmVsLmdmaWVsZF9sYWJlbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8zY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzNjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XG4gICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgY29sdW1uLWNvdW50OiAzO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNGNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF80Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNWNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfM2NvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8zY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzRjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNGNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF81Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8yNSB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzI1IHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfNTAgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF81MCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0Xzc1IHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfNzUgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8xMDAgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8xMDAgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTI1IHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTI1IHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIGhlaWdodDogMTI1cHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzE1MCB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzE1MCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgOHB4IDEwcHggMDtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBodG1sOm5vdFtkaXI9XCJydGxcIl0gLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF9pbmxpbmUgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAgIGh0bWw6bm90W2Rpcj1cInJ0bFwiXSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuICAgIGh0bWxbZGlyPVwicnRsXCJdIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgICBodG1sW2Rpcj1cInJ0bFwiXSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9oaWRlX2FtcG0gZGl2LmdmaWVsZF90aW1lX2FtcG0ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQge1xuICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgaDIuZ3NlY3Rpb25fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDEwcHggMTBweCAwIDhweCAhaW1wb3J0YW50XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9nZWNrbyAudG9wX2xhYmVsIGxpLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGgyLmdzZWN0aW9uX3RpdGxlLFxuICAgIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC50b3BfbGFiZWwgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgaDIuZ3NlY3Rpb25fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMTBweCAwIDhweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgLmdzZWN0aW9uX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gdWwgbGksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gdWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDE2cHggMCAxNnB4IDE4cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDE2cHggMCAxOHB4IDMycHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIGxpIHVsIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCB7XG4gICAgICAgIG1hcmdpbjogMTZweCAwIDE2cHggMThweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIGxpIHVsIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIGRsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMThweCAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIGRsIGR0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBkbCBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHggMThweDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfZ3JlZW4sXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X3JlZCxcbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfeWVsbG93LFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ncmF5LFxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ibHVlIHtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIG1hcmdpbjogMjBweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfZ3JlZW4ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTdCNDhBO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0JFQ0EwO1xuICAgICAgICB0ZXh0LXNoYWRvdzogI0RGQiAxcHggMXB4O1xuICAgICAgICBjb2xvcjogIzAzMDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfcmVkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NGQURCMztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRjJGNTtcbiAgICAgICAgdGV4dC1zaGFkb3c6ICNGRkYgMXB4IDFweDtcbiAgICAgICAgY29sb3I6ICM4MzI1MjU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X3llbGxvdyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCQ0M7XG4gICAgICAgIHRleHQtc2hhZG93OiAjRkNGQUVBIDFweCAxcHg7XG4gICAgICAgIGNvbG9yOiAjMjIyO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ncmF5IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VFRTtcbiAgICAgICAgdGV4dC1zaGFkb3c6ICNGRkYgMXB4IDFweDtcbiAgICAgICAgY29sb3I6ICM0MjQyNDI7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X2JsdWUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYTdjMmU3O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDFFNEYzO1xuICAgICAgICB0ZXh0LXNoYWRvdzogI0UwRjFGRiAxcHggMXB4O1xuICAgICAgICBjb2xvcjogIzMxNDQ3NTtcbiAgICB9XG5cbiAgICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3NpbXBsZV95ZWxsb3cge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTZEQjU1O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U2REI1NTtcbiAgICAgICAgcGFkZGluZzogMzJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkJDQztcbiAgICAgICAgY29sb3I6ICM0MjQyNDI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICB9XG5cbiAgICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3NpbXBsZV9ncmF5IHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIG1heC13aWR0aDogOTklO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQ0M7XG4gICAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQUVBRUE7XG4gICAgICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgfVxuXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl95ZWxsb3dfZ3JhZGllbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCRDI7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRTZEQjU1O1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggNXB4IHJnYmEoMjIxLCAyMTUsIDEzMSwgMC43NSk7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgyMjEsIDIxNSwgMTMxLCAwLjc1KTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSgyMjEsIDIxNSwgMTMxLCAwLjc1KTtcbiAgICB9XG5cbiAgICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudCBkaXYuZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI0ZGRjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCQ0M7XG4gICAgICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmY2U1O1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmY2U1IDAlLCAjZmZmOWJmIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCNmZmZjZTUpLCBjb2xvci1zdG9wKDEwMCUsI2ZmZjliZikpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmY2U1IDAlLCNmZmY5YmYgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmY2U1IDAlLCNmZmY5YmYgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgI2ZmZmNlNSAwJSwjZmZmOWJmIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2ZmZmNlNSAwJSwjZmZmOWJmIDEwMCUpO1xuICAgIH1cblxuICAgIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fZ3JlZW5fZ3JhZGllbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWZjZGY7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYTdjMzdjO1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggNXB4IHJnYmEoODYsIDEyMiwgODYsIDAuNCk7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSg4NiwgMTIyLCA4NiwgMC40KTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmdiYSg4NiwgMTIyLCA4NiwgMC40KTtcbiAgICB9XG5cbiAgICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX2dyZWVuX2dyYWRpZW50IGRpdi5nZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgIG1heC13aWR0aDogOTklO1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZWZmYWRlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2E3YzM3YztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkJDQztcbiAgICAgICAgdGV4dC1zaGFkb3c6ICNERkIgMXB4IDFweDtcbiAgICAgICAgY29sb3I6ICMwMzA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYigyMTksMjQyLDE4Myk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjE5LDI0MiwxODMsMSkgMCUsIHJnYmEoMTgwLDIwOCwxMzYsMSkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUscmdiYSgyMTksMjQyLDE4MywxKSksIGNvbG9yLXN0b3AoMTAwJSxyZ2JhKDE4MCwyMDgsMTM2LDEpKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjE5LDI0MiwxODMsMSkgMCUscmdiYSgxODAsMjA4LDEzNiwxKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIHJnYmEoMjE5LDI0MiwxODMsMSkgMCUscmdiYSgxODAsMjA4LDEzNiwxKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICByZ2JhKDIxOSwyNDIsMTgzLDEpIDAlLHJnYmEoMTgwLDIwOCwxMzYsMSkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICByZ2JhKDIxOSwyNDIsMTgzLDEpIDAlLHJnYmEoMTgwLDIwOCwxMzYsMSkgMTAwJSk7XG4gICAgfVxuXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl95ZWxsb3dfZ3JhZGllbnQ6YmVmb3JlLFxuICAgIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25feWVsbG93X2dyYWRpZW50OmFmdGVyLFxuICAgIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fZ3JlZW5fZ3JhZGllbnQ6YmVmb3JlLFxuICAgIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fZ3JlZW5fZ3JhZGllbnQ6YWZ0ZXIge1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHRvcDogODAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTVweCAxMHB4IHJnYmEoMCwwLDAsIDAuMik7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAxNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDE1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XG4gICAgfVxuXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl95ZWxsb3dfZ3JhZGllbnQ6YWZ0ZXIsXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9ncmVlbl9ncmFkaWVudDphZnRlciB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIHJlYWR5IGNsYXNzIC0gdmVyeSBzaW1wbGUgaW1wbGVtZW50YXRpb24gZm9yIHVwIHRvIDUgZmllbGRzIGFuZCBhIGJ1dHRvbiAqL1xuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLTE2cHgpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5LFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2LmdpbnB1dF9jb250YWluZXIsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCB1bCBsaS5nZmllbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGJvZHk6bm90KHJ0bCkgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnRcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQge1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBsYWJlbC5nZmllbGRfbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCAuZ2lucHV0X2NvbXBsZXggbGFiZWwsXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCAuZ2ZpZWxkX2Rlc2NyaXB0aW9uOm5vdCgudmFsaWRhdGlvbl9tZXNzYWdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC0gOTAwMHB4O1xuICAgIH1cblxuICAgIC8qIHNpbXBsZSBob3Jpem9udGFsIGZvcm0gLSBzZXQgYSB3aWR0aCBmb3Igb25lIGZpZWxkICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogc2ltcGxlIGhvcml6b250YWwgZm9ybSAtIHNldCBhIHdpZHRoIGZvciB0d28gZmllbGRzICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDIpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMik6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC8qIHNpbXBsZSBob3Jpem9udGFsIGZvcm0gLSBzZXQgYSB3aWR0aCBmb3IgdGhyZWUgZmllbGRzICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDMpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMik6bnRoLWxhc3QtY2hpbGQoMiksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgzKTpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICB9XG5cbiAgICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIC0gc2V0IGEgd2lkdGggZm9yIGZvdXIgZmllbGRzICovXG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDQpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMik6bnRoLWxhc3QtY2hpbGQoMyksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgzKTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDQpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbiAgICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIC0gc2ltcGxlIGhvcml6b250YWwgZm9ybSAtIHNldCBhIHdpZHRoIGZvciBmaXZlIGZpZWxkcyAqL1xuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgxKTpudGgtbGFzdC1jaGlsZCg1KSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDIpOm50aC1sYXN0LWNoaWxkKDQpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMyk6bnRoLWxhc3QtY2hpbGQoMyksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCg0KTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDUpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG5cbiAgICAvKiBzaW1wbGUgaG9yaXpvbnRhbCBmb3JtIC0gc2V0IGEgd2lkdGggZm9yIHNpeCBmaWVsZHMgKi9cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoMSk6bnRoLWxhc3QtY2hpbGQoNiksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCgyKTpudGgtbGFzdC1jaGlsZCg1KSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDMpOm50aC1sYXN0LWNoaWxkKDQpLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZDpudGgtY2hpbGQoNCk6bnRoLWxhc3QtY2hpbGQoMyksXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkOm50aC1jaGlsZCg1KTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQ6bnRoLWNoaWxkKDYpOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDE2LjYlO1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsLmZvcm1fc3VibGFiZWxfYmVsb3cgbGkuZ2ZpZWxkIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbC5mb3JtX3N1YmxhYmVsX2Fib3ZlIGxpLmdmaWVsZCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIGlucHV0LnNtYWxsLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCBpbnB1dC5tZWRpdW0sXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIGlucHV0LmxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgc2VsZWN0LnNtYWxsLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCBzZWxlY3QubWVkaXVtLFxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCBzZWxlY3QubGFyZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9mb290ZXIudG9wX2xhYmVsIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCBpbnB1dFt0eXBlPVwiaW1hZ2VcIl0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCAudG9wX2xhYmVsIC5nZmllbGRfZXJyb3Ige1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8qIGVuZCBtZWRpYSBxdWVyeSAqL1xuXG59IiwiaGVhZGVyLHNlY3Rpb24sZm9vdGVyLGFzaWRlLG5hdixhcnRpY2xlLGZpZ3VyZXtkaXNwbGF5OmJsb2NrO21hcmdpbjowcHg7cGFkZGluZzowcHg7fWh0bWx7Y29sb3I6IzAwMDt9Ym9keSxkaXYsZGwsZHQsZGQsdWwsb2wsbGksaDEsaDIsaDMsaDQsaDUsaDYscHJlLGNvZGUsZm9ybSxmaWVsZHNldCxsZWdlbmQsaW5wdXQsYnV0dG9uLHRleHRhcmVhLHAsYmxvY2txdW90ZSx0aCx0ZHttYXJnaW46MDtwYWRkaW5nOjA7fXRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowO31maWVsZHNldCxpbWd7Ym9yZGVyOjA7fWFkZHJlc3MsY2FwdGlvbixjaXRlLGNvZGUsZGZuLGVtLHN0cm9uZyx0aCx2YXIsb3B0Z3JvdXB7Zm9udC1zdHlsZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7fWRlbCxpbnN7dGV4dC1kZWNvcmF0aW9uOm5vbmU7fWxpe2xpc3Qtc3R5bGU6bm9uZTt9Y2FwdGlvbix0aHt0ZXh0LWFsaWduOmxlZnQ7fWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0Om5vcm1hbDt9cTpiZWZvcmUscTphZnRlcntjb250ZW50OicnO31hYmJyLGFjcm9ueW17Ym9yZGVyOjA7Zm9udC12YXJpYW50Om5vcm1hbDt9c3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO31zdWJ7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7fWxlZ2VuZHtjb2xvcjojMDAwO31pbnB1dCxidXR0b24sdGV4dGFyZWEsc2VsZWN0LG9wdGdyb3VwLG9wdGlvbntmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtc3R5bGU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O31pbnB1dCxidXR0b24sdGV4dGFyZWEsc2VsZWN0eypmb250LXNpemU6MTAwJTt9IiwiQGluY2x1ZGUgZXN0YWJsaXNoLWJhc2VsaW5lO1xuXG4lc21hbGwtZm9udC1zaXplIHtcbiAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xufVxuXG4lYmFzZS1mb250LXNpemUge1xuICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGJhc2UtZm9udC1zaXplKTtcbn1cblxuJWJpZ2dlci1mb250LXNpemUge1xuICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGJpZ2dlci1mb250LXNpemUpO1xufVxuXG4lbGFyZ2UtZm9udC1zaXplIHtcbiAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRsYXJnZS1mb250LXNpemUpO1xufVxuXG4laGVhZGVyLTEtc2l6ZSB7XG4gICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgkaGVhZGVyLTEtc2l6ZSk7XG59XG5cbiVoZWFkZXItMi1zaXplIHtcbiAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRoZWFkZXItMi1zaXplKTtcbn1cblxuJWhlYWRlci0zLXNpemUge1xuICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGhlYWRlci0zLXNpemUpO1xufVxuXG4laGVhZGVyLTQtc2l6ZSB7XG4gICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgkaGVhZGVyLTQtc2l6ZSk7XG59XG5cbiVoZWFkZXItNS1zaXplIHtcbiAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRoZWFkZXItNS1zaXplKTtcbn1cblxuJWhlYWRlci02LXNpemUge1xuICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGhlYWRlci02LXNpemUpO1xufVxuXG4lZm9udC1zdGFuZGFyZCB7XG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4lZm9udC1zZW1pYm9sZCB7XG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hLW5vdmEnLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4lZm9udC1ib2xkIHtcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWEtbm92YScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbiVmb250LXNlcmlmIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmJvZHkge1xuICAgIEBleHRlbmQgJWZvbnQtc3RhbmRhcmQ7XG4gICAgY29sb3I6ICRkYXJrO1xufVxuXG5ib2R5LFxuaW1nIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgbGluZWFyKTtcbn1cblxucCB7XG4gICAgbWFyZ2luOiAwIDAgcmh5dGhtKDEpO1xufVxuXG5hIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIC4ycyBlYXNlLWluLW91dCk7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3ItaG92ZXI7XG4gICAgfVxuXG4gICAgJi5iaWdnZXItbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTZweCk7XG4gICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICB9XG5cbiAgICAmLnVuZGVybGluZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JlZW4tcmVndWxhcjtcbiAgICB9XG59XG5cbmgxLFxuaDIsXG5oMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xufVxuXG5oMSB7XG4gICAgQGV4dGVuZCAlaGVhZGVyLTEtc2l6ZTtcbiAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG59XG5cbmgyIHtcbiAgICBAZXh0ZW5kICVoZWFkZXItMi1zaXplO1xuICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbn1cblxuaDMge1xuICAgIEBleHRlbmQgJWhlYWRlci0zLXNpemU7XG59XG5cbmg0IHtcbiAgICBAZXh0ZW5kICVoZWFkZXItNC1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmg1IHtcbiAgICBAZXh0ZW5kICVoZWFkZXItNS1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmg2IHtcbiAgICBAZXh0ZW5kICVoZWFkZXItNi1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbnN0cm9uZyB7XG4gICAgQGV4dGVuZCAlZm9udC1ib2xkO1xufVxuXG5lbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5kZWwge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG5hYmJyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2EzYmRiNTtcbiAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4gICAgY3Vyc29yOiBoZWxwO1xufVxuXG5zdXAsXG5zdXBlcnNjcmlwdCB7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cDtcbn1cblxuc3ViLFxuc3Vic2NyaXB0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuXG4uaGlnaGxpZ2h0IHtcbiAgICBjb2xvcjogJHllbGxvdztcbn0iLCJAaW1wb3J0ICcuLi9saWIvbmVhdC9uZWF0LWhlbHBlcnMnO1xuXG4vLyBDaGFuZ2UgdGhlIGdyaWQgc2V0dGluZ3NcbiR2aXN1YWwtZ3JpZDogZmFsc2U7XG4kdmlzdWFsLWdyaWQtY29sb3I6ICNmMDA7XG4kdmlzdWFsLWdyaWQtaW5kZXg6IGZyb250O1xuJHZpc3VhbC1ncmlkLW9wYWNpdHk6IC4xO1xuXG4kY29sdW1uOiA4MHB4O1xuJGd1dHRlcjogMzBweDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJG1heC13aWR0aDogMTIyMHB4O1xuJG91dGVyLW1heC13aWR0aDogMTYwMHB4O1xuJHNsaWRlci1tYXgtd2lkdGg6IDIwMDBweDtcbiRzY3JlZW4tcGFkZGluZzogMjBweDtcblxuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XG5cbi8vIERlZmluZSB5b3VyIGJyZWFrcG9pbnRzXG4kZnVsbC13aWR0aDogbmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoIDIwMDBweCAxMik7XG4kZGVza3RvcDogbmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoICRtYXgtd2lkdGggMTIpO1xuJGRlc2t0b3AtbGFyZ2U6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCAxMTQwcHggMTIpO1xuJGRlc2t0b3AtbWVkaXVtOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTAyNHB4IDEyKTtcbiRkZXNrdG9wLXNtYWxsOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggOTYwcHggMTIpO1xuJHRhYmxldDogbmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoIDc2OHB4IDgpO1xuJG1vYmlsZS1sYW5kc2NhcGU6IG5ldy1icmVha3BvaW50KCBtYXgtd2lkdGggNjQwcHgsIDQgKTtcbiRtb2JpbGUtYmV0d2VlbjogbmV3LWJyZWFrcG9pbnQoIG1heC13aWR0aCA0NjBweCwgNCApO1xuJG1vYmlsZTogbmV3LWJyZWFrcG9pbnQoIG1heC13aWR0aCAzMjBweCwgNCApO1xuXG4vLyBGb250IHNldHRpbmdzXG4kc21hbGwtZm9udC1zaXplOiAxM3B4O1xuJGJhc2UtZm9udC1zaXplOiAxNnB4O1xuJGJhc2UtbGluZTogMjRweDtcbiRiYXNlLWxpbmUtZmFjdG9yOiAoJGJhc2UtbGluZSAvICRiYXNlLWZvbnQtc2l6ZSk7XG4kYmlnZ2VyLWZvbnQtc2l6ZTogMTdweDtcbiRsYXJnZS1mb250LXNpemU6IDMwcHg7XG4kaGVhZGVyLTEtc2l6ZTogMzVweDtcbiRoZWFkZXItMi1zaXplOiAyNHB4O1xuJGhlYWRlci0zLXNpemU6IDE5cHg7XG4kaGVhZGVyLTQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuJGhlYWRlci01LXNpemU6IDE0cHg7XG4kaGVhZGVyLTYtc2l6ZTogMTRweDtcblxuLy8gQ29sb3JzXG4kYmxhY2s6ICMwMDA7XG4kZGFyazogIzAwMDtcbiR3aGl0ZTogI2ZmZjtcbiRyZWQ6ICNkYTI5MWM7XG4keWVsbG93OiAjZmZlZDAwO1xuXG4kZ3JleS1yZWd1bGFyOiAjZThlY2VhO1xuJGdyZXktbGlnaHQ6ICNkM2RiZDc7XG4kZ3JleS12ZXJ5LWxpZ2h0OiAjZWRlZGVkO1xuJGdyZXktZXh0cmFsaWdodDogI2U1ZTVlNTtcbiRncmV5LW1lZGl1bS1saWdodDogI2RjZGNkYztcbiRncmV5LW1lZGl1bTogI2MwYzFjMjtcbiRncmV5LWRhcms6ICM5OTk5OTk7XG5cbiRncmVlbi1ncmV5OiAjY2NlMWRjO1xuXG4kZ3JlZW4tcmVndWxhcjogIzAwNjk1MDtcbiRncmVlbi1ob3ZlcjogIzAwNDUzNTtcbiRncmVlbi1hY3RpdmU6ICMwMDM0Mjg7XG5cbiRoaWdobGlnaHQ6ICRncmVlbi1yZWd1bGFyO1xuXG4kbGluay1jb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4kbGluay1jb2xvci1ob3ZlcjogJGdyZWVuLWhvdmVyO1xuJGxpbmstY29sb3ItYWN0aXZlOiAkZ3JlZW4tYWN0aXZlO1xuXG4vLyBJbWFnZXMgc3ByaXRlXG4kc3ByaXRlLWJnOiB1cmwoJy4uL2ltYWdlcy9zcHJpdGUucG5nJyk7XG4kc3ByaXRlLWJnLXNpemU6IDEwMDAgMTAwMDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsImh0bWwsXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJi5uby1zY3JvbGxpbmcge1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxufVxuXG5ib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogMTg5cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1zbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTQ0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTk2cHg7XG4gICAgfVxufVxuXG4ud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xuICAgIHBhZGRpbmctbGVmdDogJHNjcmVlbi1wYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzY3JlZW4tcGFkZGluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi0tYXJjaGl2ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICB9XG59XG5cbi52aWRlby13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLyogMTY6OSAqL1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIGhlaWdodDogMDtcblxuICAgIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cblxuLy8gR0VORVJBTCBTVFlMRVNcbi5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAxNXB4IHJoeXRobSguNSk7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgcmh5dGhtKC41KSAxNXB4O1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNsZWFyIHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLm1vcmUtbGluayB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLXBvc2l0aW9uIC4ycyBlYXNlLWluLW91dCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IHJoeXRobSguMjUpIDAgcmh5dGhtKC4yNSkgNDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAuY2F0ZWdvcnktb3ZlcnZpZXcgJixcbiAgICAudGF4LXByb2R1Y3QtY2F0ZWdvcnkgLmNhdGVnb3J5LW92ZXJ2aWV3ICYge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJG1vYmlsZS1iZXR3ZWVuICkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuXG4gICAgICAgIC5wb3N0LXR5cGUtYXJjaGl2ZS1wcm9kdWN0IC5jYXRlZ29yeS1vdmVydmlldyAmLFxuICAgICAgICAudGF4LXByb2R1Y3QtY2F0ZWdvcnkgLmNhdGVnb3J5LW92ZXJ2aWV3ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRtb2JpbGUtYmV0d2VlbiApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgbGVmdDogMTFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgd2lkdGg6IDdweDtcblxuICAgICAgICAucG9zdC10eXBlLWFyY2hpdmUtcHJvZHVjdCAuY2F0ZWdvcnktb3ZlcnZpZXcgJixcbiAgICAgICAgLnRheC1wcm9kdWN0LWNhdGVnb3J5IC5jYXRlZ29yeS1vdmVydmlldyAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbW9iaWxlLWJldHdlZW4gKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWludmVyc2Uge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAmLmFsaWdubGVmdCxcbiAgICAgICAgJi5hbGlnbnJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiByaHl0aG0oLjUpIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbmxlZnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgfVxuXG4gICAgJi5hbGlnbnJpZ2h0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICB9XG59XG5cbi5oaWRlLWZvci1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4jbWFwX2NhbnZhcyB7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmhvbWUtc2VjdGlvbi1saXN0LWltYWdlcyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJoeXRobSguNSk7XG4gICAgfVxufVxuXG4jdG8tdG9wIHtcbiAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE0cHgpO1xuICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3R0b206IHJoeXRobSgzKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMjVweCAxNXB4IDAgMTVweDtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiByaHl0aG0oMyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgei1pbmRleDogODg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICByaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMDYnO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCIsIEZvbnRBd2Vzb21lLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi55b3V0dWJlLXZpZGVvLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206NTYuMjUlO1xuICAgIHBhZGRpbmctdG9wOjMwcHg7XG4gICAgaGVpZ2h0OjA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcblxuICAgIGlmcmFtZSxcbiAgICBvYmplY3QsXG4gICAgZW1iZWQge1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyBhIG1lZGlhLXF1ZXJ5IGJsb2NrIHdpdGggYW4gb3B0aW9uYWwgZ3JpZCBjb250ZXh0ICh0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZCkuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMsIHdoZXJlIGVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy8gICBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cbi8vL1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKDc2OXB4KSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDMyMHB4IG1heC13aWR0aCA0ODBweCwgNikge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiBcInNjcmVlbiBhbmQgXCI7XG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG5cbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIoXCIgKyBudGgoJHF1ZXJ5LCAkaSkgKyBcIjogXCIgKyBudGgoJHF1ZXJ5LCAkaSArIDEpICsgXCIpIFwiO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiYW5kIFwiO1xuICAgICAgfVxuXG4gICAgICAkaTogJGkgKyAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgYSBvdXRlciBjb250YWluZXIgYnkgY2VudGVyaW5nIGl0IGluIHRoZSB2aWV3cG9ydCwgY2xlYXJpbmcgaXRzIGZsb2F0cywgYW5kIHNldHRpbmcgaXRzIGBtYXgtd2lkdGhgLlxuLy8vIEFsdGhvdWdoIG9wdGlvbmFsLCB1c2luZyBgb3V0ZXItY29udGFpbmVyYCBpcyByZWNvbW1lbmRlZC4gVGhlIG1peGluIGNhbiBiZSBjYWxsZWQgb24gbW9yZSB0aGFuIG9uZSBlbGVtZW50IHBlciBwYWdlLCBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCBuZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciBbdW5pdF19ICRsb2NhbC1tYXgtd2lkdGggWyRtYXgtd2lkdGhdXG4vLy8gICBNYXggd2lkdGggdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudC4gQ2FuIGJlIGEgcGVyY2VudGFnZSBvciBhIG1lYXN1cmUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vZ29vLmdsL3lQNWhpWlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzc1xuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiQG1peGluIGJ0bigkYmctY29sb3I6ICRncmVlbi1yZWd1bGFyLCAkd2lkdGg6IGF1dG8sICRwYWRkaW5nOiByaHl0aG0oMC41KSAyMHB4KSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAoYmFja2dyb3VuZCAuM3MgZWFzZS1pbi1vdXQpO1xuICAgIEBleHRlbmQgJWJhc2UtZm9udC1zaXplO1xuICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4taG92ZXI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tYWN0aXZlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgkYmFzZS1mb250LXNpemUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKC4yNSk7XG4gICAgICAgIHBhZGRpbmctdG9wOiByaHl0aG0oLjI1KTtcbiAgICB9XG59XG5cbkBtaXhpbiBidG4teWVsbG93KCkge1xuICAgIEBpbmNsdWRlIGJ0bigkeWVsbG93KTtcbiAgICBjb2xvcjogJGRhcms7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbiggJHllbGxvdywgMjAlICk7XG4gICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICB9XG59XG5cblxuYnV0dG9uLFxuLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnRuKCk7XG5cbiAgICAmLS1tb3JlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1hcmdpbiAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWFycm93LXJpZ2h0LXdoaXRlLnN2ZycpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgc2l6ZTogOXB4IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ1dHRvbi0teWVsbG93IHtcbiAgICBAaW5jbHVkZSBidG4teWVsbG93KCk7XG59IiwiJXN0YW5kYXJkLWlucHV0IHtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgLjJzKTtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0Ym9yZGVyOiB7XG5cdFx0Y29sb3I6ICRncmV5LXJlZ3VsYXI7XG5cdFx0cmFkaXVzOiAwO1xuXHRcdHN0eWxlOiBzb2xpZDtcblx0XHR3aWR0aDogMXB4O1xuXHR9XG5cdGNvbG9yOiAkYmxhY2s7XG5cdG91dGxpbmU6IG5vbmU7XG5cdHBhZGRpbmc6IHJoeXRobSguNSkgMTBweDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRncmV5LWRhcms7XG5cdH1cblxuXHQmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdFx0Y29sb3I6ICNhOWE5YTk7XG5cdH1cbn1cblxuJXNlbGVjdGJveCB7XG5cdEBleHRlbmQgJXN0YW5kYXJkLWlucHV0O1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtcG9zaXRpb24gLjJzIGVhc2UtaW4tb3V0KTtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0YmFja2dyb3VuZDoge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0aW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NlbGVjdC1hcnJvdy5zdmcnKTtcblx0XHRwb3NpdGlvbjogcmlnaHQgMTBweCB0b3AgMjFweDtcblx0XHRzaXplOiA4cHggN3B4O1xuXHRcdHJlcGVhdDogbm8tcmVwZWF0O1xuXHR9XG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmV5LXJlZ3VsYXI7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bGluZS1oZWlnaHQ6IHJoeXRobSgxKTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAzNHB4O1xuXHR0ZXh0LWluZGVudDogLjAxcHg7XG5cdHRleHQtb3ZlcmZsb3c6ICcnO1xuXHR3aWR0aDogYXV0bztcblxuXHQmOjotbXMtZXhwYW5kIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0KyBsYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcblx0QGV4dGVuZCAlc3RhbmRhcmQtaW5wdXQ7XG59XG5cbmlucHV0W3R5cGU9Y2hlY2tib3hdIHtcblx0YXBwZWFyYW5jZTogY2hlY2tib3g7XG59XG5cbmlucHV0W3R5cGU9cmFkaW9dIHtcblx0YXBwZWFyYW5jZTogcmFkaW87XG59XG5cbnNlbGVjdCB7XG5cdEBleHRlbmQgJXNlbGVjdGJveDtcbn1cblxuaW5wdXRbdHlwZT1zdWJtaXRdLFxubGFiZWwge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmlucHV0W3R5cGU9c3VibWl0XSB7XG5cdEBpbmNsdWRlIGJ0bigpO1xufVxuXG5pbnB1dFt0eXBlPWhpZGRlbl0ge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmlucHV0LmRpc2FibGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHQ7XG5cdGNvbG9yOiAkZ3JleS1yZWd1bGFyO1xufVxuXG4uZ2Zvcm1fd3JhcHBlciB7XG5cdG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuXHQuZ2ZfcHJvZ3Jlc3NiYXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLmdmb3JtX2JvZHksXG4ubWt0b0Zvcm0ge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cblx0Lmdmb3JtX2ZpZWxkcyB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cblxuXHQuZ2ZpZWxkIHtcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Ji5nZm9ybV9oaWRkZW4ge1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdGxhYmVsIHtcblx0XHRcdEBleHRlbmQgJWZvbnQtYm9sZDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiByaHl0aG0oMC4yNSkgMDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblxuXHRcdCYuaGlkZGVuX2xhYmVsIGxhYmVsIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0aW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0LnRleHRhcmVhIHtcblx0XHRcdCYuc21hbGwge1xuXHRcdFx0XHRoZWlnaHQ6IHJoeXRobSg0KTtcblx0XHRcdH1cblxuXHRcdFx0Ji5tZWRpdW0ge1xuXHRcdFx0XHRoZWlnaHQ6IHJoeXRobSg4KTtcblx0XHRcdH1cblxuXHRcdFx0Ji5sYXJnZSB7XG5cdFx0XHRcdGhlaWdodDogcmh5dGhtKDEyKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRzZWxlY3Qge1xuXHRcdFx0QGV4dGVuZCAlc2VsZWN0Ym94O1xuXHRcdH1cblxuXHRcdC5nZmllbGRfY2hlY2tib3gsXG5cdFx0LmdmaWVsZF9yYWRpbyB7XG5cdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aW5wdXQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdFx0bWFyZ2luOiAwIDEwcHggMCAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdH1cblxuXHRcdFx0bGFiZWwge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5nZmllbGRfZXJyb3Ige1xuXHRcdFx0Y29sb3I6ICRyZWQ7XG5cblx0XHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHJlZDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZ2ZpZWxkX3JlcXVpcmVkIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0fVxuXG5cdFx0LmdmaWVsZF9yYWRpbyBsaSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHR9XG5cblx0XHQuZGlzYWJsZWQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHQ7XG5cdFx0XHRjb2xvcjogJGdyZXktcmVndWxhcjtcblx0XHR9XG5cblx0XHQuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxuXHRcdC5naW5wdXRfY291bnRlciB7XG5cdFx0XHRAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE0cHgpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHRcdH1cblx0fVxufVxuXG4uZ2Zvcm1fZm9vdGVyIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdGNsZWFyOiBib3RoO1xuXG5cdC5nZm9ybV9idXR0b24ge1xuXHRcdEBpbmNsdWRlIGJ0bigpO1xuXHRcdHBhZGRpbmctbGVmdDogNTBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuXHR9XG59XG5cbi52YWxpZGF0aW9uX2Vycm9yIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuQG1peGluIGNoZWNrYm94KCRiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0KSB7XG5cdFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRcdCY6bm90KDpjaGVja2VkKSxcblx0XHQmOmNoZWNrZWQge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogLTk5OTlweDtcblxuXHRcdFx0JiArIGxhYmVsIHtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMmVtO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRoZWlnaHQ6IDEuMjVlbTtcblx0XHRcdFx0XHR3aWR0aDogMS4yNWVtO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjM5KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdFx0XHRcdGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWNoZWNrYm94LXRpY2suc3ZnJyk7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRzaXplOiAxNHB4IDE0cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcblx0XHRcdFx0XHRoZWlnaHQ6IDE0cHg7XG5cdFx0XHRcdFx0bGVmdDogM3B4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDNweDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjJzO1xuXHRcdFx0XHRcdHdpZHRoOiAxNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jjpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cdFx0fVxuXG5cdFx0JjpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0fVxuXG5cdH1cbn1cblxuLm1rdG9Gb3JtIHtcblx0ZmllbGRzZXQge1xuXHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblx0fVxuXG5cdGxlZ2VuZCB7XG5cdFx0QGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgkaGVhZGVyLTMtc2l6ZSk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cblxuXHQubWt0b0FzdGVyaXgge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdGxhYmVsIHtcblx0XHRAZXh0ZW5kICVmb250LWJvbGQ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0cGFkZGluZzogcmh5dGhtKDAuMjUpIDA7XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cblxuXHQubWt0b0NoZWNrYm94TGlzdCB7XG5cdFx0aW5wdXQge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDVweDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblx0XHRsYWJlbCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdH1cblx0fVxuXG5cdGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC50ZXh0YXJlYSB7XG5cdFx0Ji5zbWFsbCB7XG5cdFx0XHRoZWlnaHQ6IHJoeXRobSg0KTtcblx0XHR9XG5cblx0XHQmLm1lZGl1bSB7XG5cdFx0XHRoZWlnaHQ6IHJoeXRobSg4KTtcblx0XHR9XG5cblx0XHQmLmxhcmdlIHtcblx0XHRcdGhlaWdodDogcmh5dGhtKDEyKTtcblx0XHR9XG5cdH1cblxuXHRzZWxlY3Qge1xuXHRcdEBleHRlbmQgJXNlbGVjdGJveDtcblx0fVxuXG5cdC5ta3RvRXJyb3JNc2cge1xuXHRcdGNvbG9yOiByZWQ7XG5cdH1cbn1cblxuLmNoZWNrYm94IHtcblx0QGluY2x1ZGUgY2hlY2tib3goKTtcbn1cblxuLmNoZWNrYm94LS13aGl0ZSB7XG5cdEBpbmNsdWRlIGNoZWNrYm94KCR3aGl0ZSk7XG59XG5cbi5jb250ZW50X19zZWN0aW9uX19jb250ZW50IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT1yYWRpb10ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbn1cblxuLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnQgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHVsLmdmaWVsZF9yYWRpbyBsaSBpbnB1dFt0eXBlPXJhZGlvXSArIGlucHV0W3R5cGU9dGV4dF0ge1xuXHRmb250LXNpemU6IDAuODc1ZW0gIWltcG9ydGFudDsgLy8gSSdkIHJhdGhlciBub3QgdXNlIHRoaXMsIGJ1dCBHRiBiYXNlIHN0eWxpbmcgaXMga2luZCBvZiBmb3JjaW5nIG1lIGhlcmUuXG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbiIsIi5vbkZvcm1TdWJtaXR0ZWRGZWVkYmFjayB7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0fVxufVxuXG4ubWFya2V0aW5nRm9ybSB7XG5cdD4gZGl2IHtcblx0XHRtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDs7XG5cdH1cblxuXHQubm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0fVxuXHQubm90aWZpY2F0aW9uLW1lc3NhZ2Uge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRtaW4taGVpZ2h0OiAzOHB4O1xuXHRcdGJvcmRlcjogMS40NDczN3B4IHNvbGlkI0NDQ0NDQztcblx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0fVxuXG5cdC5ub3RpZmljYXRpb24tbWVzc2FnZS1oaWRlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnRleHRGb3JtRmllbGRCbG9jayxcblx0LmRhdGVUaW1lRm9ybUZpZWxkQmxvY2ssXG5cdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayxcblx0Lm9wdGlvblNldEZvcm1GaWVsZEJsb2NrLFxuXHQubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jayxcblx0Lmxvb2t1cEZvcm1GaWVsZEJsb2NrIHtcblx0XHRwYWRkaW5nOiAyMHB4IDMwcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMTZweDtcblx0fVxuXG5cdGxhYmVsID4gcCB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0LnRleHRGb3JtRmllbGRCbG9jayBsYWJlbCxcblx0LmRhdGVUaW1lRm9ybUZpZWxkQmxvY2sgbGFiZWwsXG5cdC5sb29rdXBGb3JtRmllbGRCbG9jayBsYWJlbCxcblx0LnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsLFxuXHQub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWwsXG5cdC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsLFxuXHRkaXZbZGF0YS1lZGl0b3JibG9ja3R5cGU9XCJDYXB0Y2hhXCJdIGxhYmVsW2lkXj1cIndsc3Bpc3BIaXBJbnN0cnVjdGlvbkNvbnRhaW5lclwiXSxcblx0LnRleHRGb3JtRmllbGRCbG9jayBsYWJlbCAqLFxuXHQuZGF0ZVRpbWVGb3JtRmllbGRCbG9jayBsYWJlbCAqLFxuXHQubG9va3VwRm9ybUZpZWxkQmxvY2sgbGFiZWwgKixcblx0LnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsICosXG5cdC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbCAqLFxuXHQubXVsdGlPcHRpb25TZXRGb3JtRmllbGRCbG9jayBsYWJlbC5ibG9jay1sYWJlbCAqLFxuXHQuY29uc2VudEJsb2NrIGxhYmVsID4gcCB7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0fVxuXG5cdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94IGRpdiBsYWJlbCxcblx0LnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrIGRpdi50d29vcHRpb25fY2hlY2tib3ggZGl2IGxhYmVsIGRpdixcblx0LmNvbnNlbnRCbG9jayBkaXYgbGFiZWwgcCB7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0fVxuXG5cdHRhYmxlLm11bHRpIC50ZXh0Rm9ybUZpZWxkQmxvY2ssXG5cdHRhYmxlLm11bHRpIC5kYXRlVGltZUZvcm1GaWVsZEJsb2NrLFxuXHR0YWJsZS5tdWx0aSAudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2ssXG5cdHRhYmxlLm11bHRpIC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayxcblx0dGFibGUubXVsdGkgLm11bHRpT3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2ssXG5cdHRhYmxlLm11bHRpIC5sb29rdXBGb3JtRmllbGRCbG9jayB7XG5cdFx0cGFkZGluZzogMTJweCAyMHB4O1xuXHR9XG5cblx0LnBob25lRm9ybUZpZWxkQmxvY2sge1xuXHRcdHBhZGRpbmc6IDIwcHggMzBweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAxNnB4O1xuXG5cdFx0bGFiZWwsXG5cdFx0bGFiZWwgKiB7XG5cdFx0XHRmb250LWZhbWlseTogXCJTZWdvZSBVSVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRjb2xvcjogIzMyMzEzMDtcblx0XHR9XG5cblx0XHRsYWJlbCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW4tdG9wOiA0cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwcHg7XG5cdFx0XHRwYWRkaW5nOiAwcHg7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHR3aWR0aDogMjJweDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRjb2xvcjogI2MzMzQwMDtcblx0XHRcdFx0Y29udGVudDogXCIqXCI7XG5cdFx0XHRcdC8vdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0fVxuXG5cdFx0XHQmID4gKiB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdHRhYmxlLm11bHRpIC5waG9uZUZvcm1GaWVsZEJsb2NrIHtcblx0XHRwYWRkaW5nOiAxMnB4IDIwcHg7XG5cdH1cblxuXHQuY29uc2VudEJsb2NrIHtcblx0XHRwYWRkaW5nOiA0cHggMzBweDtcblx0fVxuXG5cdC5jb2x1bW5Db250YWluZXIge1xuXHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0bWF4LXdpZHRoOiA2MDBweCAhaW1wb3J0YW50O1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHRcdGZsZXg6IDAgMSAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0ZGl2W2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiVGV4dFwiXSB7XG5cdFx0XHRtYXJnaW46IDAgMCByaHl0aG0oMSkgMCAhaW1wb3J0YW50O1xuXHRcdH1cblxuXHRcdC50ZXh0Rm9ybUZpZWxkQmxvY2ssXG5cdFx0LnR3b09wdGlvbkZvcm1GaWVsZEJsb2NrLFxuXHRcdC5waG9uZUZvcm1GaWVsZEJsb2NrLFxuXHRcdC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayxcblx0XHQubG9va3VwRm9ybUZpZWxkQmxvY2ssXG5cdFx0LmNvbnNlbnRCbG9jayxcblx0XHQuc3VibWl0QnV0dG9uV3JhcHBlciB7XG5cdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpICFpbXBvcnRhbnQ7XG5cdFx0XHRnYXA6IDVweCAhaW1wb3J0YW50O1xuXG5cdFx0XHRsYWJlbCB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAncHJveGltYS1ub3ZhJywgQXJpYWwsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQudGV4dEZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlcixcblx0XHQudHdvb3B0aW9uX2NoZWNrYm94IGxhYmVsOjphZnRlcixcblx0XHQuZGF0ZVRpbWVGb3JtRmllbGRCbG9jayBsYWJlbDo6YWZ0ZXIsXG5cdFx0Lmxvb2t1cEZvcm1GaWVsZEJsb2NrIGxhYmVsOjphZnRlcixcblx0XHQudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWw6OmFmdGVyLFxuXHRcdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94IGxhYmVsOjphZnRlcixcblx0XHQub3B0aW9uU2V0Rm9ybUZpZWxkQmxvY2sgbGFiZWwuYmxvY2stbGFiZWw6OmFmdGVyLFxuXHRcdC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGxhYmVsLmJsb2NrLWxhYmVsOjphZnRlcixcblx0XHQuY29uc2VudEJsb2NrIGxhYmVsIHA6Zmlyc3Qtb2YtdHlwZTo6YWZ0ZXIsXG5cdFx0LmV2ZW50U2Vzc2lvbiBsYWJlbDo6YWZ0ZXIsXG5cdFx0ZGl2W2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiU2Vzc2lvbnNcIl0gaDI6OmFmdGVyLFxuXHRcdGRpdltkYXRhLWVkaXRvcmJsb2NrdHlwZT1cIkNhcHRjaGFcIl0gbGFiZWxbaWRePVwid2xzcGlzcEhpcEluc3RydWN0aW9uQ29udGFpbmVyXCJdOjphZnRlciB7XG5cdFx0XHR3aWR0aDogMjJweDtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Y29sb3I6ICNjMzM0MDA7XG5cdFx0XHRjb250ZW50OiBcIipcIjtcblx0XHRcdC8vdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdH1cblxuXHRcdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYucmFkaW9idXR0b25zIGRpdiBpbnB1dCxcblx0XHQudHdvT3B0aW9uRm9ybUZpZWxkQmxvY2sgZGl2LnR3b29wdGlvbl9jaGVja2JveCBkaXYgaW5wdXQsXG5cdFx0Lm9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGRpdi5yYWRpb2J1dHRvbnMgZGl2IGlucHV0LFxuXHRcdC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGZpZWxkc2V0ID4gZGl2ID4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuXHRcdC5ldmVudFNlc3Npb24gPiBkaXYgPiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5cdFx0LmV2ZW50U2Vzc2lvbiA+IGRpdiA+IGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcblx0XHQuY29uc2VudEJsb2NrIGRpdiBpbnB1dCB7XG5cdFx0XHRtYXJnaW46IDBweDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdGhlaWdodDogMjBweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICMzMjMxMzA7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRhY2NlbnQtY29sb3I6ICMwMDc4ZDQ7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cblx0XHQucGhvbmVGb3JtRmllbGRCbG9jayBpbnB1dCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGZsZXg6IDI7XG5cdFx0fVxuXG5cblxuXHRcdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYucmFkaW9idXR0b25zID4gZGl2LFxuXHRcdC50d29PcHRpb25Gb3JtRmllbGRCbG9jayBkaXYudHdvb3B0aW9uX2NoZWNrYm94ID4gZGl2LFxuXHRcdC5vcHRpb25TZXRGb3JtRmllbGRCbG9jayBkaXYucmFkaW9idXR0b25zID4gZGl2LFxuXHRcdC5tdWx0aU9wdGlvblNldEZvcm1GaWVsZEJsb2NrIGZpZWxkc2V0ID4gZGl2LFxuXHRcdC5jb25zZW50QmxvY2sgPiBkaXYge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogMHB4O1xuXHRcdFx0Z2FwOiA4cHg7XG5cdFx0fVxuXG5cdFx0Lmxvb2t1cEZvcm1GaWVsZEJsb2NrIHtcblxuXHRcdFx0aW5wdXQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRcdFx0aW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tc2VhcmNoLWZsaXBwZWQucG5nJykgIWltcG9ydGFudDtcblx0XHRcdFx0XHRzaXplOiAxNnB4IDE2cHggIWltcG9ydGFudDtcblx0XHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByaWdodCA1cHggY2VudGVyICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHVsIHtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDNweDtcblxuXHRcdFx0XHRcdCYudWktc3RhdGUtYWN0aXZlIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRncmVlbi1yZWd1bGFyICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnN1Ym1pdEJ1dHRvbiB7XG5cdFx0XHRwYWRkaW5nOiAxLjJyZW0gNTBweDtcblx0XHR9XG5cblx0XHRzZWxlY3QsXG5cdFx0aW5wdXQsXG5cdFx0dGV4dGFyZWEge1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGUgIWltcG9ydGFudDtcblx0XHRcdGZvbnQtZmFtaWx5OiAncHJveGltYS1ub3ZhJywgQXJpYWwsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRcdFx0YWNjZW50LWNvbG9yOiAkZ3JlZW4tcmVndWxhciAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuIiwiQG1lZGlhIHByaW50IHtcblxuICAgIC8vIEhpZGUgZWxlbWVudHNcbiAgICAjaGVhZGVyLXB1c2hlcixcbiAgICAuaGlkZS1mb3ItcHJpbnQsXG4gICAgLmhlYWRlcl9fbm90aWZ5LFxuICAgIC5oZWFkZXJfX3NlcnZpY2UsXG4gICAgLmhlYWRlcl9fc3ViLFxuICAgIC5icmVhZGNydW1icyxcbiAgICAubW9yZS1saW5rLFxuICAgIC5wcm9kdWN0LWluZm9fX2NvbnRlbnRfX2NvbnRhY3QsXG4gICAgLmFuY2hvci1uYXYsXG4gICAgLnNwZWNzLXRhYmxlLXdyYXBwZXJfX3Nob3ctbW9yZSxcbiAgICAuc3BlY3MtZHJhd2luZ3NfX2xpbmtzLFxuICAgIC5saXN0LXZpZGVvcyxcbiAgICAucHJvZHVjdC1pbnN0YWxsYXRpb25fX3RpcHMsXG4gICAgLnByb2R1Y3QtZG93bmxvYWRzX19jb250YWN0IC5idXR0b24sXG4gICAgLmxpc3QtcHJvZHVjdHNfX2l0ZW1fX3NwZWNzLFxuICAgIC5saXN0LXByb2R1Y3RfX21vcmUsXG4gICAgLmRvb3JtYXQtZGVhbGVyLFxuICAgIC5kb29ybWF0LXF1ZXN0aW9uLFxuICAgIC5kb29ybWF0LWNhc2Utc3R1ZGllcyxcbiAgICAuZ2V0LWluLXRvdWNoLFxuICAgIC5mb290ZXIsXG4gICAgLm1hdGVyaWFsLWxpc3QtbWluaSxcbiAgICAubmF2aWdhdGlvbixcbiAgICAucmFkaXNoLWNvb2tpZS1iYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tcHJvZHVjdHMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKC4yNSkgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IHJoeXRobSguMjUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNvcHlyaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvLyBLZWVwIHNlY3Rpb25zIHRvZ2V0aGVyXG4gICAgLmtlZXAtdG9nZXRoZXIsXG4gICAgLnNwZWNzLWRyYXdpbmdzLFxuICAgIC5zcGVjcy1saXN0LFxuICAgIC5wcm9kdWN0LWluc3RhbGxhdGlvbl9fdXNhZ2UsXG4gICAgLmxpc3QtcHJvZHVjdHMge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gRm9yY2UgcGFnZSBicmVha1xuICAgIC5zcGVjcy1saXN0IHtcbiAgICAgICAgcGFnZS1icmVhay1iZWZvcmU6IGFsd2F5cztcbiAgICAgICAgY29sdW1uczogYXV0bztcbiAgICB9XG5cbiAgICAuaGVhZGVyIHtcbiAgICAgICAgLy8gTWFrZSBzdXJlIGJhY2tncm91bmQgY29sb3IgaXMgcHJpbnRlZC5cbiAgICAgICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuXG4gICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdG9wIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJoeXRobSguNSkgMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGFjdCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BlY3MtdGFibGUtd3JhcHBlciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zcGVjcy10YWJsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDEycHgpO1xuXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmh5dGhtKC4yNSkgMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdC1wZGZzIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIHJoeXRobSguMjUpIDAgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjpmaXJzdC1sZXR0ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdC1wcm9kdWN0c19faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG5cbiAgICAucGFnZS10ZW1wbGF0ZS10cGwtbWF0ZXJpYWwtbGlzdCB7XG4gICAgICAgIC5tYXRlcmlhbC1hY3Rpb25zLFxuICAgICAgICAuYWN0aW9uLWJhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWF0ZXJpYWwtbGlzdCB7XG4gICAgICAgICAgICB0Ym9keSB0ciB7XG4gICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgIC8vICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jZWxsLWRldGFpbHMgLnNwZWNzLWxpc3Qge1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW5zOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jZWxsLWNoZWNrIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2VsbC1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBzcXVhcmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2VsbC1yZW1vdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jZWxsLWFtb3VudCBpbnB1dCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaG93LW9uLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwidGFibGUge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xufVxuXG4udGFibGVwcmVzcyB7XG5cdHRoZWFkIHRoLFxuXHR0Zm9vdCB0aCxcblx0JiA+IDp3aGVyZSh0aGVhZCx0Zm9vdCkgPiB0ciA+ICoge1xuXHRcdGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cblx0fVxuXG5cdHRoZWFkIC5kdC1vcmRlcmFibGUtYXNjOmhvdmVyLFxuXHR0aGVhZCAuZHQtb3JkZXJhYmxlLWRlc2M6aG92ZXIsXG5cdHRoZWFkIC5kdC1vcmRlcmluZy1hc2MsXG5cdHRoZWFkIC5kdC1vcmRlcmluZy1kZXNjIHtcblx0XHRiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhciAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdHRib2R5IHRkLFxuXHR0Zm9vdCB0aCB7XG5cdFx0YmFja2dyb3VuZDogJGdyZXktcmVndWxhcjtcblx0fVxuXG5cdHRoZWFkIC5kdC1vcmRlcmFibGUtYXNjIC5kdC1jb2x1bW4tb3JkZXIsXG5cdHRoZWFkIC5kdC1vcmRlcmFibGUtZGVzYyAuZHQtY29sdW1uLW9yZGVyIHtcblx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cdH1cblxufVxuXG4uZHQtc2VhcmNoIC5kdC1pbnB1dCB7XG5cdHdpZHRoOiAzMDBweDtcbn1cblxuLmR0LWlucHV0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgI2E5YTlhOTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zZWxlY3QuZHQtaW5wdXQge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcblx0cGFkZGluZy1yaWdodDogMjRweCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IHRvcCAxNHB4ICFpbXBvcnRhbnQ7XG59XG5cblxuLnBhZ2luZ19zaW1wbGUgLnBhZ2luYXRlX2J1dHRvbiB7XG5cdCYucHJldmlvdXM6YmVmb3JlLFxuXHQmLm5leHQ6YWZ0ZXIge1xuXHRcdGNvbG9yOiAkZGFyaztcblx0XHRjb250ZW50OiAnXFxmMTA0Jztcblx0XHRmb250LWZhbWlseTogRm9udEF3ZXNvbWUsIHNhbnMtc2VyaWY7XG5cdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdH1cblxuXHQmLm5leHQ6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICdcXGYxMDUnO1xuXHR9XG59XG5cbi5kYXRhVGFibGVzX3dyYXBwZXIge1xuXHQuZGF0YVRhYmxlc19maWx0ZXIsXG5cdC5kYXRhVGFibGVzX2xlbmd0aCxcblx0LmRhdGFUYWJsZXNfaW5mbyxcblx0LmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuXHRcdEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTRweCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblxuXHRcdHNlbGVjdCB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA0cHggdG9wIDEycHg7XG5cdFx0XHRwYWRkaW5nOiA0cHggMjBweCA0cHggMTBweDtcblx0XHR9XG5cblx0XHRpbnB1dCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHRcdFx0cGFkZGluZzogNHB4IDVweDtcblx0XHR9XG5cdH1cbn1cbiIsIi8qISBqUXVlcnkgVUkgLSB2MS4xMi4xIC0gMjAxOC0wOC0wOFxuKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4qIEluY2x1ZGVzOiBjb3JlLmNzcywgdG9vbHRpcC5jc3NcbiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqL1xuXG4vKiBMYXlvdXQgaGVscGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktaGVscGVyLWhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4udWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcblx0Ym9yZGVyOiAwO1xuXHRjbGlwOiByZWN0KDAgMCAwIDApO1xuXHRoZWlnaHQ6IDFweDtcblx0bWFyZ2luOiAtMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxcHg7XG59XG4udWktaGVscGVyLXJlc2V0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdG91dGxpbmU6IDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuLnVpLWhlbHBlci1jbGVhcmZpeDpiZWZvcmUsXG4udWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogdGFibGU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG4udWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcblx0Y2xlYXI6IGJvdGg7XG59XG4udWktaGVscGVyLXpmaXgge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0b3BhY2l0eTogMDtcblx0ZmlsdGVyOkFscGhhKE9wYWNpdHk9MCk7IC8qIHN1cHBvcnQ6IElFOCAqL1xufVxuXG4udWktZnJvbnQge1xuXHR6LWluZGV4OiAxMDA7XG59XG5cblxuLyogSW50ZXJhY3Rpb24gQ3Vlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWktc3RhdGUtZGlzYWJsZWQge1xuXHRjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblxuLyogSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLWljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbi10b3A6IC0uMjVlbTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWluZGVudDogLTk5OTk5cHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi51aS13aWRnZXQtaWNvbi1ibG9jayB7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luLWxlZnQ6IC04cHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBNaXNjIHZpc3VhbHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBPdmVybGF5cyAqL1xuLnVpLXdpZGdldC1vdmVybGF5IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG4udWktdG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogOTk5OTtcblx0bWF4LXdpZHRoOiAzMDBweDtcbn1cbmJvZHkgLnVpLXRvb2x0aXAge1xuXHRib3JkZXItd2lkdGg6IDJweDtcbn1cbiIsIi5oZWFkZXIge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihoZWlnaHQgLjJzIGxpbmVhcik7XG5cdGJhY2tncm91bmQ6ICRncmV5LXJlZ3VsYXI7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0ei1pbmRleDogOTA7XG5cblx0Ym9keS5hZG1pbi1iYXIgJiB7XG5cdFx0dG9wOiAzMnB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0Jl9fdG9wIHtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKHBhZGRpbmcgLjJzIGxpbmVhcik7XG5cdFx0YmFja2dyb3VuZDogJGdyZWVuLXJlZ3VsYXI7XG5cdFx0cGFkZGluZzogcmh5dGhtKDEpIDAgcmh5dGhtKDEpIDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWJldHdlZW4pIHtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHR9XG5cblx0XHRib2R5LnNpdGUtMSAmIHtcblx0XHRcdHBhZGRpbmctdG9wOiByaHl0aG0oLjUpO1xuXHRcdH1cblxuXHRcdC53cmFwcGVyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fcmlnaHQge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRmbGV4OiAwIDEwMCU7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdC5oZWFkZXItLWhpZGRlbiAmIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fbG9nbyB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAzNHB4O1xuXHRcdGZsZXg6IDAgMCAzMDBweDtcblx0XHR0cmFuc2l0aW9uOiBmbGV4IDAuMnM7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1tZWRpdW0pIHtcblx0XHRcdGZsZXg6IDAgMCAyMzBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdGZsZXg6IDAgMSAxMDAlO1xuXHRcdH1cblxuXHRcdC5oZWFkZXItLWhpZGRlbiAmIHtcblx0XHRcdGZsZXg6IDAgMCAyMDBweDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdFx0ZmxleDogMCAxIDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aDEge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdFx0ZmxleDogMCAxIDE4MHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmX19zZXJ2aWNlIHtcblx0XHRmbGV4OiAxIDAgYXV0bztcblx0XHRtYXgtaGVpZ2h0OiAxMDBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG5cdFx0XHRmbGV4OiAwIDEgMTAwJTtcblx0XHRcdG1hcmdpbi1yaWdodDogNDBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtYmV0d2Vlbikge1xuXHRcdFx0QGluY2x1ZGUgZnVsbC13aWR0aCgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXG5cdFx0LmhlYWRlci0taGlkZGVuICYge1xuXHRcdFx0QGluY2x1ZGUgc2xpZGV1cDtcblx0XHR9XG5cblx0XHQmX19uYXZpZ2F0aW9uIHtcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiBjYWxjKDEwMCUgKyAyLjRyZW0pO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogMCAyMHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQuaGVhZGVyX19zdWJfX21lbnUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkZ3JleS1yZWd1bGFyO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cdFx0XHRcdHBhZGRpbmc6IHJoeXRobSgxKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19jb250YWN0IHtcblx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0XHRcdEBpbmNsdWRlIGZ1bGwtd2lkdGg7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdCZfX2l0ZW0ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19waG9uZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdFx0XHRpbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi10ZWxlcGhvbmUtd2hpdGUuc3ZnJyk7XG5cdFx0XHRcdFx0cG9zaXRpb246IGxlZnQgY2VudGVyO1xuXHRcdFx0XHRcdHNpemU6IDE2cHggMTZweDtcblx0XHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0fVxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDI0cHg7XG5cdFx0XHR9XG5cblx0XHRcdCZfX2VtYWlsIHtcblx0XHRcdFx0YmFja2dyb3VuZDoge1xuXHRcdFx0XHRcdGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLW1haWwtd2hpdGUuc3ZnJyk7XG5cdFx0XHRcdFx0cG9zaXRpb246IGxlZnQgY2VudGVyO1xuXHRcdFx0XHRcdHNpemU6IDE0cHggMTBweDtcblx0XHRcdFx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0fVxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDI0cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fc3ViIHtcblx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuM3MgZWFzZS1pbi1vdXQpO1xuXHRcdGJhY2tncm91bmQ6ICRncmV5LXJlZ3VsYXI7XG5cdFx0bWF4LWhlaWdodDogMjAwcHg7XG5cdFx0cGFkZGluZzogcmh5dGhtKC41KSAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdGJhY2tncm91bmQ6ICRncmV5LWV4dHJhbGlnaHQ7XG5cdFx0fVxuXG5cdFx0LndyYXBwZXIge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGJvZHkuc2l0ZS0xICYge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQuaGVhZGVyLS1zY3JvbGxpbmcgJixcblx0XHQuaGVhZGVyLS1oaWRkZW4gJiB7XG5cdFx0XHRAaW5jbHVkZSBzbGlkZXVwO1xuXHRcdH1cblxuXHRcdCZfX2xhbmd1YWdlLXN3aXRjaGVyY2hvb3NlLWNvdW50cnktbGluayB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0fVxuXG5cdFx0Jl9fZGVza3RvcCB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX21vYmlsZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblxuXHRcdFx0Jl9fYnV0dG9uIHtcblx0XHRcdFx0QGluY2x1ZGUgYnRuKCk7XG5cdFx0XHRcdEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTZweCk7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCAxNXB4IC0ycHggMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX21lbnUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHR9XG5cblx0XHRcdCY6bm90KC5pbmxpbmUpIHtcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1iZXR3ZWVuKSB7XG5cdFx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JiAuaGVhZGVyX19zdWJfX21lbnVfX2l0ZW0ge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtYmV0d2Vlbikge1xuXHRcdFx0XHRcdFx0ZmxleDogMSAwIDEwMCU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWJldHdlZW4pIHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxNHB4KTtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jl9faXRlbSB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdHdpZHRoOiAxNnB4O1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNHB4O1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDNweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtLWN1c3RvbSB7XG5cdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IDI0cHg7XG5cdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMTBweDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdFx0XHRcdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdFx0XHRcdG1hcmdpbjoge1xuXHRcdFx0XHRcdFx0XHR0b3A6IDNweDtcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IDRweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdG1pbi13aWR0aDogMTZweDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuZG93bmxvYWRzIHtcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1kb3dubG9hZHMuc3ZnJyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5tYXRlcmlhbGxpc3Qge1xuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLW1hdGVyaWFsbGlzdC5zdmcnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLmxvZ2luIHtcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1sb2dpbi5zdmcnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLmxhbmd1YWdlIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRmaWd1cmUge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDIwcHg7XG5cblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogNDBweDtcblx0XHRcdFx0XHRcdFx0XHRcdG1pbi13aWR0aDogNDBweDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLS1jdXN0b20ge1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fbm90aWZ5IHtcblx0XHRiYWNrZ3JvdW5kOiAkeWVsbG93O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdCZfX3NlY3Rpb24ge1xuXHRcdFx0cGFkZGluZzogcmh5dGhtKC41KSAwO1xuXG5cdFx0XHQmX19hY3Rpb24ge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWJldHdlZW4pIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiByaHl0aG0oLjUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fY29udGVudCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDQwcHg7XG5cdFx0fVxuXG5cdFx0Jl9fY2hvb3NlLWxpbmsge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cbn1cblxuI2hlYWRlci1wdXNoZXIge1xuXHRoZWlnaHQ6IHJoeXRobSg3LjUpO1xuXG5cdGJvZHkuc2l0ZS0xICYge1xuXHRcdGhlaWdodDogcmh5dGhtKDUpO1xuXHR9XG5cblx0Ym9keS5oZWFkZXItaGlkZGVuICYge1xuXHRcdGhlaWdodDogcmh5dGhtKDYpO1xuXHR9XG59XG4iLCJAbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xuICAgIGZpbHRlcjogdW5xdW90ZShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSN7cm91bmQoJG9wYWNpdHkgKiAxMDApfSlcIik7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG59XG5cbkBtaXhpbiBvbWVnYS1yZXNldCgkbnRoKSB7XG4gICAgJjpudGgtY2hpbGQoI3skbnRofSkgeyBtYXJnaW4tcmlnaHQ6IGZsZXgtZ3V0dGVyKCRncmlkLWNvbHVtbnMsICRndXR0ZXIpOyB9XG4gICAgJjpudGgtY2hpbGQoI3skbnRofSsxKSB7IGNsZWFyOiBub25lIH1cbn1cblxuQG1peGluIGZ1bGwtd2lkdGgoKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbkBtaXhpbiBzbGlkZXVwKCAkc3BlZWQ6IC4yNXMpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAkc3BlZWQgZWFzZS1pbi1vdXQpO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG5AbWl4aW4gcmV0aW5hKCR1cmwsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZyApIHtcbiAgICBAaW5jbHVkZSByZXRpbmEtaW1hZ2UoJHVybCwgJGJhY2tncm91bmQtc2l6ZSwgJGV4dGVuc2lvbiwgbnVsbCwgJ0AyeCcgKTtcbn1cblxuQG1peGluIHJvdGF0ZSgkZGVncmVlcykge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKCN7JGRlZ3JlZXN9ZGVnKTtcbiAgICB3cml0aW5nLW1vZGU6IGxyLXRiO1xufVxuXG5AbWl4aW4gbWFpbnRhaW4tcmF0aW8oJHJhdGlvOiAxIDEpIHtcbiAgICBAaWYgbGVuZ3RoKCRyYXRpbykgPCAyIG9yIGxlbmd0aCgkcmF0aW8pID4gMiB7XG4gICAgICAgIEB3YXJuICckcmF0aW8gbXVzdCBiZSBhIGxpc3Qgd2l0aCB0d28gdmFsdWVzLic7XG4gICAgfVxuXG4gICAgJHdpZHRoOiAxMDAlO1xuICAgICRoZWlnaHQ6IHBlcmNlbnRhZ2UobnRoKCRyYXRpbywgMikgLyBudGgoJHJhdGlvLCAxKSk7XG5cbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGhlaWdodDtcbn1cblxuQG1peGluIHZlcnRpY2FsLWFsaWduIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG5cbkBtaXhpbiB2aXN1YWxseWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuIGVsZW1lbnQgc2hvdWxkIHNwYW4uIElmIHRoZSBzZWxlY3RvciBpcyBuZXN0ZWQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIGl0cyBwYXJlbnQgZWxlbWVudCBzaG91bGQgYmUgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IGFzIHdlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzcGFuXG4vLy8gICBBIGxpc3QgY29udGFpbmluZyBgJGNvbHVtbnNgLCB0aGUgdW5pdGxlc3MgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIGVsZW1lbnQgc3BhbnMgKHJlcXVpcmVkKSwgYW5kIGAkY29udGFpbmVyLWNvbHVtbnNgLCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIHBhcmVudCBlbGVtZW50IHNwYW5zIChvcHRpb25hbCkuXG4vLy9cbi8vLyAgIElmIG9ubHkgb25lIHZhbHVlIGlzIHBhc3NlZCwgaXQgaXMgYXNzdW1lZCB0aGF0IGl0J3MgYCRjb2x1bW5zYCBhbmQgdGhhdCB0aGF0IGAkY29udGFpbmVyLWNvbHVtbnNgIGlzIGVxdWFsIHRvIGAkZ3JpZC1jb2x1bW5zYCwgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuLy8vXG4vLy8gICBUaGUgdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyAgIGAkY29sdW1uc2AgYWxzbyBhY2NlcHRzIGRlY2ltYWxzIGZvciB3aGVuIGl0J3MgbmVjZXNzYXJ5IHRvIGJyZWFrIG91dCBvZiB0aGUgc3RhbmRhcmQgZ3JpZC4gRS5nLiBQYXNzaW5nIGAyLjRgIGluIGEgc3RhbmRhcmQgMTIgY29sdW1uIGdyaWQgd2lsbCBkaXZpZGUgdGhlIHJvdyBpbnRvIDUgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdXG4vLy8gICBTZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50LiBCeSBkZWZhdWx0IGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgdG8gYGJsb2NrYC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGBibG9jay1jb2xsYXBzZWAsIGl0IGFsc28gcmVtb3ZlcyB0aGUgbWFyZ2luIGd1dHRlciBieSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQgd2lkdGguXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgdGFibGVgLCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IHRvIGB0YWJsZS1jZWxsYCBhbmQgY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgd2l0aG91dCB0YWtpbmcgZ3V0dGVycyBpbnRvIGNvbnNpZGVyYXRpb24uIFRoZSByZXN1bHQgZG9lcyBub3QgYWxpZ24gd2l0aCB0aGUgYmxvY2stYmFzZWQgZ3JpZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy9cbi8vLyAgICAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICB3aWR0aDogMzAuMTEzODklO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cblxuQG1peGluIHNwYW4tY29sdW1ucygkc3BhbjogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zLCAkZGlzcGxheTogYmxvY2spIHtcbiAgJGNvbHVtbnM6IG50aCgkc3BhbiwgMSk7XG4gICRjb250YWluZXItY29sdW1uczogY29udGFpbmVyLXNwYW4oJHNwYW4pO1xuXG4gICRwYXJlbnQtY29sdW1uczogZ2V0LXBhcmVudC1jb2x1bW5zKCRjb250YWluZXItY29sdW1ucykgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAkZGlzcGxheS10YWJsZTogaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KTtcblxuICBAaWYgJGRpc3BsYXktdGFibGUgIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn07XG5cbiAgICBAaWYgJGRpc3BsYXkgIT0gbm8tZGlzcGxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAnY29sbGFwc2UnIGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZC4gVXNlICdibG9jay1jb2xsYXBzZScgaW5zdGVhZC5cIik7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIG9yICRkaXNwbGF5ID09IGJsb2NrLWNvbGxhcHNlIHtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucykgKyBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgfVxuXG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0O1xuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XG4kZmctbWF4LWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4kY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFkZWZhdWx0O1xuJGxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG59XG5cbkBmdW5jdGlvbiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbHVtbnMpIHtcbiAgQGlmICRjb2x1bW5zICE9ICRncmlkLWNvbHVtbnMge1xuICAgICRwYXJlbnQtY29sdW1uczogJGNvbHVtbnMgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSkge1xuICBAcmV0dXJuICRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSA9PSB0cnVlIG9yICRkaXNwbGF5ID09IHRhYmxlO1xufVxuIiwiLmRvb3JtYXQtZGVhbGVyIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cdGJhY2tncm91bmQ6IHtcblx0XHRpbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctZG9vcm1hdC1kZWFsZXIuanBnJyk7XG5cdFx0cG9zaXRpb246IGNlbnRlcjtcblx0XHRyZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRzaXplOiBjb3Zlcjtcblx0fVxuXHRjb2xvcjogJHdoaXRlO1xuXHRtaW4taGVpZ2h0OiAyNjBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0bWluLWhlaWdodDogMDtcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cblxuXHRmaWVsZHNldCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdHBhZGRpbmc6IHJoeXRobSgyKSAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG5cdFx0fVxuXG5cdFx0Jl9faGVhZGluZyB7XG5cdFx0XHRAZXh0ZW5kICVmb250LXNlbWlib2xkO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG5cdFx0fVxuXG5cdFx0Jl9fc3ViaGVhZGluZyB7XG5cdFx0XHRAZXh0ZW5kICVmb250LWJvbGQ7XG5cdFx0XHRAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE2cHgpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXHRcdH1cblx0fVxuXG5cdCZfX2ltYWdlIHtcblx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRpbWFnZTogdXJsKCcuLi9pbWFnZXMvX2R1bW15L2Zvb3Rlci10cnVjay5qcGcnKTtcblx0XHRcdHBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcblx0XHRcdHJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0c2l6ZTogY292ZXI7XG5cdFx0fTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0d2lkdGg6IDUwJTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4uZGVhbGVyLWZvcm0ge1xuXHRAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDEzcHgpO1xuXHRtYXJnaW46IDAgYXV0bztcblx0d2lkdGg6IDYwJTtcblxuXHQmOmFmdGVyIHtcblx0XHRjbGVhcjogYm90aDtcblx0XHRjb250ZW50OiAnJztcblx0fVxuXG5cdCZfX3RleHQge1xuXHRcdGJvcmRlcjogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IDIlO1xuXHRcdHdpZHRoOiBjYWxjKCA5OCUgLSAxODVweCApO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmX19zdWJtaXQge1xuXHRcdEBpbmNsdWRlIGJ0bi15ZWxsb3coKTtcblx0XHR3aWR0aDogMTc1cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDBlNWRhO1xuXHRcdFx0Y29sb3I6ICRncmVlbi1yZWd1bGFyO1xuXHRcdH1cblxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNiYWQzYzY7XG5cdFx0XHRjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG5cdFx0fVxuXG5cdFx0LmZhLXNlYXJjaCB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG5cdFx0XHRmaWx0ZXI6IEZsaXBIO1xuXHRcdH1cblx0fVxuXG5cdC5sb2NhdGlvbi1kZXRlY3Rpb24ge1xuXHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWxvY2F0aW9uLnN2ZycpO1xuXHRcdFx0cG9zaXRpb246IGxlZnQgY2VudGVyO1xuXHRcdFx0c2l6ZTogMTFweCAxMXB4O1xuXHRcdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0fTtcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cbn0iLCIuZG9vcm1hdC1xdWVzdGlvbiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgYmFja2dyb3VuZDogJGdyZXktZXh0cmFsaWdodDtcblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1idWlsZGVyLnN2ZycpO1xuICAgICAgICAgICAgcG9zaXRpb246IGxlZnQgMTYlIHRvcCA0NSU7XG4gICAgICAgICAgICBzaXplOiAxMDFweCAxMjJweDtcbiAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgICAgIHBhZGRpbmc6IHJoeXRobSgyKSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWhlYWRlci0xLXNpemU7XG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnRuKCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE4cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcblxuICAgICAgICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggLTJweCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZG9vcm1hdC1jYXNlLXN0dWRpZXMge1xuICAgIHBhZGRpbmc6IHJoeXRobSgxLjUpIDA7XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufSIsIi5nZXQtaW4tdG91Y2gge1xuICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgY29sb3I6ICRncmV5LXZlcnktbGlnaHQ7XG4gICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy1xdWljay1saW5rcy5zdmcnKTtcbiAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cbiAgICBwYWRkaW5nOiByaHl0aG0oMykgMDtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDU1cHgpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZW50cmllcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmX19lbnRyeSB7XG4gICAgICAgICAgICBmbGV4OiB7XG4gICAgICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgICAgICBzaHJpbms6IDE7XG4gICAgICAgICAgICAgICAgYmFzaXM6IGNhbGMoIDEwMCUgLyA0IC0gNDBweCApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMiAtIDQwcHggKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSggMSApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJG1vYmlsZS1sYW5kc2NhcGUgKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faWNvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbW9iaWxlLWxhbmRzY2FwZSApIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgyNHB4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMThweCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgyNHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmZvb3RlciB7XG4gICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxOHB4KTtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDUwcHggMCAwO1xuXG4gICAgLnNpdGUtMSAmIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgJjpob3Zlclx0e1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LXJlZ3VsYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItd2lkZ2V0cyB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuXG4gICAgLndyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAmX19zaWRlYmFyIHtcbiAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX21lbnUge1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDEyICogMyAtIDQwcHggKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbG9nbyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0LFxuICAgICAgICAmX19uZXdzbGV0dGVyIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDQgLSA0MHB4ICk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICZfX3RhZ2xpbmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMzZweCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX25ld3NsZXR0ZXIge1xuICAgICAgICAgICAgLndpZGdldC10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmdmb3JtX2JvZHkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdztcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fZm9ybS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9vdGVyLW5hdmlnYXRpb24ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1yZWd1bGFyO1xuICAgIHBhZGRpbmc6IHJoeXRobSgyKSAwIHJoeXRobSgxKSAwO1xuXG4gICAgLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoNG4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTVweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxN3B4O1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogc3F1YXJlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguMjUpO1xuXG4gICAgICAgICAgICAgICAgJi5sYXN0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmh5dGhtKDEuNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29udGFjdCB7XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxOHB4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuXG4gICAgICAgICAgICAgICAgJi0tcGhvbmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDIxcHgpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi10ZWxlcGhvbmUtd2hpdGUuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAxNnB4IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS1tYWlsIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tbWFpbC13aGl0ZS5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IDE0cHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtLWNvbnRhY3Qge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1jb250YWN0LXdoaXRlLnN2ZycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogMTNweCAxNHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZm9vdGVyLW5ld3NsZXR0ZXIge1xuICAgIHBhZGRpbmc6IHJoeXRobSgyKSAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX19mb3JtLFxuICAgIGZvcm0ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZnVsbC13aWR0aDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKVxuICAgICAgICB9XG5cbiAgICAgICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGV4dCxcbiAgICAgICAgLmdmb3JtX2JvZHkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5nZm9ybV9ib2R5LFxuICAgICAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdWJtaXQsXG4gICAgICAgIC5nZm9ybV9idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXllbGxvdygpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc29jaWFsIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZ1bGwtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zb2NpYWwtbGlua3Mge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMzVweCk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LXJlZ3VsYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBwYWRkaW5nOiByaHl0aG0oMikgMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJoeXRobSgzKTtcbiAgICB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmX19saW5rcyB7XG4gICAgICAgIGZsZXg6IDAgMSA2MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZmxleDogMCAxIDEwMCU7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NvY2lhbCB7XG4gICAgICAgIGZsZXg6IDAgMSA0MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5zb2NpYWwtbGlua3Mge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgICAgICAgICAgc2hyaW5rOiAxO1xuICAgICAgICAgICAgICAgICAgICBiYXNpczogYXV0bztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRncmV5LXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvcHlyaWdodCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRpc2FibGUtY29va2llcyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFJlbW92ZXMgdGhlIGVsZW1lbnQncyBndXR0ZXIgbWFyZ2luLCByZWdhcmRsZXNzIG9mIGl0cyBwb3NpdGlvbiBpbiB0aGUgZ3JpZCBoaWVyYXJjaHkgb3IgZGlzcGxheSBwcm9wZXJ0eS4gSXQgY2FuIHRhcmdldCBhIHNwZWNpZmljIGVsZW1lbnQsIG9yIGV2ZXJ5IGBudGgtY2hpbGRgIG9jY3VycmVuY2UuIFdvcmtzIG9ubHkgd2l0aCBgYmxvY2tgIGxheW91dHMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeSBbYmxvY2tdXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50cy4gU3VwcG9ydGVkIGFyZ3VtZW50cyBhcmUgYG50aC1jaGlsZGAgc2VsZWN0b3JzICh0YXJnZXRzIGEgc3BlY2lmaWMgcHNldWRvIGVsZW1lbnQpIGFuZCBgYXV0b2AgKHRhcmdldHMgYGxhc3QtY2hpbGRgKS5cbi8vL1xuLy8vICAgV2hlbiBwYXNzZWQgYW4gYG50aC1jaGlsZGAgYXJndW1lbnQgb2YgdHlwZSBgKm5gIHdpdGggYGJsb2NrYCBkaXNwbGF5LCB0aGUgb21lZ2EgbWl4aW4gYXV0b21hdGljYWxseSBhZGRzIGEgY2xlYXIgdG8gdGhlIGAqbisxYCB0aCBlbGVtZW50LiBOb3RlIHRoYXQgY29tcG9zaXRlIGFyZ3VtZW50cyBzdWNoIGFzIGAybisxYCBkbyBub3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuXG4vLy9cbi8vLyAgICoqRGVwcmVjYXRpb24gd2FybmluZyoqOiBUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhIGAkZGlyZWN0aW9uYCBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgYHJvdygkZGlyZWN0aW9uKWAgb3Igc2V0IGAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uYCBpbnN0ZWFkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYSg0bik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bikge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4rMSkge1xuLy8vICAgICBjbGVhcjogbGVmdDtcbi8vLyAgIH1cblxuQG1peGluIG9tZWdhKCRxdWVyeTogYmxvY2ssICRkaXJlY3Rpb246IGRlZmF1bHQpIHtcbiAgJHRhYmxlOiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpO1xuICAkYXV0bzogYmVsb25ncy10byhhdXRvLCAkcXVlcnkpO1xuXG4gIEBpZiAkZGlyZWN0aW9uICE9IGRlZmF1bHQge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhICRkaXJlY3Rpb24gYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gIH1cblxuICBAaWYgJHRhYmxlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIG5vIGxvbmdlciByZW1vdmVzIHBhZGRpbmcgaW4gdGFibGUgbGF5b3V0cy5cIik7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSBhbmQgJHRhYmxlID09IGZhbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQobnRoKCRxdWVyeSwgMSksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRvbyBtYW55IGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIG9tZWdhKCkgbWl4aW4uXCIpO1xuICB9XG59XG5cbkBtaXhpbiBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJjpudGgtY2hpbGQoI3skcXVlcnl9KSB7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkcXVlcnkpID09IG51bWJlciBhbmQgdW5pdCgkcXVlcnkpID09IFwiblwiIHtcbiAgICAmOm50aC1jaGlsZCgjeyRxdWVyeX0rMSkge1xuICAgICAgY2xlYXI6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gICAgfVxuICB9XG59XG4iLCIvLyBOb3QgZnVuY3Rpb24gZm9yIExpYnNhc3MgY29tcGF0aWJpbGl0eVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MvbGlic2Fzcy9pc3N1ZXMvMzY4XG5AZnVuY3Rpb24gaXMtbm90KCR2YWx1ZSkge1xuICBAcmV0dXJuIGlmKCR2YWx1ZSwgZmFsc2UsIHRydWUpO1xufVxuXG4vLyBDaGVja3MgaWYgYSBudW1iZXIgaXMgZXZlblxuQGZ1bmN0aW9uIGlzLWV2ZW4oJGludCkge1xuICBAcmV0dXJuICRpbnQgJSAyID09IDA7XG59XG5cbi8vIENoZWNrcyBpZiBhbiBlbGVtZW50IGJlbG9uZ3MgdG8gYSBsaXN0IG9yIG5vdFxuQGZ1bmN0aW9uIGJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkge1xuICBAcmV0dXJuIGlzLW5vdChub3QtYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSk7XG59XG5cbkBmdW5jdGlvbiBub3QtYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XG4gIEByZXR1cm4gaXMtbm90KGluZGV4KCRsaXN0LCAkdGVzdGVkLWl0ZW0pKTtcbn1cblxuLy8gQ29udGFpbnMgZGlzcGxheSB2YWx1ZVxuQGZ1bmN0aW9uIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSB7XG4gIEByZXR1cm4gYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oYmxvY2ssICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGlubGluZS1ibG9jaywgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oaW5saW5lLCAkcXVlcnkpO1xufVxuXG4vLyBQYXJzZXMgdGhlIGZpcnN0IGFyZ3VtZW50IG9mIHNwYW4tY29sdW1ucygpXG5AZnVuY3Rpb24gY29udGFpbmVyLXNwYW4oJHNwYW46ICRzcGFuKSB7XG4gIEBpZiBsZW5ndGgoJHNwYW4pID09IDMge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzcGFuLCAzKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNwYW4pID09IDIge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzcGFuLCAyKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfVxuXG4gIEByZXR1cm4gJGdyaWQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGNvbnRhaW5lci1zaGlmdCgkc2hpZnQ6ICRzaGlmdCkge1xuICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQgIWdsb2JhbDtcblxuICBAaWYgbGVuZ3RoKCRzaGlmdCkgPT0gMyB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNoaWZ0LCAzKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNoaWZ0KSA9PSAyIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc2hpZnQsIDIpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9XG5cbiAgQHJldHVybiAkcGFyZW50LWNvbHVtbnM7XG59XG5cbi8vIEdlbmVyYXRlcyBhIHN0cmlwZWQgYmFja2dyb3VuZFxuQGZ1bmN0aW9uIGdyYWRpZW50LXN0b3BzKCRncmlkLWNvbHVtbnMsICRjb2xvcjogJHZpc3VhbC1ncmlkLWNvbG9yKSB7XG4gICR0cmFuc3BhcmVudDogdHJhbnNwYXJlbnQ7XG5cbiAgJGNvbHVtbi13aWR0aDogZmxleC1ncmlkKDEsICRncmlkLWNvbHVtbnMpO1xuICAkZ3V0dGVyLXdpZHRoOiBmbGV4LWd1dHRlcigkZ3JpZC1jb2x1bW5zKTtcbiAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4td2lkdGg7XG5cbiAgJHZhbHVlczogKCR0cmFuc3BhcmVudCAwLCAkY29sb3IgMCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdG8gJGdyaWQtY29sdW1ucyoyIHtcbiAgICBAaWYgaXMtZXZlbigkaSkge1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR0cmFuc3BhcmVudCAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICRjb2xvciAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4tb2Zmc2V0ICsgJGNvbHVtbi13aWR0aDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkY29sb3IgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLW9mZnNldCArICRndXR0ZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWVzO1xufVxuXG4vLyBMYXlvdXQgZGlyZWN0aW9uXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbigkbGF5b3V0LCAkZGVmYXVsdCkge1xuICAkZGlyZWN0aW9uOiBudWxsO1xuXG4gIEBpZiB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiTFRSXCIgb3IgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIlJUTFwiIHtcbiAgICAkZGlyZWN0aW9uOiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGxheW91dCk7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGRpcmVjdGlvbi1mcm9tLWxheW91dCgkZGVmYXVsdCk7XG4gIH1cblxuICBAcmV0dXJuICRkaXJlY3Rpb247XG59XG5cbkBmdW5jdGlvbiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGxheW91dCkge1xuICAkZGlyZWN0aW9uOiBudWxsO1xuXG4gIEBpZiB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiTFRSXCIge1xuICAgICRkaXJlY3Rpb246IHJpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBsZWZ0O1xuICB9XG5cbiAgQHJldHVybiAkZGlyZWN0aW9uO1xufVxuXG5AZnVuY3Rpb24gZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGxlZnQ7XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgICRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0O1xuICB9XG5cbiAgQHJldHVybiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xufVxuIiwiLnNlYXJjaC1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiByaHl0aG0oLjUpIDMwcHg7XG5cbiAgICAgICAgLnByZXYge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubmV4dCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiN3YWxyYXZlbl9hamF4X2xvYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyggNTAlIC0gNTBweCk7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbjogLTI3cHggMCAwIC0yN3B4O1xuICAgIHdpZHRoOiA1NHB4O1xuICAgIGhlaWdodDogNTVweDtcbn0iLCIuc2VhcmNoZm9ybSB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKG1hcmdpbi10b3AgLjJzIGVhc2UtaW4tb3V0KTtcblx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Ji0tY29udGVudCB7XG5cdFx0ZmllbGRzZXQge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGdyZXktcmVndWxhcjtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXG5cdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuXHR9XG5cblx0Jl9fc2VsZWN0IHtcblx0XHRAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE0cHgpO1xuXHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdGNvbG9yOiAkZ3JleS1saWdodDtcblx0XHRcdHBvc2l0aW9uOiByaWdodCAxMHB4IHRvcCAxOXB4O1xuXHRcdH1cblx0XHRib3JkZXI6IDA7XG5cdFx0Y29sb3I6ICRkYXJrO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdGhlaWdodDogcmh5dGhtKDIpO1xuXHRcdHBhZGRpbmc6IHtcblx0XHRcdGJvdHRvbTogMTJweDtcblx0XHRcdHJpZ2h0OiAxMHB4O1xuXHRcdFx0dG9wOiAxMHB4O1xuXHRcdH1cblx0XHR3aWR0aDogMjAlO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODgwcHgpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IHRvcCAyMXB4O1xuXHRcdH1cblx0fVxuXG5cdC50d2l0dGVyLXR5cGVhaGVhZCB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0fVxuXG5cdCZfX3RleHQge1xuXHRcdEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTRweCk7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRib3JkZXI6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogNHB4IDMwcHggNHB4IDE1cHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLWhlaWdodDogMzJweDtcblxuXHRcdGJvZHkubm8tc2VhcmNoICYge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR3aWR0aDogNzklO1xuXHRcdH1cblx0fVxuXG5cdCZfX3N1Ym1pdCB7XG5cdFx0QGV4dGVuZCAlZm9udC1zZW1pYm9sZDtcblx0XHRib3JkZXI6IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdHBhZGRpbmc6IDAgMTBweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogcmh5dGhtKDIpO1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmVlbi1ncmV5O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggdG9wIDUwJTtcblx0XHRcdHRleHQtaW5kZW50OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMTVweDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblxuXHRcdC5mYS1zZWFyY2gge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuXHRcdFx0ZmlsdGVyOiBGbGlwSDtcblx0XHR9XG5cdFx0XG5cdFx0Jl9fdGV4dCB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXHRcblx0LnNlYXJjaC1zdWdnZXN0aW9uIHtcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdH1cbn0iLCIubmF2aWdhdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjJzO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDY4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICB0b3A6IDExOXB4O1xuICAgIH1cblxuICAgIC5oZWFkZXItLWhpZGRlbiAmIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiA5MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgJltocmVmPVwiI1wiXSxcbiAgICAgICAgICAgICZbaHJlZj1cIlwiXSxcbiAgICAgICAgICAgICY6bm90KFtocmVmXSkge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBHZW5lcmFsIG1lbnUgaXRlbSBzdHlsaW5nXG4gICAgICAgICAqL1xuICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE4cHgpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogU3R5bGluZyBzdWIgbWVudS5cbiAgICAgICAgICogU2luY2UgdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgc3ViIG1lbnUncywgdGhpcyBzdHlsaW5nIG9ubHkgYXBwbGllcyB0byB0aGUgZmlyc3QgJ2xheWVyJ1xuICAgICAgICAgKlxuICAgICAgICAgKiBVc2UgZm9jdXMtd2l0aGluIGZvciBhY2Nlc3NpYmlsaXR5LCB0aGlzIG1ha2VzIHRoZSBtZW51IGtleWJvYXJkIGZyaWVuZGx5LlxuICAgICAgICAgKi9cbiAgICAgICAgPiAubWVudS1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgJi1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjZGZlZWZmO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgyMHB4KTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRkZXNrdG9wLXNtYWxsICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2RmZWVmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRkZXNrdG9wLXNtYWxsICkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmID4gLnN1Yi1tZW51LFxuICAgICAgICAgICAgICAgICYgPiAuc3ViLW1lbnU6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRkZXNrdG9wLXNtYWxsICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFRoaXMgaGFzIHRvIGJlIGEgc2VwYXJhdGUgc2VsZWN0b3IgYmVjYXVzZSBvZi4uLiB3aGF0IGVsc2UgSUUgYW5kIEVkZ2UuXG4gICAgICAgICAgICAgKiBJRSBhbmQgRWRnZSBkb24ndCByZWNvZ25pemUgOmZvY3VzLXdpdGhpbiwgdGhlcmVmb3JlIGl0IGhhcyB0byBiZSBhIHNlcGFyYXRlIHNlbGVjdG9yLlxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgICAgICAgICAgJiA+IC5zdWItbWVudSxcbiAgICAgICAgICAgICAgICAmID4gLnN1Yi1tZW51OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiA+IC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZSAuMTVzO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoICRkZXNrdG9wLXNtYWxsICkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBBcHBseSB0aGUgZ3JlZW4gZnVsbCB3aWR0aCBiYWNrZ3JvdW5kLlxuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjAwdnc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTEwMHZ3O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UgLjE1cztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBNYWtlIHRoZSBmaXJzdCBzdWIgbWVudSBsaW5rIGJvbGQuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgPiAubWVudS1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJoeXRobSgyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkZGVza3RvcC1zbWFsbCApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWxpZ2h0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2aWdhdGlvbi1sYWJlbCB7XG4gICAgJGR1cmF0aW9uOiAuNXM7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZsZXg6IDAgMSA3MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiA3OHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fYmFycyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJGR1cmF0aW9uO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAtMTNweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB0b3A6IC0xNHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuOTk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICgkZHVyYXRpb24gLyAyKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgLm1lbnUtYmFycyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmJyZWFkY3J1bWJzIHtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIC4ycyBsaW5lYXIpO1xuXHRAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE0cHgpO1xuXHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0cGFkZGluZy10b3A6IDIwcHg7XG5cdGNvbG9yOiAkZ3JleS1saWdodDtcblx0Ym9yZGVyOiB7XG5cdFx0Ym90dG9tOiAxcHggc29saWQgJGdyZXktbWVkaXVtO1xuXHR9XG5cdG1hcmdpbjoge1xuXHRcdGJvdHRvbTogcmh5dGhtKDEpO1xuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6ICRncmV5LW1lZGl1bTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGxpbmstY29sb3ItaG92ZXI7XG5cdFx0fVxuXHR9XG5cblx0LmJyZWFkY3J1bWJfbGFzdCB7XG5cdFx0Y29sb3I6ICRibGFjaztcblx0fVxufSIsIi50dC1kcm9wZG93bi1tZW51IHtcblx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRwYWRkaW5nOiAxMHB4IDA7XG5cdHdpZHRoOiA0MDBweDtcblx0ei1pbmRleDogOTk5OTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGdyZXktcmVndWxhcjtcblx0bWFyZ2luLXRvcDogLTJweDtcblx0Ym9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG5cblx0LnNlYXJjaGZvcm0tY29udGVudCAmIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC50dC1kYXRhc2V0LWF1dG9jb21wbGV0ZSB7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5LWxpZ2h0O1xuXHRcdHBhZGRpbmctdG9wOiAxMHB4O1xuXG5cdFx0LnR0LXN1Z2dlc3Rpb24ge1xuXHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA4MHB4O1xuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC03MHB4O1xuXHRcdFx0fVxuXHRcdFx0LnRleHQge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogNXB4O1xuXG5cdFx0XHRcdCYtLW5vLWltYWdlIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTcwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5vdmVydmlldyB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudHQtc3VnZ2VzdGlvbiB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHBhZGRpbmc6IHJoeXRobSguMjUpIDEwcHg7XG5cblx0XHRwIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG5cblx0LnR0LWN1cnNvciB7XG5cdFx0YmFja2dyb3VuZDogJGdyZXktbGlnaHQ7XG5cdH1cbn1cblxuLnNlYXJjaGZvcm0tY29udGVudCAudHdpdHRlci10eXBlYWhlYWQge1xuXHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTApO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuXHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG5cdH1cbn1cblxuLnR0LWhpbnQge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59IiwiLmFuY2hvci1uYXYge1xuICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IGNhbGMoIDIwcHggLSAwLjZyZW0gKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgyMHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgIGJhc2lzOiBjYWxjKCAxMDAlIC8gMTIgKiA0IC0gMjBweClcbiAgICAgICAgfVxuICAgICAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgJl9faXRlbXMge1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zdGlja3kge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogODhweDtcbiAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjJzO1xuXG4gICAgICAgIGJvZHkuaGVhZGVyLWhpZGRlbiAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYW5jaG9yLW5hdl9fbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuYW5jaG9yLW5hdl9faXRlbXMge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjIwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJi0tY3VycmVudCxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2R1Y3Rncm91cC1jb2RlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiByaHl0aG0oMSkgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAucGFnZS10ZW1wbGF0ZS10cGwtZG93bmxvYWRzICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIFxuICAgIC5wYWdlLW51bWJlcnMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1saWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgICBwYWRkaW5nOiAycHggMTBweDtcblxuICAgICAgICAmLnByZXYsXG4gICAgICAgICYubmV4dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN1cnJlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zZWxlY3Qge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJoeXRobSguMjUpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJoeXRobSguMjUpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5wYWdlLXRpdGxlIHtcblx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG5cdGgxIHtcblx0XHRjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG4iLCIuY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogcmh5dGhtKDEpO1xuXG4gICAgJl9fbWFpbi1oZWFkaW5nIHtcbiAgICAgICAgQGV4dGVuZCAlaGVhZGVyLTEtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBib2R5LnNpdGUtMSAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJoeXRobSgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlnaHRncmV5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5LXJlZ3VsYXI7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJoeXRobSgxKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aGl0ZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmh5dGhtKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWV0YSB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByaHl0aG0oLS41KTtcblxuICAgICAgICAgICAgYm9keS5zaW5nbGUgJiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByaHl0aG0oLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faW50cm8ge1xuICAgICAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDc4MHB4IDFmcjtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogNDBweDtcblxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LXJlZ3VsYXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWhhcy1pbWFnZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgICAgICAgICAuY29udGVudF9fc2VjdGlvbl9fY29udGVudF9faW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNvbnRlbnRfX3NlY3Rpb25fX2NvbnRlbnRfX3RleHQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNvbnRlbnRfX3NlY3Rpb25fX21ldGEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2VhcmNoIHJlc3VsdHNcbiAgICAgICAgICAgIC5zZWFyY2gtdGVybSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZkZWNjMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICAgICAgLmJsb2cgJiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBleHRlbmQgJWZvbnQtc3RhbmRhcmQ7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoJGhlYWRlci0yLXNpemUpO1xuICAgICAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgkaGVhZGVyLTMtc2l6ZSk7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRoZWFkZXItNC1zaXplKTtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIHVsLFxuICAgIG9sIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmh5dGhtKDEpIDMwcHg7XG5cbiAgICAgICAgdWwsXG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIH1cblxuICAgIHVsIGxpLFxuICAgIG9sIHVsIGxpIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC4yNSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbCB1bCBsaSxcbiAgICB1bCB1bCBsaSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYiggMTI3LCAxMjcsIDEyNyApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb2wgbGksXG4gICAgdWwgb2wgbGkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICBociB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LXJlZ3VsYXI7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgfVxuXG4gICAgLy8gR2FsbGVyeS5cbiAgICAuZ2FsbGVyeSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cbiAgICAgICAgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWNvbHVtbnMtMiB7XG4gICAgICAgICAgICAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgzbik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtY29sdW1ucy00IHtcbiAgICAgICAgICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDNuKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1jb2x1bW5zLTUsXG4gICAgICAgICYtY29sdW1ucy02IHtcbiAgICAgICAgICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDNuKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoNm4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUgKSB7XG4gICAgICAgICAgICAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgybik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoM24pO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDRuKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCg2bik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmpvYi1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggcmh5dGhtKC41KSAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1iZXR3ZWVuKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxucCB7XG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgIC5ibG9nICYge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvdW50cnktb3ZlcnZpZXcge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBib2R5Om5vdCguc2l0ZS0xKSAmIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSggJGJsYWNrICwwLjIpO1xuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgIH1cblxuICAgICYtLXRvcCxcbiAgICAmLS1ib3R0b20ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHJoeXRobSgxKSAkc2NyZWVuLXBhZGRpbmc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDMwMDtcbiAgICB9XG5cbiAgICAmLS10b3Age1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktcmVndWxhcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjNweCAtN3B4IHJnYmEoMCwwLDAsLjQpO1xuICAgIH1cblxuICAgICYtLWJvdHRvbSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICZfX2Nsb3NlIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRpbmVudCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1yZWd1bGFyO1xuICAgICAgICBwYWRkaW5nOiByaHl0aG0oMC41KSAwO1xuICAgIH1cblxuICAgICZfX2ludGVybmF0aW9uYWx7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMjJweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZmlsdGVyIHtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRncmVlbi1yZWd1bGFyO1xuICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLmlzLW1vYmlsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGdyZXktZXh0cmFsaWdodDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGdyZXktZXh0cmFsaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogcmh5dGhtKC0yKTtcbiAgICAgICAgcGFkZGluZzogcmh5dGhtKDIpIDIwcHggcmh5dGhtKC41KSAyMHB4O1xuXG4gICAgICAgIC5maWx0ZXJfX2hlYWRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDI0cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwYWRkaW5nOiByaHl0aG0oLjUpIDEwcHggcmh5dGhtKC41KSAyMHB4O1xuICAgIH1cblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweCByaHl0aG0oMSkgMjBweDtcblxuICAgICAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMThweCk7XG4gICAgICAgICAgICBAZXh0ZW5kICVmb250LWJvbGQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktZXh0cmFsaWdodDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbGxhcHNhYmxlIHtcbiAgICAgICAgICAgIC5maWx0ZXJfX3NlY3Rpb25fX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocmlnaHQgLjJzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tYXJyb3ctcmlnaHQtYmxhY2suc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmlnaHQgMnB4IHRvcCA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IDlweCA4cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29sbGFwc2VkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByaHl0aG0oLjUpO1xuXG4gICAgICAgICAgICAuZmlsdGVyX19zZWN0aW9uX19oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmlsdGVyX19zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fZm9ybSB7XG4gICAgICAgICAgICAmX19pbnB1dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyggMTAwJSAtIDYwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19zdWJtaXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hlY2tib3g7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1tZWRpdW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjI1KTtcblxuICAgICAgICAgICAgLnBhZ2UtdGVtcGxhdGUtdHBsLWRvd25sb2FkcyAmIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEsXG5cdFx0XHQuc3Bhbi1saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB0b3A6IHJoeXRobSguNSk7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tY3Jvc3Muc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBzaXplOiAxMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gU2hvcnRoYW5kIG1peGluLiBTdXBwb3J0cyBtdWx0aXBsZSBwYXJlbnRoZXNlcy1kZWxpbWluYXRlZCB2YWx1ZXMgZm9yIGVhY2ggdmFyaWFibGUuXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwgMnMgZWFzZS1pbi1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAob3BhY2l0eSAxcyBlYXNlLWluIDJzLCB3aWR0aCAycyBlYXNlLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5ICh0cmFuc2Zvcm0sIG9wYWNpdHkpO1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcy4uLikge1xuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRtb3o6ICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgYXBwZW5kKCRzcGVjLCAgICRsaXN0LCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRuZWVkcy1wcmVmaXhlcyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAkd2Via2l0O1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogJG1vejtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRzcGVjO1xuICB9IEBlbHNlIHtcbiAgICBAaWYgbGVuZ3RoKCRwcm9wZXJ0aWVzKSA+PSAxIHtcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHByb3BlcnRpZXM6IGFsbCAwLjE1cyBlYXNlLW91dCAwcztcbiAgICAgIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24sICRwcm9wZXJ0aWVzLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkcHJvcGVydGllcy4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwid2Via2l0XCIpO1xuICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwibW96XCIpO1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCRtb3Rpb25zLi4uKSB7XG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIi5maWx0ZXItaXRlbXMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGJhY2tncm91bmQ6ICRncmV5LWV4dHJhbGlnaHQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWluLWhlaWdodDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgcGFkZGluZzogcmh5dGhtKC42KSAyMHB4IDAgMjBweDtcblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDNweCAxNXB4IDAgMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCByaHl0aG0oLjUpIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogIG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4oKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJoeXRobSguMjUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiByaHl0aG0oLjI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE3cHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihub25lKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5LWRhcms7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggcmh5dGhtKC41KSAwO1xuICAgICAgICAgICAgcGFkZGluZzogM3B4IDMwcHggM3B4IDEwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgJjphZnRlcixcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY2xlYXIge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5hY3Rpb24tYmFyIHtcblx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG5cdCZfX2J1dHRvbiB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0XHR9XG5cblx0XHQucGFnZS10ZW1wbGF0ZS10cGwtZG93bmxvYWRzICYge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuZGlzYWJsZWQge1xuXHRcdFx0YmFja2dyb3VuZDogJGdyZXktZXh0cmFsaWdodDtcblx0XHRcdGNvbG9yOiBkYXJrZW4oJGdyZXktZXh0cmFsaWdodCwgMTUlKTtcblx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblxuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCRncmV5LWV4dHJhbGlnaHQsIDE1JSk7XG5cdFx0XHR9XG5cblx0XHRcdC5jb3VudCB7XG5cdFx0XHRcdGNvbG9yOiBkYXJrZW4oJGdyZXktZXh0cmFsaWdodCwgMTUlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY291bnQge1xuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTBweDtcblx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0XHRcdG1pbi13aWR0aDogMjRweDtcblx0XHRcdHBhZGRpbmc6IDAgN3B4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblxuXHRcdCYtLXJlbW92ZSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cblx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0bGVmdDogMThweDtcblx0XHRcdFx0aGVpZ2h0OiAzcHg7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR3aWR0aDogMTNweDtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRsZWZ0OiAyMHB4O1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fcmVzdWx0cyB7XG5cdFx0Jl9fc2VsZWN0IHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByaHl0aG0oLjI1KTtcblx0XHRcdHBhZGRpbmctdG9wOiByaHl0aG0oLjI1KTtcblx0XHR9XG5cdH1cblxuXG59XG4iLCIjd3BzZW8tc3RvcmVsb2NhdG9yLWZvcm0ge1xuICAgIGJhY2tncm91bmQ6ICRncmV5LWV4dHJhbGlnaHQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktbWVkaXVtO1xuICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICBwYWRkaW5nOiAyMHB4IHJoeXRobSgxKTtcblxuICAgIGZpZWxkc2V0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiN3cHNlby1zdG9yZWxvY2F0b3ItcmVzdWx0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgLndwc2VvLW1hcC1jYW52YXMge1xuICAgICAgICBmbGV4OiAwIDEgMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgIH1cblxuICAgICN3cHNlby1kaXJlY3Rpb25zLXdyYXBwZXIsXG4gICAgPiBoMiB7XG4gICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgIH1cblxuICAgIC53cHNlby1yZXN1bHQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgZmxleDogMCAxIGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLndwc2VvLWxvY2F0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBkaXYsXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC53cHNlby1zbC1yb3V0ZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi5jb2x1bW4ge1xuICAgICYtLTIge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcblxuICAgICAgICAmLS0zMyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7XG4gICAgICAgICAgICB3aWR0aDogMzIuMDA0MiU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS02NyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7XG4gICAgICAgICAgICB3aWR0aDogNjYuMDAyMSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0zIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgJi0tMixcbiAgICAgICAgJi0tMi0tMzMsXG4gICAgICAgICYtLTItLTY3LFxuICAgICAgICAmLS0zIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDNuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDFuKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIHJoeXRobSgxKSAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm1vZHVsZS1jb250ZW50IHtcbiAgICBhOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn0iLCIuZnJlZS1zdXBwb3J0IHtcbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE4cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuICAgIH1cblxuICAgIC5saXN0LWNoZWNrcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICB9XG59IiwiJHBpbi1zaXplOiAyNHB4O1xuXG4uaW50ZXJhY3RpdmUtaW1hZ2Uge1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblxuXHQmX19pbWFnZSB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdCZfX2xpbmsge1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRib3JkZXI6IDRweCBzb2xpZCAkZ3JlZW4tcmVndWxhcjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6ICRwaW4tc2l6ZTtcblx0XHRoZWlnaHQ6ICRwaW4tc2l6ZTtcblx0XHR6LWluZGV4OiA1O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0bWFyZ2luOiAtM3B4IDAgMCAtM3B4O1xuXHRcdFx0aGVpZ2h0OiA2cHg7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHdpZHRoOiA2cHg7XG5cdFx0fVxuXG5cdFx0Jl9faW5uZXIge1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgyLCAxMDgsIDc5LCAuOCk7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTEwMHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogLTE1cHg7XG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDIwMHB4O1xuXHRcdFx0ei1pbmRleDogMjtcblxuXHRcdFx0Jl9fbGFiZWwge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR9XG5cblx0XHRcdCZfX3JlYWRtb3JlIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZvbnQtc2l6ZTogLjllbTtcblxuXHRcdFx0XHQmOmhvdmVyXHR7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3Rvb2x0aXAge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMjAwcHg7XG5cdFx0ei1pbmRleDogMjA7XG5cdH1cbn0iLCIuY2F0ZWdvcnktb3ZlcnZpZXcge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmX19jYXRlZ29yaWVzIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NpZGViYXIge1xuICAgICAgICAuZmlsdGVyX19jbG9zZSB7XG4gICAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmZpbHRlcl9faGVhZGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWx0ZXItaXRlbXMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbGFiZWxfX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyZXktbWVkaXVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktbWVkaXVtO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjk5MzclO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGlzdC1jYXRlZ29yaWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1saWdodDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLyA0IC0gMjBweCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gNCAtIDIwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IHJoeXRobSgxKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgIC50YXgtcHJvZHVjdC1jYXRlZ29yeSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygzMy4zMyUgLSAyMHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhdGVnb3J5LW92ZXJ2aWV3ICYge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAvIDQgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIDQgLSAyMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkZGVza3RvcC1sYXJnZSApIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAvIDMgLSAyMHB4KTtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAvIDIgLSAyMHB4KTtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMiAtIDIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvdW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTJweCk7XG4gICAgICAgICAgICBAZXh0ZW5kICVmb250LXNlbWlib2xkO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZXktZXh0cmFsaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICAvL0BpbmNsdWRlIHJhZGlhbC1ncmFkaWVudCggY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAgI2VkZWRlZCAwJSwgJHdoaXRlIDEwMCUgKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJoeXRobSguMjUpIDIwcHg7XG5cbiAgICAgICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtc2VtaWJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdvcmQtd3JhcDogYW55d2hlcmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5saXN0LWNhdGVnb3J5LWZpbHRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggNXB4IDEwcHg7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS12ZXJ5LWxpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxpc3QtY2hlY2tzIHtcbiAgICAmX19pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tY2hlY2suc3ZnJyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogbGVmdCA2cHg7XG4gICAgICAgICAgICBzaXplOiAxMnB4IDlweDtcbiAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB9XG59IiwiLmxpc3QtY291bnRyaWVzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbiAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxOXB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgwLjUpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDRuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtYmV0d2Vlbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoM24pO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoNG4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxNnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJHRhYmxldCApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxpc3QtZ3JlZW4tdGV4dCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihwYWRkaW5nIC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMTA4LDc5LCAuOSk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogcmh5dGhtKC41KSAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5saXN0LWdyZWVuLXRleHRfX2l0ZW06aG92ZXIgJiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJoeXRobSgxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxOXB4KTtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVmb250LWJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktcmVndWxhcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5saXN0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW46IDAgMCByaHl0aG0oMSkgMCAhaW1wb3J0YW50O1xuICAgIFxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDAuNjUpIDAlLHJnYmEoMCwxMDUsODAsMC4zOCkgNDIlLHJnYmEoMCwxMDUsODAsMC4yMikgNjYlLHJnYmEoMCwwLDAsMCkgMTAwJSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIC5saXN0LWltYWdlX19pdGVtOmhvdmVyICYge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3R0b20gLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogcmh5dGhtKC41KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW0gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGlzdC1pbWFnZV9faXRlbTpob3ZlciAmIHtcbiAgICAgICAgICAgICAgICBib3R0b206IHJoeXRobSguNzUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmxpc3QtaW1hZ2UtdG9wIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXItY29sb3IgLjJzIGVhc2UtaW4tb3V0KTtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LXJlZ3VsYXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoM24pO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRncmV5LW1lZGl1bTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5vLWJvcmRlciB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXktcmVndWxhcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJoeXRobSgxKSAyMHB4IHJoeXRobSguNSkgMjBweDtcblxuICAgICAgICAgICAgLmxpc3QtaW1hZ2UtdG9wX19pdGVtLS1uby1ib3JkZXIgJiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faGVhZGluZyB7XG4gICAgICAgICAgICBAZXh0ZW5kICVmb250LWJvbGQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE4cHgpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5wcm9kdWN0LWRvd25sb2FkcyB7XG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgICAgICBncm93OiAwO1xuICAgICAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgICAgICBiYXNpczogY2FsYyggMTAwJSAvIDMgLSAyMHB4ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLyAzIC0gMjBweCApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMiAtIDIwcHggKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLyAyIC0gMjBweCApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgICAgICBncm93OiAwO1xuICAgICAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgICAgICBiYXNpczogY2FsYyggMTAwJSAvIDMgLSAyMHB4ICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLyAzIC0gMjBweCApO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktbWVkaXVtO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDIgLSAyMHB4ICk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC8gMiAtIDIwcHggKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAzMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzJweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbW9iaWxlLWxhbmRzY2FwZSApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDY5NTA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTFweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5aGlkZGVuKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19tZXRhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDEycHgpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1tZWRpdW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgICAgICAgICAuc2VwYXJhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIHJoeXRobSgwLjIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fZmlsZS1pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzJweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkbW9iaWxlLWxhbmRzY2FwZSApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5saXN0LXBlcnNvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgIGdyb3c6IDA7XG4gICAgICAgICAgICBzaHJpbms6IDE7XG4gICAgICAgICAgICBiYXNpczogY2FsYyggMTAwJSAvIDMgLSAyMHB4ICk7XG4gICAgICAgIH1cbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMjBweCk7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgIGdyb3c6IDA7XG4gICAgICAgICAgICBzaHJpbms6IDE7XG4gICAgICAgICAgICBiYXNpczogY2FsYyggMTAwJSAvIDMgLSAyMHB4ICk7XG4gICAgICAgIH1cbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMjBweCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1yZWd1bGFyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiB7XG4gICAgICAgICAgICB0b3A6IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICAgICAgcmlnaHQ6IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICAgICAgYm90dG9tOiAxcHggc29saWQgJGdyZXktZXh0cmFsaWdodDtcbiAgICAgICAgICAgIGxlZnQ6IDJweCBzb2xpZCAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgfVxuICAgICAgICBwYWRkaW5nOiAxOHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLW1lZGl1bSl7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC8gMiAtIDIwcHggKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyggMTAwJSAvIDIgLSAyMHB4ICk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEgb2YgNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDQpO1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxN3B4KTtcbiAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtc2VtaWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktZXh0cmFsaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZnVuY3Rpb24ge1xuICAgICAgICAgICAgbWFyZ2luOiB7XG4gICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xvY2F0aW9uIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgICAgICZbaHJlZl49XCJtYWlsdG9cIl0ge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIubGlzdC1wcm9kdWN0cyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYm9yZGVyLWNvbG9yIC4ycyBlYXNlLWluLW91dCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWxpZ2h0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS00IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDNuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCg0bik7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWJldHdlZW4pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMm4pO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDFuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgzbik7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWJldHdlZW4pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDFuKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JleS1kYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxMnB4KTtcbiAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtc2VtaWJvbGQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTZweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fc3BlY3Mge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgcmh5dGhtKDEpIDIwcHg7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwNjk1MDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubGlzdC1yZWZlcmVuY2VzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgIHBhZGRpbmc6IHJoeXRobSgxKSAxMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JleS1kYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9faW1hZ2VzIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSAzMyU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggcmh5dGhtKDIpIDEwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX21vcmUge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19zaG93LW1vcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTRweCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgZmxleDogMCAxIDY1JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2V4Y2VycHQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fc3BlY3Mge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgZHQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC4yNSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRkIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDEgNzMlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguMjUpO1xuXG4gICAgICAgICAgICAgICAgYSxcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5saXN0LXZpZGVvcyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoMm4pO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5tYWluLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBwb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICB9XG5cbiAgICAmLS1oYXMtdmlkZW8ge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiByaHl0aG0oNCkgMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByaHl0aG0oMikgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJoeXRobSgxKSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taGFzLXZpZGVvIC53cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fdmlkZW8td3JhcHBlciB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDowIDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ZpZGVvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAmX19oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSg2NXB4KTtcbiAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRoZWFkZXItMS1zaXplKTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSg1MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMzBweCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLm1vZHVsZS1wcm9kdWN0cyB7XG4gICAgLmxpc3QtcHJvZHVjdHMge1xuICAgICAgICBtYXJnaW46IDAgMCByaHl0aG0oMSkgMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5xdW90ZSB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMjVweCk7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJoeXRobSguNSk7XG4gICAgfVxufSIsIi5zbGlkZXNob3cge1xuXHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuXHRcdCZfX3NsaWRlcyxcblx0XHQmX19wYWdlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCZfX3NsaWRlIHtcblx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRwb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRzaXplOiBjb3Zlcjtcblx0XHR9O1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0aGVpZ2h0OiA0MDBweDtcblx0XHRwYWRkaW5nOiByaHl0aG0oMikgMDtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0Jl9faGVhZGluZyB7XG5cdFx0XHRAZXh0ZW5kICVmb250LWJvbGQ7XG5cdFx0XHRAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKCRoZWFkZXItMS1zaXplKTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiA1MCU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMjRweCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fYnV0dG9uIHtcblx0XHRcdEBpbmNsdWRlIGJ0bi15ZWxsb3c7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHR9XG5cdH1cblxuXHQvKiBwYWdlciAqL1xuXHQmX19wYWdlciB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHotaW5kZXg6IDUwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IHJoeXRobSguNSk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdHNwYW4ge1xuXHRcdFx0Zm9udDoge1xuXHRcdFx0XHRmYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuXHRcdFx0XHRzaXplOiA1MHB4O1xuXHRcdFx0fVxuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRjb2xvcjogJGdyZXktcmVndWxhcjtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdG1hcmdpbjogMCA1cHg7XG5cblx0XHRcdCYuY3ljbGUtcGFnZXItYWN0aXZlIHtcblx0XHRcdFx0Y29sb3I6ICR5ZWxsb3c7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JiA+ICoge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0fVxufVxuXG4uc2xpZGVyIHtcblx0Jl9fY29udGFpbmVyIHtcblx0XHRtYXgtd2lkdGg6IDEyMDBweDtcblx0XHRtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0Ji0tc21hbGwge1xuXHRcdG1heC13aWR0aDogMTIwMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJGZ1bGwtd2lkdGgpIHtcblx0XHRcdC8vbWFyZ2luLWxlZnQ6IGNhbGMoIDEwMCUgLyA1ICkgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQmX19jb250cm9scyB7XG5cdFx0bWF4LXdpZHRoOiAxMjAwcHg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogY2FsYyg1MCUgLSA0MHB4KTtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cblx0XHRidXR0b24ge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHRvcDogMDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0ei1pbmRleDogMjtcblx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkZGVza3RvcC1zbWFsbCkge1xuXHRcdFx0XHRhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdFx0XHR3aWR0aDogNjBweDtcblx0XHRcdH1cblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdFx0XHR3aWR0aDogODBweDtcblx0XHRcdFx0b3BhY2l0eTogMC43NTtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblx0XHRcdFx0XHR3aWR0aDogNDBweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0XHRcdFx0d2lkdGg6IDYwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0JltkYXRhLWNvbnRyb2xzPVwicHJldlwiXSB7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCZbZGF0YS1jb250cm9scz1cIm5leHRcIl0ge1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2l0ZW1zIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0fVxuXG5cdFx0Jl9faXRlbSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdHJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0fVxuXHRcdFx0Ym9yZGVyOiB7XG5cdFx0XHRcdGxlZnQ6IDJweCBzb2xpZCAkZ3JlZW4tcmVndWxhclxuXHRcdFx0fVxuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblxuXHRcdFx0LnNpbmdsZS1wcm9kdWN0ICYge1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdH1cblxuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6IDc2OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHR9XG5cblx0XHRcdCZfX2ltYWdlIHtcblx0XHRcdFx0ZmxleDogMCAwIGF1dG87XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmX19jb250ZW50IHtcblx0XHRcdFx0cGFkZGluZzogMjBweCA0MHB4O1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cblx0XHRcdFx0Jl9fdGV4dCB7XG5cdFx0XHRcdFx0ZmxleDogMCAxIDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jjpub3QoLmZlYXR1cmVkKSB7XG5cdFx0XHRcdC5zbGlkZXJfX2l0ZW1zX19pdGVtX19jb250ZW50IHtcblx0XHRcdFx0XHQubHQtaWUxMSAmIHtcblx0XHRcdFx0XHRcdHN0cm9uZywgcCB7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCZfX3JlYWQtbW9yZSB7XG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdG1hcmdpbi10b3A6IGF1dG87XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSguMjUpO1xuXG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0XHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdFx0XHRcdGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWxpbmsuc3ZnJyk7XG5cdFx0XHRcdFx0XHRzaXplOiAzMHB4O1xuXHRcdFx0XHRcdFx0cmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCZfX3Byb2R1Y3QtZGF0YSB7XG5cdFx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdCZfX3JlYWRtb3JlIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogYXV0bztcblx0XHRcdFx0cGFkZGluZzoge1xuXHRcdFx0XHRcdGJvdHRvbTogMjBweDtcblx0XHRcdFx0XHRsZWZ0OiAyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi50bnMtdmlzdWFsbHktaGlkZGVuIHtcblx0QGluY2x1ZGUgdmlzdWFsbHloaWRkZW47XG59XG4iLCIucmFkaXNoLWNvb2tpZS1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41OSkgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBmb250LWZhbWlseTogJ09wZW4gc2FucycsIHNhbnMtc2VyaWY7XG5cbiAgICAud3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNjOWM5Yzk7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDA7XG4gICAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IGNhbGMoIDEwMCUgLSAyMHB4ICk7XG4gICAgfVxuXG4gICAgLmNvb2tpZS1iYXItaGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gICAgICAgIC5jb29raWUtYmFyLXRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29va2llLWJhci1jb250ZW50IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvb2tpZS1iYXItYnV0dG9ucyB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGxpOmxhc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLXByaW1hcnkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwNjk1MCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idXR0b24tc2Vjb25kYXJ5IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNvb2tpZS1iYXItb3B0aW9ucyB7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ2cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29va2llLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDZweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJjYy1hbGxvdy1jb29raWUtdHlwZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyO1xuXG5cbiAgICAgICAgJiB+IGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHNpemU6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2tcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZGlzYWJsZWQgfiBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNekE0SWlCb1pXbG5hSFE5SWpJM01DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNDhjR0YwYUNCa1BTSk5NamN6TGpNeU1pQTNMamczTmt3eE1EQXVOelkzSURJeU1DNHpPVEpzTFRZMkxqSTFNaTA0TVM0eE9ERmpMVFl1TlRNdE9DNHpPVEl0TVRndU5qUXpMVGt1T1RFMExUSTNMakExTlMwekxqUXRPQzQwTVRNZ05pNDFNVFF0T1M0NU16a2dNVGd1TlRrM0xUTXVOREE1SURJMkxqazViRGd4TGpnd05DQXhNREF1TURrMFFURTVMakU1SURFNUxqRTVJREFnTURBeE1EQXVOelkzSURJM01HRXhPUzR4T1NBeE9TNHhPU0F3SURBd01UUXVPVEV5TFRjdU1UQTFURE13TWk0eU9UUWdNekl1TnpSaE1Ua3VNRGswSURFNUxqQTVOQ0F3SURBd05DNDNPVFF0TVRrdU5EUkJNVGt1TVRVNUlERTVMakUxT1NBd0lEQXdNamt4TGpnM05TNHlORFJoTVRrdU1UazBJREU1TGpFNU5DQXdJREF3TFRFNExqVTFNeUEzTGpZek1ub2lJR1pwYkd3OUlpTTFOVFVpSUdacGJHd3RjblZzWlQwaWJtOXVlbVZ5YnlJdlBqd3ZjM1puUGc9PScpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNTU1O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCB+IGxhYmVsLFxuICAgICAgICAmOmRpc2FibGVkIH4gLmNvb2tpZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogIzU1NTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAmOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICAgICAgICAgIH4gbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTXpBNElpQm9aV2xuYUhROUlqSTNNQ0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajQ4Y0dGMGFDQmtQU0pOTWpjekxqTXlNaUEzTGpnM05rd3hNREF1TnpZM0lESXlNQzR6T1RKc0xUWTJMakkxTWkwNE1TNHhPREZqTFRZdU5UTXRPQzR6T1RJdE1UZ3VOalF6TFRrdU9URTBMVEkzTGpBMU5TMHpMalF0T0M0ME1UTWdOaTQxTVRRdE9TNDVNemtnTVRndU5UazNMVE11TkRBNUlESTJMams1YkRneExqZ3dOQ0F4TURBdU1EazBRVEU1TGpFNUlERTVMakU1SURBZ01EQXhNREF1TnpZM0lESTNNR0V4T1M0eE9TQXhPUzR4T1NBd0lEQXdNVFF1T1RFeUxUY3VNVEExVERNd01pNHlPVFFnTXpJdU56UmhNVGt1TURrMElERTVMakE1TkNBd0lEQXdOQzQzT1RRdE1Ua3VORFJCTVRrdU1UVTVJREU1TGpFMU9TQXdJREF3TWpreExqZzNOUzR5TkRSaE1Ua3VNVGswSURFNUxqRTVOQ0F3SURBd0xURTRMalUxTXlBM0xqWXpNbm9pSUdacGJHdzlJaU5HUmtZaUlHWnBiR3d0Y25Wc1pUMGlibTl1ZW1WeWJ5SXZQand2YzNablBnPT0nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbi1jaGVja21hcmsuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29va2llLWJhci1zZXR0aW5ncyB7XG4gICAgICAgIC5jb29raWUtYmFyLWJ1dHRvbnMge1xuICAgICAgICAgICAgbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmRpdi5yYWRpc2gtY29va2llLXNldHRpbmdzLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLnByb2R1Y3QtZmlsdGVyIHtcblx0Jl9fcXVlc3Rpb24ge1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdH1cblxuXHRzZWxlY3Qge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59IiwiLmhvbWUge1xuICAgICY6bm90KC5zaXRlLTEpIHtcbiAgICAgICAgLmZpcnN0LXNlY3Rpb24sXG4gICAgICAgIC5iZy1pbWFnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhlaWdodDogNTUwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICZfX3RpdGxlLFxuICAgICAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoNDVweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgzNXB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJG1vYmlsZS1iZXR3ZWVuICkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDMwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCByaHl0aG0oMik7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIHJoeXRobSgxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHllbGxvdztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIHJoeXRobSgyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fY3RhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmN5Y2xlLXBhZ2VyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICYuY3ljbGUtcGFnZXItYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNob21lcGFnZS1zbGlkZXIge1xuICAgIC5zd2lwZXItYnV0dG9uLXByZXYsXG4gICAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLXNsaWRlLXJpZ2h0LnN2ZycpO1xuICAgICAgICAgICAgc2l6ZTogNTBweDtcbiAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLXNsaWRlLWxlZnQuc3ZnJylcbiAgICB9XG5cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkeWVsbG93O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICB9XG59XG5cbi5xdWljay1saW5rcyB7XG4gICAgYmFja2dyb3VuZDoge1xuICAgICAgICBjb2xvcjogJGdyZXktdmVyeS1saWdodDtcbiAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLXF1aWNrLWxpbmtzLnN2ZycpO1xuICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgIGdyb3c6IDA7XG4gICAgICAgICAgICBzaHJpbms6IDE7XG4gICAgICAgICAgICBiYXNpczogY2FsYygxMDAlIC8gMyAtIDIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy9tYXJnaW4tdG9wOiAtNzVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMyAtIDIwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiAtMTAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDI2cHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJoeXRobSguNzUpIDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdWJzZWN0aW9uIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1tZWRpdW0tbGlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiByaHl0aG0oMSkgNDBweDtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE4cHgpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtLWhhcy1kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAgICAgICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRhcmdldC1ncm91cHMge1xuICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMjZweCk7XG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogcmh5dGhtKC43NSkgNDBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmVlbi1yZWd1bGFyO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBmbGV4OiAwIDEgY2FsYygyNSUgLSAyMHB4KTtcblxuICAgICAgICAgICAgLnRhcmdldC1ncm91cHMtLTMgJiB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygxMDAlLzMgLSAyMHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICAgICAgICAgICAgIC50YXJnZXQtZ3JvdXBzLS0zICYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTlweCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuLXJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByaHl0aG0oLjUpIDEwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19yZWFkLW1vcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmh5dGhtKC41KSAxMHB4O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWxpbmsuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmVhc3ktam9iIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICBwYWRkaW5nOiB7XG4gICAgICAgIHRvcDogMTAwcHg7XG4gICAgICAgIGJvdHRvbTogMTAwcHg7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDQwcHgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZW50cmllcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICZfX2VudHJ5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmbGV4OiB7XG4gICAgICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgICAgICBzaHJpbms6IDE7XG4gICAgICAgICAgICAgICAgYmFzaXM6IGNhbGMoMTAwJSAvIDIgLSAyMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC8gMiAtIDIwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJHRhYmxldCApIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2ljb24ge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDc1cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDIycHgpO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxOHB4KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3BvcHVwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XG5cbiAgICAgICAgICAgICAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19pbmZvLWljb24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uZXctZnJvbS13YWxyYXZlbiB7XG4gICAgcGFkZGluZzoge1xuICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICBib3R0b206IDEwMHB4O1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSg0MHB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZlYXR1cmVkIHtcbiAgICAmLnNsaWRlcl9faXRlbXNfX2l0ZW0ge1xuICAgICAgICAuc2xpZGVyX19pdGVtc19faXRlbV9faW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWRlcl9faXRlbXNfX2l0ZW1fX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvIGF1dG8gMjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICZfX2NvbnRhaW5lciB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlZmVyZW5jZXMge1xuICAgIHBhZGRpbmc6IDEwMHB4IDA7XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoNDBweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lbnRyaWVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZW50cnkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgICAgIGdyb3c6IDA7XG4gICAgICAgICAgICAgICAgc2hyaW5rOiAxO1xuICAgICAgICAgICAgICAgIGJhc2lzOiBjYWxjKCAxMDAlIC8gMTIgKiA0IC0gMjBweCApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGRlc2t0b3Atc21hbGwgKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAvIDIgLSAyMHB4ICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkdGFibGV0ICkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoNG4rMSksXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDRuKzIpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDRuKzMpLFxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg0bis0KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1NDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSg0bisyKSxcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoNG4rMykge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAxMiAqIDggLSAyMHB4ICk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGRlc2t0b3Atc21hbGwgKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLyAyIC0gMjBweCApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkdGFibGV0ICkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5yZWZlcmVuY2VzX19lbnRyaWVzX19lbnRyeV9fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMThweCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSggJGRlc2t0b3Atc21hbGwgKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAwIDQwcHggNDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19mb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kZXZpZGVyIHtcbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbn1cbiIsIi5zZWN0aW9uLXByb2R1Y3RzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgIHBhZGRpbmctdG9wOiByaHl0aG0oMik7XG5cbiAgICAmLS1ncmV5IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktcmVndWxhcjtcbiAgICB9XG5cbiAgICAmLS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXktcmVndWxhcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktcmVndWxhcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJoeXRobSguNSk7XG4gICAgICAgIHBhZGRpbmctdG9wOiByaHl0aG0oLjUpO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdyZXkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hlYWRpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAuMnMgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuLWhvdmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbi1hY3RpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWN0aW9uLXByb2R1Y3RzLmFjdGl2ZSAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgfVxuXG4gICAgJi1zcGVjaWZpY2F0aW9uc19faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCAkdGFibGV0ICkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSggJG1vYmlsZSApIHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJoeXRobSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5nYWxsZXJ5IHtcbiAgICAmX19iaWctaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpc3QtcmVmZXJlbmNlc19faXRlbSAmIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdyZXktZXh0cmFsaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aHVtYnMge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWxpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGlzdC1yZWZlcmVuY2VzX19pdGVtICYge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdyZXktZXh0cmFsaWdodDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWhpZGRlbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIucHJvZHVjdC1pbmZvIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktbWVkaXVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE4cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2VzIHtcbiAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgIGJhc2lzOiBjYWxjKCAxMDAlIC8gMTIgKiA0IC0gMjBweCApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZmxleDoge1xuICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgIGJhc2lzOiBjYWxjKCAxMDAlIC8gMTIgKiA4IC0gMjBweCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxNHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Byb3BlcnRpZXMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19lbnRyeSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cbiAgICAgICAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19hc2lkZSB7XG4gICAgICAgICAgICAubGlzdC1xdWFsaXR5LW1hcmtzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggcmh5dGhtKC41KSAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRhY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcHJpbnQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxufVxuIiwiLnNwZWNzLXRhYmxlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgfVxuXG4gICAgdGguaGVhZGluZyxcbiAgICB0aC50YWJsZS1oZWFkZXIsXG4gICAgLmxhYmVsIHtcbiAgICAgICAgQGV4dGVuZCAlZm9udC1ib2xkO1xuICAgICAgICBjb2xvcjogIzMzMztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNhM2JkYjU7XG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4taG92ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW4taG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGVzYyB7XG4gICAgICAgICAgICBAZXh0ZW5kICVmb250LXN0YW5kYXJkO1xuICAgICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJoeXRobSguMjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwZWNzLXRhYmxlX19oZWFkZXItLWxhYmVsLFxuICAgIC5zcGVjcy10YWJsZV9faGVhZGVyLS1hYmJyZXZpYXRpb24ge1xuICAgICAgICB0aCB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwZWNzLXRhYmxlX19oZWFkZXItLWxhYmVsIHtcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LW1lZGl1bTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcGVjcy10YWJsZV9faGVhZGVyLS1hYmJyZXZpYXRpb24ge1xuICAgICAgICB0aCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwNjk1MDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcGVjcy10YWJsZV9faGVhZGVyLS1oZWFkaW5nIHRoIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LW1lZGl1bTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogcmh5dGhtKC41KSAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgICAmLS1kb3duLFxuICAgICAgICAmLS11cCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWFycm93LWRvd24uc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBzaXplOiA4cHggOXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDlweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDdweDtcbiAgICAgICAgICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS11cCB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29uLWFycm93LXVwLnN2ZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB0Ym9keSB7XG4gICAgICAgIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1yZWd1bGFyO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIuaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggYmFja2dyb3VuZC1jb2xvciAuNHMgbGluZWFyICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYmNiO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZjdmNmI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMmY3ZjZiO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NlbGVjdC1hcnJvdy1yaWdodC5zdmcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IDRweCA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJoeXRobSgxKSAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxcHggc29saWQgI2EyYTJhMjtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCk7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1yZWd1bGFyO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9zZWxlY3QtYXJyb3cuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiA3cHggNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltYWdlcy9zZWxlY3QtYXJyb3ctcmlnaHQuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogNHB4IDdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICAuZGVzYyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9uZSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTgwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAxMHB4IDEwcHggcmdiYSggJGJsYWNrLCAwLjIgKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogNDFweDtcbiAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luIDAuMnMsIG9wYWNpdHkgMC4ycztcblxuICAgICAgICBib2R5LmhlYWRlci1oaWRkZW4gJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoICR0YWJsZXQgKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3BlY3MtdGFibGUtd3JhcHBlciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICBtYXgtaGVpZ2h0OiA1NzVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgJi5zaG93LW1vcmUtbGluazphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgNDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxODBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Nob3ctbW9yZSB7XG4gICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6IHJoeXRobSguNSkgMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTUwcHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDA2OTUwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi5zcGVjcy1kcmF3aW5ncyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuXG5cbiAgICAmX19saW5rcyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMzAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgcmh5dGhtKDEpIDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuXG4gICAgICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tYXJyb3ctcmlnaHQuc3ZnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IDdweCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnNwZWNzLWxpc3Qge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDIwcHgpO1xuICAgICAgICBAZXh0ZW5kICVmb250LWJvbGQ7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICB9XG5cbiAgICA+IHVsIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjoge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHJoeXRobSguNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogY2lyY2xlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICctJztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIGNvbHVtbi1nYXA6IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIGNvbHVtbnM6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnByb2R1Y3QtaW5zdGFsbGF0aW9uIHtcbiAgICAmX191c2FnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICB9XG5cbiAgICAmX192aWRlbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuICAgICAgICAmX19pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMjBweCk7XG4gICAgICAgIEBleHRlbmQgJWZvbnQtYm9sZDtcbiAgICAgICAgY29sb3I6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oLjUpO1xuICAgIH1cblxuICAgICZfX3RpcHMge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2hlY2stbGlzdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC11c2FnZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGVlMGRmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDNuKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIucHJvZHVjdC1kb3dubG9hZHMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNhYWFjYWI7XG5cbiAgICAmX19saW5rcyB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSl7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktbWVkaXVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFjdCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSl7XG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnByb2R1Y3QtY29tcGxlbWVudGFyeSxcbi5wcm9kdWN0LWFsdGVybmF0aXZlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzY3JlZW4tcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNjcmVlbi1wYWRkaW5nO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDIwcHgpO1xuICAgICAgICBAZXh0ZW5kICVmb250LWJvbGQ7XG4gICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcbiAgICB9XG59XG4iLCIuY2F0ZWdvcnktaW50cm8ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICBcbiAgICAmX19pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtYmV0d2Vlbikge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtYmV0d2Vlbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fc2VlLWFsc28ge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlZS1hbHNvIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IHJoeXRobSguNSkgMjBweDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgQGV4dGVuZCAlZm9udC1zZW1pYm9sZDtcbiAgICAgICAgY29sb3I6ICRncmVlbi1yZWd1bGFyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IHJoeXRobSguNSkgMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlLWluLW91dDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0cy1vdmVydmlldyB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fcHJvZHVjdHMge1xuICAgICAgICAmX19pbnRybyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE3cHgpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkN2Q3ZDc7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaWRlYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleS1tZWRpdW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1tZWRpdW07XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnJlZmVyZW5jZXMtb3ZlcnZpZXcge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX3JlZmVyZW5jZXMge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOSk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ludHJvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTdweCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q3ZDdkNztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NpZGViYXIge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmNvbnRhY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcGFkZGluZzogcmh5dGhtKDIpIDAgcmh5dGhtKDEpO1xuXG4gICAgJl9faGVhZGluZyB7XG4gICAgICAgIEBleHRlbmQgJWZvbnQtc3RhbmRhcmQ7XG4gICAgfVxufVxuXG4uZW1wbG95ZWVzIHtcbiAgICAmOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktZXh0cmFsaWdodDtcbiAgICB9XG59XG5cbi5jb250YWN0LXRvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fZGV0YWlscyB7XG4gICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgIGdyb3c6IDA7XG4gICAgICAgICAgICBzaHJpbms6IDE7XG4gICAgICAgICAgICBiYXNpczogY2FsYyggMTAwJSAvIDEyICogOCAtIDIwcHggKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fYWRkcmVzc2VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5LWV4dHJhbGlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2FkZHJlc3Mge1xuICAgICAgICAgICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgICAgICAgICAgZ3JvdzogMDtcbiAgICAgICAgICAgICAgICAgICAgc2hyaW5rOiAxO1xuICAgICAgICAgICAgICAgICAgICBiYXNpczogY2FsYyggMTAwJSAvIDIgLSAyMHB4ICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhZGRyZXNzIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21hcCB7XG4gICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgIGdyb3c6IDA7XG4gICAgICAgICAgICBzaHJpbms6IDE7XG4gICAgICAgICAgICBiYXNpczogY2FsYyggMTAwJSAvIDEyICogNCAtIDIwcHggKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiByaHl0aG0oMSk7XG5cbiAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXg6IHtcbiAgICAgICAgICAgICAgICBncm93OiAwO1xuICAgICAgICAgICAgICAgIHNocmluazogMTtcbiAgICAgICAgICAgICAgICBiYXNpczogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250YWN0LWRldGFpbHMge1xuICAgICZfX2FkZHJlc3Mge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc3VwcG9ydC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG5cbiAgICAmX190b3Age1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktcmVndWxhcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmh5dGhtKDEpO1xuICAgIH1cbn0iLCIuZG93bmxvYWRzLWZvcm0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKDIpO1xuXG5cdCZfX2NvbHVtbiB7XG5cdFx0ZmxleDogMCAxIDMxLjMzMyU7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyJTtcblx0XHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cblx0XHRoMiB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktZXh0cmFsaWdodDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByaHl0aG0oLjI1KTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuXHRcdFx0LnN1YiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHVsIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZm9vdGVyIHtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXktZXh0cmFsaWdodDtcblx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdHBhZGRpbmctdG9wOiByaHl0aG0oMSk7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cbn1cblxuLmRvd25sb2Fkcy1zZWFyY2gge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Jl9faW5wdXQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Jl9fc3VibWl0IHtcblx0XHRhcHBlYXJhbmNlOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMTBweDtcblx0XHR0b3A6IDUwJTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5kb3dubG9hZHMtb3ZlcnZpZXcge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCYgPiBmb3JtIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCZfX3NpZGViYXIge1xuXHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcblx0XHRtYXJnaW4tcmlnaHQ6IDEuOTkzNyU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMik7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cbn1cblxuLnNob3ctbW9yZS1maWx0ZXJzIHtcblx0QGV4dGVuZCAlZm9udC1zZW1pYm9sZDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tbGVmdDogMzVweDtcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JjpiZWZvcmUge1xuXHRcdGJvcmRlci10b3A6IDJweCBzb2xpZCAkZ3JlZW4tcmVndWxhcjtcblx0XHRib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkZ3JlZW4tcmVndWxhcjtcblx0XHRjb250ZW50OiAnJztcblx0XHRsZWZ0OiAwO1xuXHRcdGhlaWdodDogN3B4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDdweDtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuXHRcdHdpZHRoOiA3cHg7XG5cdH1cblxuXHQmLmxlc3M6YmVmb3JlIHtcblx0XHR0b3A6IDEwcHg7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0fVxufVxuXG4uZG93bmxvYWRzLXJlc3VsdHMge1xuXHQmX19oZWFkZXIge1xuXHRcdGJhY2tncm91bmQ6ICRncmV5LWRhcms7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblxuXHRcdHRoIHtcblx0XHRcdHBhZGRpbmc6IHJoeXRobSguNSkgMTBweDtcblx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR3aGl0ZTtcblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19yb3cge1xuXHRcdHRkIHtcblx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmV5LWV4dHJhbGlnaHQ7XG5cdFx0XHRwYWRkaW5nOiByaHl0aG0oLjUpIDEwcHg7XG5cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRcdGJhY2tncm91bmQ6ICRncmV5LWV4dHJhbGlnaHQ7XG5cblx0XHRcdHRkIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Jl9fY2hlY2tib3gge1xuXHRcdEBpbmNsdWRlIGNoZWNrYm94O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogNTBweDtcblxuXHRcdFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMmVtO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19sYWJlbCB7XG5cdFx0Jl9fdGl0bGUge1xuXHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y2xlYXI6IGJvdGg7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRncmVlbi1yZWd1bGFyO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHNwYW4ge1xuXHRcdFx0QGluY2x1ZGUgY2hhbmdlLWZvbnQtc2l6ZSgxNXB4KTtcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHR9XG5cblx0XHQmX19tZXRhIHtcblx0XHRcdEBpbmNsdWRlIGNoYW5nZS1mb250LXNpemUoMTRweCk7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQmX19kb3dubG9hZCB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiA1MHB4O1xuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAyMnB4O1xuXHRcdH1cblx0fVxufSIsIi5tYXRlcmlhbC1saXN0IHtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktZXh0cmFsaWdodDtcblxuXHR0aGVhZCB7XG5cdFx0dHIge1xuXHRcdFx0YmFja2dyb3VuZDogJGdyZXktZGFyaztcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cblx0XHRcdHRoIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHdoaXRlO1xuXHRcdFx0XHRwYWRkaW5nOiByaHl0aG0oLjUpIDE1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0dGJvZHkge1xuXHRcdHRyIHtcblx0XHRcdHRkIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyZXktZXh0cmFsaWdodDtcblx0XHRcdFx0cGFkZGluZzogcmh5dGhtKC41KSAxNXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmV5LWV4dHJhbGlnaHQ7XG5cblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC50ZXh0IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0LmNlbGwge1xuXHRcdCYtY2hlY2sge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDUwcHg7XG5cblx0XHRcdGxhYmVsIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxZW0gIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji1wcm9kdWN0LFxuXHRcdCYtZGV0YWlscyB7XG5cdFx0XHRhIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQmLWRldGFpbHMge1xuXHRcdFx0d2lkdGg6IDUwJTtcblxuXHRcdFx0LnNwZWNzLWxpc3Qge1xuXHRcdFx0XHRjb2x1bW5zOiAzO1xuXHRcdFx0XHRjb2x1bW4tcnVsZTogMXB4IHNvbGlkICRncmV5LWxpZ2h0O1xuXHRcdFx0XHRmb250LXNpemU6IC45ZW07XG5cdFx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0XHQubGFiZWwge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHR3aWR0aDogODBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQmLWFtb3VudCB7XG5cdFx0XHR3aWR0aDogMTAwcHg7XG5cblx0XHRcdGlucHV0IHtcblx0XHRcdFx0bWF4LXdpZHRoOiA4MHB4O1xuXHRcdFx0XHRwYWRkaW5nOiByaHl0aG0oLjI1KSA1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYtcmVtb3ZlIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHdpZHRoOiA1MHB4O1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0ZXh0LWluZGVudDogLTk5OWVtO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkZ3JleS1kYXJrO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRoZWlnaHQ6IDRweDtcblx0XHRcdFx0XHRsZWZ0OiAtOHB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDtcblx0XHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGxlZnQ6IC01cHg7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHN2ZyB7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0d2lkdGg6IDE0cHg7XG5cblx0XHRcdFx0ZyB7XG5cdFx0XHRcdFx0ZmlsbDogJGdyZWVuLXJlZ3VsYXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLm1hdGVyaWFsLWxpc3QtbWluaSB7XG5cdGJhY2tncm91bmQ6ICRncmVlbi1yZWd1bGFyO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IDNweCAzcHggMTBweCAwIHJnYmEoMCwwLDAsMC4zKTtcblx0Ym90dG9tOiAxMHB4O1xuXHRjb2xvcjogJHdoaXRlO1xuXHRkaXNwbGF5OiBub25lO1xuXHRyaWdodDogJHNjcmVlbi1wYWRkaW5nO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHdpZHRoOiBhdXRvO1xuXHRtaW4td2lkdGg6IDMwMHB4O1xuXHR6LWluZGV4OiA4OTtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAoIG1heC13aWR0aDogMzAwcHggKSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cblxuXHQmX19oZWFkaW5nIHtcblx0XHRAaW5jbHVkZSBjaGFuZ2UtZm9udC1zaXplKDE2cHgpO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdHBhZGRpbmc6IHJoeXRobSguNSkgMTBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0LmNvdW50IHtcblx0XHRcdGJhY2tncm91bmQ6ICRncmV5LWV4dHJhbGlnaHQ7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRjb2xvcjogJGdyZWVuLXJlZ3VsYXI7XG5cdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdHdpZHRoOiAzMHB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG5cdFx0XHRnIHtcblx0XHRcdFx0ZmlsbDogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLXRvcDogM3B4IHNvbGlkICR3aGl0ZTtcblx0XHRcdGJvcmRlci1yaWdodDogM3B4IHNvbGlkICR3aGl0ZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0aGVpZ2h0OiAxMnB4O1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdHdpZHRoOiAxMnB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0fVxuXG5cdFx0Ji5hY3RpdmU6YWZ0ZXIge1xuXHRcdFx0dG9wOiAxM3B4O1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcblx0XHR9XG5cdH1cblxuXHQmX19saXN0IHtcblx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG5cdFx0bWF4LWhlaWdodDogMzUwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cblx0XHQmX19pdGVtIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG5cdFx0XHRwYWRkaW5nOiByaHl0aG0oLjI1KSAzMHB4IHJoeXRobSguMjUpIDA7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdHN0cm9uZyB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXG5cdFx0XHQuY2xvc2Uge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHR0b3A6IHJoeXRobSguNzUpO1xuXHRcdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdHdpZHRoOiAxNnB4O1xuXG5cdFx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0JjpiZWZvcmUsXG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3NoYWRlIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsMTA1LDgwLDEpIDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW4tdG9wOiAtMzJweDtcblx0fVxuXG5cdCZfX2Zvb3RlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdHBhZGRpbmc6IDAgMTVweCByaHl0aG0oLjI1KSAxNXB4O1xuXHR9XG5cblx0Jl9fYWN0aW9uIHtcblx0XHRmb250LXNpemU6IC45ZW07XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cbn1cblxuLm1hdGVyaWFsLWFjdGlvbnMge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiAkZ3JleS1leHRyYWxpZ2h0O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblx0cGFkZGluZzogcmh5dGhtKC43NSkgMjBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0fVxuXG5cdCZfX2xhYmVsIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmX19idXR0b25zIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdCZfX2J1dHRvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkZ3JlZW4tcmVndWxhcjtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiByaHl0aG0oLjI1KSAxMHB4O1xuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbGFuZHNjYXBlKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRncmVlbi1ob3Zlcjtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdH1cblxuXHRcdFx0Ji0tZW1haWwge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR9XG5cblx0XHRcdCYtLXByaW50LFxuXHRcdFx0Ji0tZXhjZWwge1xuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLWxhbmRzY2FwZSkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5kaXNhYmxlZCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRncmV5LWRhcms7XG5cdFx0XHRcdGNvbG9yOiAkZ3JleS1leHRyYWxpZ2h0O1xuXHRcdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmVtYWlsLWZvcm0ge1xuXHRcdFx0YmFja2dyb3VuZDogJGdyZXktZXh0cmFsaWdodDtcblx0XHRcdGJveC1zaGFkb3c6IDJweCAycHggMTBweCAtNXB4IHJnYmEoMCwwLDAsMC4zKTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0anVzdGlmeS1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGxlZnQ6IC0yMHB4O1xuXHRcdFx0cGFkZGluZzogcmh5dGhtKC41KSAyMHB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiBjYWxjKDEwMCUgKyAxNHB4KTtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UgLjE1cztcblxuXHRcdFx0Ji0tdmlzaWJsZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19jb250YWluZXIge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0fVxuXG5cdFx0XHRpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnByb2plY3QtaW5mbyB7XG5cdG1hcmdpbi1ib3R0b206IHJoeXRobSgxKTtcblxuXHQmX19pdGVtIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0XHR9XG5cdH1cbn1cbiIsIi5wYWdlLXRlbXBsYXRlLXRwbC1jb21wYXJpc29uIHtcblx0LnBhZ2UtdGl0bGUge1xuXHRcdG1hcmdpbi1ib3R0b206IHJoeXRobSguNSk7XG5cdH1cbn1cblxuLmNvbXBhcmlzb24taGVhZCB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuXHRtYXJnaW4tYm90dG9tOiByaHl0aG0oMSk7XG5cblx0cCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmh5dGhtKC41KTtcblx0fVxufVxuXG5cbi5jb21wYXJpc29uLXRhYmxlLXdyYXBwZXIge1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRtYXJnaW4tbGVmdDogMjAwcHg7XG5cdG1hcmdpbi1ib3R0b206IHJoeXRobSgyKTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDExMHB4O1xuXHR9XG59XG5cbi5jb21wYXJpc29uLXRhYmxlIHtcblx0bWFyZ2luOiAwO1xuXG5cdCZfX2hlYWRpbmcge1xuXHRcdG1pbi13aWR0aDogMjAwcHg7XG5cdFx0cGFkZGluZzogcmh5dGhtKC41KSAyMHB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMjAwcHg7XG5cdFx0bGVmdDogMDtcblx0XHR0b3A6IGF1dG87XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblx0XHRcdG1pbi13aWR0aDogMTI1cHg7XG5cdFx0XHR3aWR0aDogMTI1cHg7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRsZWZ0OiAxMHB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuXHRcdH1cblx0fVxuXG5cdCZfX2NlbGwge1xuXHRcdGJvcmRlci1sZWZ0OiAycHggc29saWQgJGJsYWNrO1xuXHRcdG1pbi13aWR0aDogMjQwcHg7XG5cdFx0cGFkZGluZzogcmh5dGhtKC41KSAyMHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXHRcdFx0bWluLXdpZHRoOiAxNzVweDtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleS1leHRyYWxpZ2h0O1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRsZWZ0OiAxMHB4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG5cdFx0fVxuXG5cdFx0Ji0taW1hZ2Uge1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0ZmlndXJlIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXHRcdFx0aW1nIHtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGdyZXktZXh0cmFsaWdodDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji0tdGl0bGUge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyNXB4O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0LmNvbXBhcmlzb24tcmVtb3ZlIHtcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHRleHQtaW5kZW50OiAtOTk5ZW07XG5cdFx0XHRcdHRvcDogOHB4O1xuXHRcdFx0XHR3aWR0aDogMzBweDtcblxuXHRcdFx0XHQmOmJlZm9yZSxcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzcHg7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRsZWZ0OiAycHg7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0JjpiZWZvcmUsXG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb2xvcjogZGFya2VuKCAkcmVkLCAxNSUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3JvdyB7XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHR0ZCB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOm50aC1jaGlsZCgtbisxKSB7XG5cdFx0XHR0aDphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHR3aWR0aDogOTAlO1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnRleHQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuI2NvbXBhcmlzb24tdGFibGUtbG9hZGluZyB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cblxuQGltcG9ydCBcInNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIENvbnRlbnRzOlxuLy9cbi8vIDEuIEdlbmVyYWwgc3R5bGVzXG4vLyAgICAtIFRyYW5zbHVzY2VudCBvdmVybGF5XG4vLyAgICAtIENvbnRhaW5lcnMsIHdyYXBwZXJzXG4vLyAgICAtIEN1cnNvcnNcbi8vICAgIC0gSGVscGVyIGNsYXNzZXNcbi8vIDIuIEFwcGVhcmFuY2Vcbi8vICAgIC0gUHJlbG9hZGVyICYgdGV4dCB0aGF0IGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzXG4vLyAgICAtIENTUyByZXNldCBmb3IgYnV0dG9uc1xuLy8gICAgLSBDbG9zZSBpY29uXG4vLyAgICAtIFwiMSBvZiBYXCIgY291bnRlclxuLy8gICAgLSBOYXZpZ2F0aW9uIChsZWZ0L3JpZ2h0KSBhcnJvd3Ncbi8vICAgIC0gSWZyYW1lIGNvbnRlbnQgdHlwZSBzdHlsZXNcbi8vICAgIC0gSW1hZ2UgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBNZWRpYSBxdWVyeSB3aGVyZSBzaXplIG9mIGFycm93cyBpcyByZWR1Y2VkXG4vLyAgICAtIElFNyBzdXBwb3J0XG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIDEuIEdlbmVyYWwgc3R5bGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi5tZnAtYmcge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbWZwLW92ZXJsYXktY29sb3I7XG4gICAgb3BhY2l0eTogJG1mcC1vdmVybGF5LW9wYWNpdHk7XG59XG5cbi8vIFdyYXBwZXIgZm9yIHBvcHVwXG4ubWZwLXdyYXAge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDM7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLy8gZml4ZXMgd2Via2l0IGJ1ZyB0aGF0IGNhbiBjYXVzZSBcImZhbHNlXCIgc2Nyb2xsYmFyXG59XG5cbi8vIFJvb3QgY29udGFpbmVyXG4ubWZwLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMCAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBWZXJ0aWNhbCBjZW50ZXJlciBoZWxwZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cbi8vIFJlbW92ZSB2ZXJ0aWNhbCBjZW50ZXJpbmcgd2hlbiBwb3B1cCBoYXMgY2xhc3MgYG1mcC1hbGlnbi10b3BgXG4ubWZwLWFsaWduLXRvcCB7XG4gICAgLm1mcC1jb250YWluZXIge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBQb3B1cCBjb250ZW50IGhvbGRlclxuLm1mcC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDU7XG59XG4ubWZwLWlubGluZS1ob2xkZXIsXG4ubWZwLWFqYXgtaG9sZGVyIHtcbiAgICAubWZwLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgIH1cbn1cblxuLy8gQ3Vyc29yc1xuLm1mcC1hamF4LWN1ciB7XG4gICAgY3Vyc29yOiBwcm9ncmVzcztcbn1cbi5tZnAtem9vbS1vdXQtY3VyIHtcbiAgICAmLCAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xuICAgICAgICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gICAgICAgIGN1cnNvcjogem9vbS1vdXQ7XG4gICAgfVxufVxuLm1mcC16b29tIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gICAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gICAgY3Vyc29yOiB6b29tLWluO1xufVxuLm1mcC1hdXRvLWN1cnNvciB7XG4gICAgLm1mcC1jb250ZW50IHtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgIH1cbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vIEhpZGUgdGhlIGltYWdlIGR1cmluZyB0aGUgbG9hZGluZ1xuLm1mcC1sb2FkaW5nIHtcbiAgICAmLm1mcC1maWd1cmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gSGVscGVyIGNsYXNzIHRoYXQgaGlkZXMgc3R1ZmZcbkBpZiAkbWZwLXVzZS12aXN1YWxseWhpZGRlbiB7XG4gICAgLy8gRnJvbSBIVE1MNSBCb2lsZXJwbGF0ZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL3Y0LjIuMC9kb2MvY3NzLm1kI3Zpc3VhbGx5aGlkZGVuXG4gICAgLm1mcC1oaWRlIHtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIH1cbn0gQGVsc2Uge1xuICAgIC5tZnAtaGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAyLiBBcHBlYXJhbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gUHJlbG9hZGVyIGFuZCB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi5tZnAtcHJlbG9hZGVyIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICAgIGxlZnQ6IDhweDtcbiAgICByaWdodDogOHB4O1xuICAgIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNDtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBIaWRlIHByZWxvYWRlciB3aGVuIGNvbnRlbnQgc3VjY2Vzc2Z1bGx5IGxvYWRlZFxuLm1mcC1zLXJlYWR5IHtcbiAgICAubWZwLXByZWxvYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBIaWRlIGNvbnRlbnQgd2hlbiBpdCB3YXMgbm90IGxvYWRlZFxuLm1mcC1zLWVycm9yIHtcbiAgICAubWZwLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gQ1NTLXJlc2V0IGZvciBidXR0b25zXG5idXR0b24ge1xuICAgICYubWZwLWNsb3NlLFxuICAgICYubWZwLWFycm93IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA2O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB9XG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMFxuICAgIH1cbn1cblxuXG4vLyBDbG9zZSBpY29uXG4ubWZwLWNsb3NlIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogJG1mcC1jb250cm9scy1vcGFjaXR5O1xuICAgIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7XG4gICAgY29sb3I6ICRtZnAtY29udHJvbHMtY29sb3I7XG5cbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgICB0b3A6IDFweDtcbiAgICB9XG59XG4ubWZwLWNsb3NlLWJ0bi1pbiB7XG4gICAgLm1mcC1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAkbWZwLWlubmVyLWNsb3NlLWljb24tY29sb3I7XG4gICAgfVxufVxuLm1mcC1pbWFnZS1ob2xkZXIsXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICAgIC5tZnAtY2xvc2Uge1xuICAgICAgICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLy8gXCIxIG9mIFhcIiBjb3VudGVyXG4ubWZwLWNvdW50ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gTmF2aWdhdGlvbiBhcnJvd3NcbkBpZiAkbWZwLWluY2x1ZGUtYXJyb3dzIHtcbiAgICAubWZwLWFycm93IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBvcGFjaXR5OiAkbWZwLWNvbnRyb2xzLW9wYWNpdHk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC01NXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNTRweDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICAgICAgICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG5cbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgdG9wOjhweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubWZwLWFycm93LWxlZnQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMxcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzOXB4XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuXG4vLyBJZnJhbWUgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlIHtcbiAgICAubWZwLWlmcmFtZS1ob2xkZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcGFkZGluZy10b3A7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDtcbiAgICAgICAgLm1mcC1jb250ZW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRtZnAtaWZyYW1lLW1heC13aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy10b3A6ICRtZnAtaWZyYW1lLXJhdGlvICogMTAwJTtcbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJG1mcC1zaGFkb3c7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWZwLWlmcmFtZS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gSW1hZ2UgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWltYWdlLXR5cGUge1xuXG4gICAgLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuICAgIGltZyB7XG4gICAgICAgICYubWZwLWltZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgcGFkZGluZzogJG1mcC1pbWFnZS1wYWRkaW5nLXRvcCAwICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDc1dmg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cbiAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDtcbiAgICAgICAgICAgIGJvdHRvbTogJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJG1mcC1zaGFkb3c7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWZwLWltYWdlLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgY29sb3I6ICRtZnAtY2FwdGlvbi1zdWJ0aXRsZS1jb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWZwLWJvdHRvbS1iYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAtJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbSArIDQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgIH1cbiAgICAubWZwLXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tdGl0bGUtY29sb3I7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzZweDsgLy8gbGVhdmUgc29tZSBzcGFjZSBmb3IgY291bnRlciBhdCByaWdodCBzaWRlXG4gICAgfVxuXG4gICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAubWZwLWNvbnRlbnQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1mcC1nYWxsZXJ5IHtcbiAgICAgICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgICAgLm1mcC1maWd1cmUge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQGlmICRtZnAtaW5jbHVkZS1tb2JpbGUtbGF5b3V0LWZvci1pbWFnZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgLm1mcC1pbWctbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgJi5tZnAtaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLm1mcC1maWd1cmUge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2VcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubWZwLWJvdHRvbS1iYXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgJjplbXB0eSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5tZnAtY291bnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLy8gU2NhbGUgbmF2aWdhdGlvbiBhcnJvd3MgYW5kIHJlZHVjZSBwYWRkaW5nIGZyb20gc2lkZXNcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLm1mcC1hcnJvdyB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB9XG4gICAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIH1cbiAgICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIH1cbiAgICAubWZwLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQtbW9iaWxlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG4gICAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgIFNldHRpbmdzICAgICAgLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBvdmVybGF5XG4kbWZwLW92ZXJsYXktY29sb3I6ICAgICAgICAgICAgICAgICAgICMwYjBiMGIgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1vdmVybGF5LW9wYWNpdHk6ICAgICAgICAgICAgICAgICAwLjggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDsgLy8gU2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuXG4vLyBzcGFjaW5nXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgIDhweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICAxMDQwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFzZSB6LWluZGV4IG9mIHBvcHVwXG5cbi8vIGNvbnRyb2xzXG4kbWZwLWluY2x1ZGUtYXJyb3dzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNsdWRlIHN0eWxlcyBmb3IgbmF2IGFycm93c1xuJG1mcC1jb250cm9scy1vcGFjaXR5OiAgICAgICAgICAgICAgICAwLjY1ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1jb2xvcjogICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY29udHJvbHNcbiRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIzNGM0YzRiAhZGVmYXVsdDsgXHQgICAgICAgICAgICAgICAgIC8vIEJvcmRlciBjb2xvciBvZiBjb250cm9sc1xuJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY2xvc2UgYnV0dG9uIHdoZW4gaW5zaWRlXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3I6ICAgICAgICAgICAgICNDQ0MgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI6ICAgICAgICNGRkYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3ZlciBjb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG5cbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZTogICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJZnJhbWUtdHlwZSBwb3B1cHNcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIElmcmFtZSBwYWRkaW5nIHRvcFxuJG1mcC1pZnJhbWUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFja2dyb3VuZCBjb2xvciBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyBNYXhpbXVtIHdpZHRoIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLXJhdGlvOiAgICAgICAgICAgICAgICAgICAgOS8xNiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJhdGlvIG9mIGlmcmFtZSAoOS8xNiA9IHdpZGVzY3JlZW4sIDMvNCA9IHN0YW5kYXJkLCBldGMuKVxuXG4vLyBJbWFnZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pbWFnZS10eXBlOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJbWFnZS10eXBlIHBvcHVwc1xuJG1mcC1pbWFnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyB0b3BcbiRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgYm90dG9tXG4kbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2U6IHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmVzIHBhZGRpbmdzIGZyb20gdG9wIGFuZCBib3R0b21cblxuLy8gSW1hZ2UgY2FwdGlvbiBvcHRpb25zXG4kbWZwLWNhcHRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICNGM0YzRjMgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHRpdGxlIGNvbG9yXG4kbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I6ICAgICAgICAgICNCREJEQkQgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHN1YnRpdGxlIGNvbG9yXG5cbi8vIEExMXlcbiRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIC8vIEhpZGUgY29udGVudCBmcm9tIGJyb3dzZXJzLCBidXQgbWFrZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG4iXX0= */
