@layer compound-tokens, compound-web, shared-components, app-web;
@layer compound-tokens, compound-web, shared-components, app-web;
@layer compound-tokens{
@layer cpd-semantic, custom, cpd-base;
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * SCSS variables defining a range of font sizes.
 *
 * These are defined in `rem` so that they scale with the `font-size` of the root element (which is adjustable via the
 * "Font size" setting). They exist to make the job of converting designs (which tend to be based in pixels) into CSS
 * easier.
 */

/*
 * These variables are now *deprecated* and should not be used in new code; instead Compound typographic tokens
 * should be used. Direct equivalents for these old font size tokens are listed below; where no equivalent exists,
 * that suggests that the design is using a non-standard font size and should be updated.
 *
 * In fact, modern Figma designs should actually use a named Typography style such as "Web/font/heading/sm/semibold",
 * translates directly to `font: var(--cpd-font-heading-sm-semibold)`.
 */ /* Compound equivalent: --cpd-font-size-body-xs */ /* Compound equivalent: --cpd-font-size-body-sm */ /* Compound equivalent: --cpd-font-size-body-md */ /* Compound equivalent: --cpd-font-size-body-lg */ /* Compound equivalent: --cpd-font-size-heading-sm */ /* Compound equivalent: --cpd-font-size-heading-md */ /* Compound equivalent: --cpd-font-size-heading-lg */ /* Compound equivalent: --cpd-font-size-heading-xl */
}
@layer app-web{

/* the 'src' links are relative to the bundle.css, which is in a subdirectory.
 */

/* Twemoji COLR */
@font-face {
    font-family: "Twemoji";
    font-weight: 400;
    src: url(../../fonts/Twemoji_Mozilla/TwemojiMozilla-colr.666a113.woff2) format("woff2");
}
/* For at least Chrome on Windows 10, we have to explictly add extra weights for the emoji to appear in bold messages, etc. */
@font-face {
    font-family: "Twemoji";
    font-weight: 600;
    src: url(../../fonts/Twemoji_Mozilla/TwemojiMozilla-colr.666a113.woff2) format("woff2");
}
@font-face {
    font-family: "Twemoji";
    font-weight: 700;
    src: url(../../fonts/Twemoji_Mozilla/TwemojiMozilla-colr.666a113.woff2) format("woff2");
}
}
@layer app-web{

:root {
    /* This is set to Twemoji when the user opts into the bundled emoji font */
    --emoji-font-family: "";
}

/* Nunito and Inter lacks combining diacritics, so these will fall through
   to the next font. Helevetica's diacritics sometimes do not combine
   nicely (on OSX, at least) and result in a huge horizontal mess.
   Arial empirically gets it right, hence prioritising Arial here. */
/* Noto Color Emoji contains digits, in fixed-width, therefore causing
   digits in flowed text to stand out.
   TODO: Consider putting all emoji fonts to the end rather than the front. */

/* Colors from Figma Compound https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed/Compound?node-id=559%3A120 */
/* ******************** */
/* ******************** */

/**
 * Creating a `semantic` color scale. This will not be needed with the new
 * visual language, but necessary during the transition period
 * This abstract the `green` away from where accent shades are used
 * Take: `background: rgba($accent, 0.1);`
 * would be transformed to: `background: $accent-300;`
 *
 * To use under very rare circumstances, always prefer the semantics defined
 * in https://compound.element.io/?path=/docs/tokens-semantic-colors--docs
 */

/* Reused Figma non-compound colors */
/* ******************** */
/* ******************** */

/* Theme specific colors */
/* ******************** */
/* ******************** */

/* Colors that aren't in Figma and are theme specific - we need to get rid of these */
/* ******************** */
/* ******************** */

/* Colors that aren't in Figma - we need to get rid of these */
/* ******************** */
/* ******************** */

/* Blockquote */
/* ******************** */
/* ******************** */

/* Tooltip */
/* ******************** */
/* ******************** */

/* Widget */
/* ******************** */
/* ******************** */

/* Menu */
/* ******************** */
/* ******************** */

/* Settings */
/* ******************** */
/* ******************** */

/* Room */
/* ******************** */
/* ******************** */

/* RoomHeader */
/* ******************** */
/* ******************** */

/* Rich-text-editor */
/* ******************** */
/* ******************** */

/* Presence */
/* ******************** */
/* not using a compound color here for now as we want to have the same color in
   light and dark theme. Until we have a non-symetrical token for it, let's keep
   it hardcoded to the following value */
/* ******************** */

/* Inputs */
/* ******************** */
/* ******************** */

/* Dialog */
/* ******************** */
/* ******************** */

/* ImageBody */
/* ******************** */
/* ******************** */

/* RoomList */
/* ******************** */
/* ******************** */

/* e2e */
/* ******************** */
/* ******************** */

/* Tabbed views */
/* ******************** */
/* ******************** */

/* Buttons */
/* ******************** */ /* TODO: Verify color */
/* ******************** */

/* Toggle switch */
/* ******************** */
/* ******************** */

/* Authpage */
/* ******************** */
/* background colour of the modal, when the background is blurred */
/* ******************** */

/* Message action bar */
/* ******************** */
/* ******************** */

/* Reaction row */
/* ******************** */
/* ******************** */

/* Voice messages */
/* ******************** */
/* These two don't change between themes. They are the $alert, but we don't want */
/* custom themes to affect them by accident. */
/* ******************** */

/* Bubble tiles */
/* ******************** */
/* ******************** */

/* Lightbox */
/* ******************** */
/* not using a compound color here for now as we want to have the same color in
   light and dark theme. Until we have a non-symetrical token for it, let's keep
   it hardcoded to the following value */
/* ******************** */

/* VoIP */
/* ******************** */ /* XXX: Color from dark theme */

/* All of these are from dark theme */
/* This one is from light theme */
/* ******************** */

/* One-off colors */
/* ******************** */
/* ******************** */

/* One-off global colors - these apply to both themes */
/* ******************** */
/* ******************** */

/* blur amounts for left left panel (only for element theme) */
/* ******************** */
:root {
    --lp-background-blur: 40px;
}

/* ******************** */

/* Location sharing */
/* ******************** */
/* ******************** */

body {
    color-scheme: light;
}

/* ******************** */

/* diff highlight colors */
/* ******************** */
.hljs-addition {
    background: #2e80de;
    background: var(--cpd-color-green-500);
}

.hljs-deletion {
    background: var(--cpd-color-red-500);
}

/* ******************** */
}
@layer app-web{
/* Reference: https://www.figma.com/file/RnLKnv09glhxGIZtn8zfmh/UI-Themes-%26-Accessibility?node-id=321%3A65847 */
/* not using a compound color here for now as we want to have the same color in
   light and dark theme. Until we have a non-symetrical token for it, let's keep
   it hardcoded to the following value */

/**
 * Creating a `semantic` color scale. This will not be needed with the new
 * visual language, but necessary during the transition period
 * This abstract the `green` away from where accent shades are used
 * Take: `background: rgba($accent, 0.1);`
 * would be transformed to: `background: $accent-300;`
 *
 * To use under very rare circumstances, always prefer the semantics defined
 * in https://compound.element.io/?path=/docs/tokens-semantic-colors--docs
 */

/* Draw an outline on buttons with focus */
.mx_AccessibleButton:focus {
    outline: 2px solid #2e80de;
    outline: 2px solid var(--cpd-color-text-action-accent);
    outline-offset: 2px;
}

.mx_BasicMessageComposer .mx_BasicMessageComposer_inputEmpty > :first-child::before {
    color: var(--cpd-color-text-secondary);
    opacity: 1 !important;
}

.mx_TextualEvent {
    color: var(--cpd-color-text-secondary);
    opacity: 1 !important;
}
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-webkit-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-webkit-input-placeholder, .mx_Dialog .mx_textinput input::-webkit-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-webkit-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-webkit-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-webkit-input-placeholder {
        color: var(--cpd-color-text-secondary) !important;
    }
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-moz-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-moz-placeholder, .mx_Dialog .mx_textinput input::-moz-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-moz-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-moz-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-moz-placeholder {
        color: var(--cpd-color-text-secondary) !important;
    }
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]:-ms-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]:-ms-input-placeholder, .mx_Dialog .mx_textinput input:-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]:-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]:-ms-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input:-ms-input-placeholder {
        color: var(--cpd-color-text-secondary) !important;
    }
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-ms-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-ms-input-placeholder, .mx_Dialog .mx_textinput input::-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-ms-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-ms-input-placeholder {
        color: var(--cpd-color-text-secondary) !important;
    }
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::placeholder,
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::placeholder,
    .mx_Dialog .mx_textinput input::placeholder,
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::placeholder,
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::placeholder,
    .mx_MatrixChat_wrapper .mx_textinput input::placeholder {
        color: var(--cpd-color-text-secondary) !important;
    }

.mx_ThemeChoicePanel_themeSelectors > .mx_StyledRadioButton input[type="radio"]:disabled + div {
    border-color: #ffffff;
    border-color: var(--cpd-color-text-primary);
}

.mx_ThemeChoicePanel_themeSelectors > .mx_StyledRadioButton.mx_StyledRadioButton_disabled {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}
            .mx_RoomSearch.mx_RoomSearch_focused .mx_RoomSearch_clearButton::before, .mx_RoomSearch.mx_RoomSearch_hasQuery .mx_RoomSearch_clearButton::before {
                background-color: var(--cpd-color-bg-canvas-default) !important;
            }
            .mx_PollCreateDialog .mx_PollCreateDialog_option .mx_PollCreateDialog_removeOption::before {
                background-color: var(--cpd-color-bg-canvas-default) !important;
            }

.mx_Dialog_buttons button.mx_LocationPicker_cancelButton::before {
    background-color: var(--cpd-color-bg-canvas-default) !important;
}
        .mx_SpotlightDialog_wrapper .mx_Dialog #mx_SpotlightDialog_keyboardPrompt kbd {
            color: var(--cpd-color-bg-canvas-default) !important;
        }
        .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter {
            color: var(--cpd-color-bg-canvas-default) !important;
        }
            .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter::before {
                background-color: var(--cpd-color-bg-canvas-default) !important;
            }
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option:hover,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option[aria-selected="true"] {
                    color: var(--cpd-color-bg-canvas-default) !important;
                }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option:hover .mx_DecoratedRoomAvatar_icon::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option[aria-selected="true"] .mx_DecoratedRoomAvatar_icon::before {
                        background-color: var(--cpd-color-bg-canvas-default) !important;
                    }
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"],
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"],
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"],
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] {
                    background-color: var(--cpd-color-gray-400) !important;
                    color: var(--cpd-color-bg-canvas-default) !important;
                }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] svg {
                        color: var(--cpd-color-bg-canvas-default) !important;
                    }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_DecoratedRoomAvatar_icon::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_DecoratedRoomAvatar_icon::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_DecoratedRoomAvatar_icon::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_DecoratedRoomAvatar_icon::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_DecoratedRoomAvatar_icon::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_DecoratedRoomAvatar_icon::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_DecoratedRoomAvatar_icon::before, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_DecoratedRoomAvatar_icon::before {
                        background-color: var(--cpd-color-bg-canvas-default) !important;
                    }
                            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName {
                                color: var(--cpd-color-bg-canvas-default);
                            }
                            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias {
                                color: var(--cpd-color-bg-canvas-default);
                            }
                        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription {
                            color: var(--cpd-color-bg-canvas-default);
                        }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_NotificationBadge {
                        background-color: var(--cpd-color-bg-canvas-default) !important;
                    }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_details, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_details, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_details, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_details, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_details, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_details, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_result_details, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_result_details {
                        color: var(--cpd-color-bg-canvas-default) !important;
                    }
        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_enterPrompt {
            background-color: var(--cpd-color-bg-canvas-default) !important;
        }

.mx_GenericDropdownMenu_button:hover,
.mx_GenericDropdownMenu_button[aria-expanded="true"] {
    color: var(--cpd-color-bg-canvas-default) !important;
}
            .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item:hover {
                background-color: var(--cpd-color-gray-400) !important;
                color: var(--cpd-color-bg-canvas-default) !important;
            }

                .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item:hover[aria-checked="true"]::before {
                    background-color: var(--cpd-color-bg-canvas-default) !important;
                }
                    .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item:hover > .mx_GenericDropdownMenu_Option--label span:first-child {
                        color: var(--cpd-color-bg-canvas-default) !important;
                    }

.mx_NetworkDropdown_removeServer::before {
    background-color: var(--cpd-color-bg-canvas-default) !important;
}
}
@layer app-web{

/* sidebar blurred avatar background */

/* if backdrop-filter is supported, */
/* set the user avatar (if any) as a background so */
/* it can be blurred by the tag panel and room list */

.mx_RoomSublist_showNButton {
    background-color: transparent !important;
}

/*
    data-kind is used by the Compound <Link> component and therefore does not override them.
    This is horrible, but will get less horrible when links in the app are replaced with
    <Link>.
*/
    a:not([data-kind]):hover,
    a:not([data-kind]):link,
    a:not([data-kind]):visited {
        text-decoration: none;
    }
}
@layer app-web{
/* autogenerated by rethemendex.sh */
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/**
 * React Transition Group animations are prefixed with 'mx_rtg--' so that we
 * know they should not be used anywhere outside of React Transition Groups.
*/

.mx_rtg--fade-enter {
    opacity: 0;
}
.mx_rtg--fade-enter-active {
    opacity: 1;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
}
.mx_rtg--fade-exit {
    opacity: 1;
}
.mx_rtg--fade-exit-active {
    opacity: 0;
    -webkit-transition: opacity 300ms ease;
    transition: opacity 300ms ease;
}

:root {
    --hover-transition: 0.08s cubic-bezier(0.46, 0.03, 0.52, 0.96); /* quadratic */
}

@-webkit-keyframes mx--anim-pulse {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        opacity: 1;
    }
}

@keyframes mx--anim-pulse {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes mx_Dialog_lightbox_background_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.95;
    }
}

@keyframes mx_Dialog_lightbox_background_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.95;
    }
}

@-webkit-keyframes mx_ImageView_panel_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes mx_ImageView_panel_keyframes {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@media (prefers-reduced-motion) {
    @-webkit-keyframes mx--anim-pulse {
        /* Override all keyframes in reduced-motion */
    }
    @keyframes mx--anim-pulse {
        /* Override all keyframes in reduced-motion */
    }

    @-webkit-keyframes mx_Dialog_lightbox_background_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    @keyframes mx_Dialog_lightbox_background_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    @-webkit-keyframes mx_ImageView_panel_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    @keyframes mx_ImageView_panel_keyframes {
        /* Override all keyframes in reduced-motion */
    }

    .mx_rtg--fade-enter-active {
        -webkit-transition: none;
        transition: none;
    }
    .mx_rtg--fade-exit-active {
        -webkit-transition: none;
        transition: none;
    }
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2023 The Matrix.org Foundation C.I.C
Copyright 2017-2019 New Vector Ltd
Copyright 2017 Vector Creations Ltd
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* SCSS variables representing a range of standard lengths.
 *
 * Avoid using these in new code: we cannot adjust their values without causing massive confusion, so they are
 * effectively equivalent to using hardcoded values.
 *
 * In future, we plan to introduce variables named according to their purpose rather than their size. Additionally,
 * we want switch to custom CSS properties (https://github.com/vector-im/element-web/issues/21656), so we might have
 * `--spacing-standard` or something. For now, you might as well use hardcoded px values for lengths (except for font
 * sizes, for which see the `$font-<N>px` variables).
 */
}
@layer app-web{
.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:-webkit-full-screen{height:100%;width:100%}.maplibregl-map:-ms-fullscreen{height:100%;width:100%}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{-ms-touch-action:none;touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:-webkit-grabbing;cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{-ms-touch-action:pinch-zoom;touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{-ms-touch-action:none;touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;-webkit-transform:translate(0);transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){-webkit-box-shadow:0 0 0 2px rgba(0,0,0,.1);box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){-webkit-box-shadow:0 0 0 2px ButtonText;box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{-webkit-box-shadow:0 0 2px 2px #0096ff;box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-group button:focus:focus-visible{-webkit-box-shadow:0 0 2px 2px #0096ff;box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){-webkit-box-shadow:none;box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{-webkit-animation:maplibregl-spin 2s linear infinite;animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@-webkit-keyframes maplibregl-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes maplibregl-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;-webkit-box-sizing:content-box;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;-webkit-box-sizing:border-box;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:-webkit-box;display:-ms-flexbox;display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.maplibregl-popup-anchor-left{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.maplibregl-popup-anchor-right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{-ms-flex-item-align:start;align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{-ms-flex-item-align:end;align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{-ms-flex-item-align:start;align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{-ms-flex-item-align:end;align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{-ms-flex-item-align:center;align-self:center;border-left-color:#fff;border-right:none}[dir=rtl] .maplibregl-popup-anchor-left{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{-ms-flex-item-align:end;align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{-ms-flex-item-align:start;align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{-ms-flex-item-align:end;align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{-ms-flex-item-align:start;align-self:flex-start}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.maplibregl-popup-content{background:#fff;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:-webkit-box;display:-ms-flexbox;display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;-webkit-transition:opacity .2s;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{-webkit-animation:maplibregl-user-location-dot-pulse 2s infinite;animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;-webkit-box-shadow:0 0 3px rgba(0,0,0,.35);box-shadow:0 0 3px rgba(0,0,0,.35);-webkit-box-sizing:border-box;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{-webkit-animation:none;animation:none}}@-webkit-keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}70%{opacity:0;-webkit-transform:scale(3);transform:scale(3)}to{opacity:0;-webkit-transform:scale(1);transform:scale(1)}}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}70%{opacity:0;-webkit-transform:scale(3);transform:scale(3)}to{opacity:0;-webkit-transform:scale(1);transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:rgba(0,0,0,.4);color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:1.4em;inset:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;-webkit-transition:opacity 1s ease 1s;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;-webkit-transition:opacity .05s;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}
}
@layer app-web{

:root {
    --container-border-width: 8px;
    --container-gap-width: 8px; /* only even numbers should be used because otherwise we get 0.5px margin values. */
    --transition-short: 0.1s;
    --transition-standard: 0.3s;
    --buttons-dialog-gap-row: 8px;
    --buttons-dialog-gap-column: 8px;
    --MBody-border-radius: 8px;
    --EventTileBubble_margin-block: 10px;
    --MessageTimestamp-width: 46px; /* 8 + 30 (avatar) + 8 */

    /* Expected z-indexes for dialogs:
        4000 - Default wrapper index
        4009 - Static dialog background
        4010 - Static dialog itself
        4011 - Standard dialog background
        4012 - Standard dialog itself

       These are set up such that the static dialog always appears
       underneath the standard dialogs.
     */
    --dialog-zIndex-wrapper-default: 4000;
    --dialog-zIndex-static-background: 4009;
    --dialog-zIndex-static: calc(var(--dialog-zIndex-static-background) + 1); /* 4010 */
    --dialog-zIndex-standard-background: calc(var(--dialog-zIndex-static) + 1); /* 4011 */
    --dialog-zIndex-standard: calc(var(--dialog-zIndex-standard-background) + 1); /* 4012 */
}

#matrixchat {
    /* This is required to ensure Compound tooltips correctly draw where they should with z-index: auto */
    contain: strict;
}
#mx_ContextualMenu_Container,
#mx_PersistedElement_container,
#mx_Dialog_Container,
#mx_Dialog_StaticContainer {
    /* This is required to ensure Compound tooltips correctly draw where they should with z-index: auto */
    isolation: isolate;
}

/**
 * Disable pointer events inside the persistentElement container when the room-list is being resized.
 * This is necessary to avoid the pointer events from being hijacked by the content rendered inside
 * that div.
 */
:root:has(.mx_Separator[data-separator="active"]) #mx_PersistedElement_container {
    pointer-events: none;
}

/**
 * We need to increase the specificity of the selector to override the
 * custom property set by the design tokens package
 */
[class^="cpd-theme"][class^="cpd-theme"] {
    /**
     * The design tokens package currently does not expose the fallback fonts
     * We want to keep on re-using `$font-family` to not break custom themes
     * and because we can to use `Twemoji` to display emoji rather than using
     * system ones
     */
    --cpd-font-family-sans: "Inter", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Arial", "Helvetica", sans-serif,
    "Noto Color Emoji";
}

@media (prefers-reduced-motion) {
    :root {
        --transition-short: 0;
        --transition-standard: 0;
    }
}

html {
    /* hack to stop overscroll bounce on OSX and iOS.
       N.B. Breaks things when we have legitimate horizontal overscroll */
    height: 100%;
    overflow: hidden;
    /* Stop similar overscroll bounce in Firefox Nightly for macOS */
    -ms-scroll-chaining: none;
        overscroll-behavior: none;
}

body {
    /* !important because compound overrides these font settings for body */
    font: var(--cpd-font-body-md-regular) !important;
    letter-spacing: var(--cpd-font-letter-spacing-body-md) !important;
    /**
     * We want to apply Inter Dynamic metrics (https://rsms.me/inter/dynmetrics/)
     * We need to tweak the `letter-spacing` property and doing so, disables by
     * default the optional ligatures
     * `font-feature-settings` allows us to override this behaviour and have the
     * correct ligatures and the proper dynamic metric spacing.
     */
    -webkit-font-feature-settings:
        "kern" 1,
        "liga" 1,
        "calt" 1 !important;
            font-feature-settings:
        "kern" 1,
        "liga" 1,
        "calt" 1 !important;

    background-color: var(--cpd-color-bg-canvas-default);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    border: 0px;
    margin: 0px;

    /* needed to match the designs correctly on macOS */
    /* see https://github.com/vector-im/element-web/issues/11425 */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

pre,
code {
    font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji";
    font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji";
    font-size: 100% !important;
}

.error,
.warning,
.text-error,
.text-warning {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

.text-success {
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
}

.text-muted {
    color: #61708b;
}

.text-primary {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.text-secondary {
    color: var(--cpd-color-text-secondary);
}

.mx_Verified {
    color: #3ecf8e;
    color: var(--cpd-color-icon-success-primary);
}

.mx_Untrusted {
    color: var(--cpd-color-icon-critical-primary);
}

b {
    /* On Firefox, the default weight for `<b>` is `bolder` which results in no bold */
    /* effect since we only have specific weights of our fonts available. */
    font-weight: bold;
}

/* Keep the legacy link colour without overriding Compound anchors or shared timestamp styling. */
a:where(:not([data-kind]):not(.mx_MessageTimestamp)):hover,
a:where(:not([data-kind]):not(.mx_MessageTimestamp)):link,
a:where(:not([data-kind]):not(.mx_MessageTimestamp)):visited {
    color: var(--cpd-color-text-link-external);
}

:not(.mx_no_textinput):not(.mx_textinput):not(.mx_Field) > input[type="text"],
:not(.mx_no_textinput):not(.mx_textinput):not(.mx_Field) > input[type="search"],
:not(.mx_no_textinput):not(.mx_textinput):not(.mx_Field) > input[type="password"] {
    padding: 9px;
    font: var(--cpd-font-body-md-semibold);
    font-weight: var(--cpd-font-weight-semibold);
    min-width: 0;
}

input[type="text"].mx_textinput_icon,
input[type="search"].mx_textinput_icon {
    padding-left: 36px;
    background-repeat: no-repeat;
    background-position: 10px center;
}

/* FIXME THEME - Tint by CSS rather than referencing a duplicate asset */
input[type="text"].mx_textinput_icon.mx_textinput_search,
input[type="search"].mx_textinput_icon.mx_textinput_search {
    background-image: url(../../icons/search.7258145.svg);
}

/* dont search UI as not all browsers support it, */
/* we implement it ourselves where needed instead */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

/* Override Firefox's UA style so we get a consistent look across browsers */
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    opacity: 1;
    opacity: initial;
}
input::-moz-placeholder, textarea::-moz-placeholder {
    opacity: 1;
    opacity: initial;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    opacity: 1;
    opacity: initial;
}
input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    opacity: 1;
    opacity: initial;
}
input::placeholder,
textarea::placeholder {
    opacity: 1;
    opacity: initial;
}

input[type="text"],
input[type="password"],
textarea {
    background-color: transparent;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

/* Required by Firefox */
textarea {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus {
    outline: none;
    -webkit-box-shadow: none;
            box-shadow: none;
}

/* This is used to hide the standard outline added by browsers for */
/* accessible (focusable) components. Not intended for buttons, but */
/* should be used on things like focusable containers where the outline */
/* is usually not helping anyone. */
*:focus:not(:focus-visible) {
    outline: none;
}

/* override defaults */
fieldset {
    display: inline-block;
    margin-inline: unset;
    padding-block: unset;
    padding-inline: unset;
    min-inline-size: unset;
    border: none;
}

summary {
    cursor: pointer;
}

legend {
    padding-inline: unset;
    border: none;
}

/* .mx_textinput is a container for a text input */
/* + some other controls like buttons, ... */
/* it has the appearance of a text box so the controls */
/* appear to be part of the input */
    .mx_Dialog .mx_textinput > input[type="text"],
    .mx_Dialog .mx_textinput > input[type="search"],
    .mx_MatrixChat_wrapper .mx_textinput > input[type="text"],
    .mx_MatrixChat_wrapper .mx_textinput > input[type="search"] {
        border: none;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"],
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"],
    .mx_Dialog .mx_textinput,
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"],
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"],
    .mx_MatrixChat_wrapper .mx_textinput {
        display: block;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: transparent;
        color: var(--cpd-color-text-secondary);
        border-radius: 4px;
        border: 1px solid #182533;
        border: 1px solid var(--cpd-color-gray-300);
        /* these things should probably not be defined globally */
        margin: 9px;
    }

    .mx_Dialog .mx_textinput, .mx_MatrixChat_wrapper .mx_textinput {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-webkit-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-webkit-input-placeholder, .mx_Dialog .mx_textinput input::-webkit-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-webkit-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-webkit-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-webkit-input-placeholder {
        color: var(--cpd-color-text-secondary);
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-moz-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-moz-placeholder, .mx_Dialog .mx_textinput input::-moz-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-moz-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-moz-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-moz-placeholder {
        color: var(--cpd-color-text-secondary);
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]:-ms-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]:-ms-input-placeholder, .mx_Dialog .mx_textinput input:-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]:-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]:-ms-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input:-ms-input-placeholder {
        color: var(--cpd-color-text-secondary);
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-ms-input-placeholder, .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-ms-input-placeholder, .mx_Dialog .mx_textinput input::-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::-ms-input-placeholder, .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::-ms-input-placeholder, .mx_MatrixChat_wrapper .mx_textinput input::-ms-input-placeholder {
        color: var(--cpd-color-text-secondary);
    }

    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::placeholder,
    .mx_Dialog :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::placeholder,
    .mx_Dialog .mx_textinput input::placeholder,
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::placeholder,
    .mx_MatrixChat_wrapper :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::placeholder,
    .mx_MatrixChat_wrapper .mx_textinput input::placeholder {
        color: var(--cpd-color-text-secondary);
    }

/* Prevent ugly dotted highlight around selected elements in Firefox */
::-moz-focus-inner {
    border: 0;
}

/* These are magic constants which are excluded from tinting, to let themes */
/* (which only have CSS) tell the app what their non-tinted */
/* colourscheme is by inspecting the stylesheet DOM. */
/* They are not used for layout!! */
#mx_theme_accentColor {
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
}

#mx_theme_secondaryAccentColor {
    color: #f2f5f8;
}

.mx_Dialog_wrapper {
    position: fixed;
    z-index: 4000;
    z-index: var(--dialog-zIndex-wrapper-default);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_Dialog_border {
    z-index: calc(calc(calc(4009 + 1) + 1) + 1);
    z-index: var(--dialog-zIndex-standard);
    position: relative;
    width: 100%;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-height: calc(100% - var(--cpd-space-6x));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

    .mx_Dialog_lightbox .mx_Dialog_border {
        /* The lightbox isn't so much of a dialog as a fullscreen overlay. We
        don't want the glass border. */
        display: contents;
    }

.mx_Dialog {
    background-color: var(--cpd-color-bg-canvas-default);
    color: #747474;
    font-size: 0.9375rem;
    position: relative;
    padding: var(--cpd-space-8x) var(--cpd-space-10x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    overflow-y: auto;

    /* Styles copied/inspired by GroupLayout, ReplyTile, and EventTile variants. */
}

    .mx_Dialog_staticWrapper .mx_Dialog {
        z-index: calc(4009 + 1);
        z-index: var(--dialog-zIndex-static);
        contain: content;
    }

    .mx_Dialog_lightbox .mx_Dialog {
        border-radius: 0px;
        background-color: transparent;
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        pointer-events: none;
        padding: 0;
    }
    .mx_Dialog .markdown-body {
        font: var(--cpd-font-body-md-regular) !important;
        letter-spacing: var(--cpd-font-letter-spacing-body-md);
        font-family: inherit !important;
        white-space: normal !important;
        line-height: inherit !important;
        background-color: inherit;
        color: inherit; /* inherit the colour from the dark or light theme by default (but not for code blocks) */

        /* this selector wrongly applies to code blocks too but we will unset it in the next one */

        /* Make h1 and h2 the same size as h3. */
    }

        .mx_Dialog .markdown-body pre,
        .mx_Dialog .markdown-body code {
            font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            background-color: var(--cpd-color-bg-subtle-primary);
        }
        .mx_Dialog .markdown-body code {
            white-space: pre-wrap; /* don't collapse spaces in inline code blocks */
        }

        .mx_Dialog .markdown-body pre {
            /* have to use overlay rather than auto otherwise Linux and Windows */
            /* Chrome gets very confused about vertical spacing: */
            /* https://github.com/vector-im/vector-web/issues/754 */
            overflow-x: overlay;
            overflow-y: visible;
        }

            .mx_Dialog .markdown-body pre::-webkit-scrollbar-corner {
                background: transparent;
            }

            .mx_Dialog .markdown-body pre code {
                white-space: pre; /* we want code blocks to be scrollable and not wrap */
            }

                .mx_Dialog .markdown-body pre code > * {
                    display: inline;
                }

        .mx_Dialog .markdown-body h1,
        .mx_Dialog .markdown-body h2,
        .mx_Dialog .markdown-body h3,
        .mx_Dialog .markdown-body h4,
        .mx_Dialog .markdown-body h5,
        .mx_Dialog .markdown-body h6 {
            font-family: inherit !important;
            color: inherit;
        }
        .mx_Dialog .markdown-body h1,
        .mx_Dialog .markdown-body h2 {
            font-size: 1.5em;
            border-bottom: none !important; /* override GFM */
        }

        .mx_Dialog .markdown-body a {
            color: var(--cpd-color-text-link-external);
        }

        .mx_Dialog .markdown-body blockquote {
            border-left: 2px solid var(--cpd-color-border-interactive-primary);
            color: var(--cpd-color-text-secondary);
            border-radius: 2px;
            padding: 0 10px;
        }

.mx_Dialog_fixedWidth {
    width: 60vw;
    max-width: 704px;
}

.mx_Dialog_background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #030c1b4d;
    z-index: calc(calc(4009 + 1) + 1);
    z-index: var(--dialog-zIndex-standard-background);
}

    .mx_Dialog_background.mx_Dialog_staticBackground {
        z-index: 4009;
        z-index: var(--dialog-zIndex-static-background);
    }

    .mx_Dialog_wrapperWithStaticUnder .mx_Dialog_background {
        /* Roughly half of what it would normally be - we don't want to black out */
        /* the app, just make it clear that the dialogs are stacked. */
        opacity: 0.4;
    }

    .mx_Dialog_lightbox .mx_Dialog_background {
        opacity: 0.95;
        background-color: #000;
        -webkit-animation-name: mx_Dialog_lightbox_background_keyframes;
                animation-name: mx_Dialog_lightbox_background_keyframes;
        -webkit-animation-duration: 300ms;
                animation-duration: 300ms;
    }

.mx_Dialog_titleImage {
    vertical-align: sub;
    width: 25px;
    height: 25px;
    margin-left: -2px;
    margin-right: 4px;
    margin-bottom: 2px;
}

.mx_Dialog_title {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    display: inline-block;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
}

    .mx_Dialog_title.danger {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }

.mx_Dialog_header {
    position: relative;
    padding: 0;
    -webkit-padding-end: 20px;
            padding-inline-end: 20px; /* Reserve room for the close button */
    margin-bottom: var(--cpd-space-2x);
}

    .mx_Dialog_header.mx_Dialog_headerWithButton > .mx_Dialog_title {
        text-align: center;
    }

.mx_Dialog_cancelButton {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}
    .mx_Dialog_cancelButton:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
    .mx_Dialog_cancelButton svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
    .mx_Dialog_cancelButton{
    position: absolute;
    top: var(--cpd-space-4x);
    right: var(--cpd-space-4x);
}

.mx_Dialog_content {
    margin: 24px 0 68px;
    font: var(--cpd-font-body-md-regular);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    word-wrap: break-word;
}

.mx_Dialog_buttons {
    margin-top: 20px;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
    text-align: right;
}

    .mx_Dialog_buttons .mx_Dialog_buttons_additive {
        /* The consumer is responsible for positioning their elements. */
        float: left;
    }

    .mx_Dialog_buttons .mx_Dialog_buttons_row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        text-align: left;
        text-align: initial;
        -webkit-margin-start: auto;
                margin-inline-start: auto;

        /* default gap among elements */
        -webkit-column-gap: 8px;
           -moz-column-gap: 8px;
                column-gap: 8px;
        -webkit-column-gap: var(--buttons-dialog-gap-column);
           -moz-column-gap: var(--buttons-dialog-gap-column);
                column-gap: var(--buttons-dialog-gap-column);
        row-gap: 8px;
        row-gap: var(--buttons-dialog-gap-row);
    }

        .mx_Dialog_buttons .mx_Dialog_buttons_row button {
            margin: 0 !important; /* override the margin settings */
        }

/* XXX: Our button style are a mess: buttons that happen to appear in dialogs get special styles applied
 * to them that no button anywhere else in the app gets by default. In practice, buttons in other places
 * in the app look the same by being AccessibleButtons, or possibly by having explict button classes.
 * We should go through and have one consistent set of styles for buttons throughout the app.
 * For now, I am duplicating the selectors here for mx_Dialog and mx_DialogButtons.
 */
.mx_Dialog
    button:not(
        .mx_EncryptionUserSettingsTab button,
        .mx_EncryptionCard button,
        .mx_UserProfileSettings button,
        .mx_ShareDialog button,
        .mx_UnpinAllDialog button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_Dialog_nonDialogButton,
        .mx_AccessibleButton,
        .mx_IdentityServerPicker button,
        .mx_AccessSecretStorageDialog button,
        .mx_InviteDialog_section button,
        .mx_InviteDialog_editor button,
        .mx_UnknownIdentityUsersWarningDialog button,
        .mx_ThreadActionBar button,
        .mx_HistoryActionBar button,
        [class|="maplibregl"]
    ),
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton, .mx_AccessibleButton),
.mx_Dialog input[type="submit"],
.mx_Dialog_buttons input[type="submit"] {
    /* align images in buttons (eg spinners) */
    vertical-align: middle;
    border: 0px;
    border-radius: 24px;
    font: var(--cpd-font-body-md-regular);
    color: var(--cpd-color-bg-canvas-default);
    background-color: #2e80de;
    background-color: var(--cpd-color-bg-action-primary-rest);
    width: auto;
    padding: 7px;
    padding-left: 1.5em;
    padding-right: 1.5em;
    cursor: pointer;
    display: inline-block;

    /* flip colours for the secondary ones */
}
    .mx_Dialog
    button:not(
        .mx_EncryptionUserSettingsTab button,
        .mx_EncryptionCard button,
        .mx_UserProfileSettings button,
        .mx_ShareDialog button,
        .mx_UnpinAllDialog button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_Dialog_nonDialogButton,
        .mx_AccessibleButton,
        .mx_IdentityServerPicker button,
        .mx_AccessSecretStorageDialog button,
        .mx_InviteDialog_section button,
        .mx_InviteDialog_editor button,
        .mx_UnknownIdentityUsersWarningDialog button,
        .mx_ThreadActionBar button,
        .mx_HistoryActionBar button,
        [class|="maplibregl"]
    ):not(:focus-visible), .mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton, .mx_AccessibleButton):not(:focus-visible), .mx_Dialog input[type="submit"]:not(:focus-visible), .mx_Dialog_buttons input[type="submit"]:not(:focus-visible) {
        outline: none;
    }
    .mx_Dialog
    button:not(
        .mx_EncryptionUserSettingsTab button,
        .mx_EncryptionCard button,
        .mx_UserProfileSettings button,
        .mx_ShareDialog button,
        .mx_UnpinAllDialog button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_Dialog_nonDialogButton,
        .mx_AccessibleButton,
        .mx_IdentityServerPicker button,
        .mx_AccessSecretStorageDialog button,
        .mx_InviteDialog_section button,
        .mx_InviteDialog_editor button,
        .mx_UnknownIdentityUsersWarningDialog button,
        .mx_ThreadActionBar button,
        .mx_HistoryActionBar button,
        [class|="maplibregl"]
    ),
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton, .mx_AccessibleButton),
.mx_Dialog input[type="submit"],
.mx_Dialog_buttons input[type="submit"]{
    margin-left: 0px;
    margin-right: 8px;
    margin-right: 8px;
    margin-right: var(--buttons-dialog-gap-column);
    margin-bottom: 5px;
    font-weight: var(--cpd-font-weight-semibold);
    border: 1px solid var(--cpd-color-border-interactive-secondary);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: transparent;
    font-family: inherit;
}

.mx_Dialog
    button:not(
        .mx_Dialog_nonDialogButton,
        [class|="maplibregl"],
        .mx_AccessibleButton,
        .mx_UserProfileSettings button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_UnpinAllDialog button,
        .mx_ShareDialog button,
        .mx_EncryptionUserSettingsTab button,
        .mx_UnknownIdentityUsersWarningDialog button
    ):last-child {
    margin-right: 0px;
}

.mx_Dialog
    button:not(
        .mx_Dialog_nonDialogButton,
        [class|="maplibregl"],
        .mx_AccessibleButton,
        .mx_UserProfileSettings button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_UnpinAllDialog button,
        .mx_ShareDialog button,
        .mx_EncryptionUserSettingsTab button,
        .mx_InviteDialog_section button,
        .mx_InviteDialog_editor button,
        .mx_UnknownIdentityUsersWarningDialog button
    ):focus,
.mx_Dialog input[type="submit"]:focus,
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton, .mx_AccessibleButton):focus,
.mx_Dialog_buttons input[type="submit"]:focus {
    -webkit-filter: brightness(105%);
            filter: brightness(105%);
}

.mx_Dialog button.mx_Dialog_primary:not(.mx_Dialog_nonDialogButton, [class|="maplibregl"]),
.mx_Dialog input[type="submit"].mx_Dialog_primary,
.mx_Dialog_buttons
    button:not(
        .mx_Dialog_nonDialogButton,
        .mx_AccessibleButton,
        .mx_UserProfileSettings button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_UnpinAllDialog button,
        .mx_ShareDialog button,
        .mx_EncryptionUserSettingsTab button,
        .mx_UnknownIdentityUsersWarningDialog button
    ),
.mx_Dialog_buttons input[type="submit"].mx_Dialog_primary {
    color: var(--cpd-color-text-on-solid-primary);
    background-color: #2e80de;
    background-color: var(--cpd-color-bg-action-primary-rest);
    border-color: #2e80de;
    border-color: var(--cpd-color-bg-action-primary-rest);
    min-width: 156px;
}

.mx_Dialog button.danger:not(.mx_Dialog_nonDialogButton, [class|="maplibregl"]),
.mx_Dialog input[type="submit"].danger,
.mx_Dialog_buttons
    button.danger:not(
        .mx_Dialog_nonDialogButton,
        .mx_AccessibleButton,
        .mx_UserProfileSettings button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_UnpinAllDialog button,
        .mx_ShareDialog button,
        .mx_EncryptionUserSettingsTab button,
        .mx_UnknownIdentityUsersWarningDialog button
    ),
.mx_Dialog_buttons input[type="submit"].danger {
    background-color: var(--cpd-color-bg-critical-primary);
    border: solid 1px var(--cpd-color-bg-critical-primary);
    color: var(--cpd-color-text-on-solid-primary);
}

.mx_Dialog button.warning:not(.mx_Dialog_nonDialogButton, [class|="maplibregl"]),
.mx_Dialog input[type="submit"].warning {
    border: solid 1px var(--cpd-color-border-critical-subtle);
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

.mx_Dialog
    button:not(
        .mx_Dialog_nonDialogButton,
        [class|="maplibregl"],
        .mx_AccessibleButton,
        .mx_UserProfileSettings button,
        .mx_ThemeChoicePanel_CustomTheme button,
        .mx_UnpinAllDialog button,
        .mx_ShareDialog button,
        .mx_EncryptionUserSettingsTab button,
        .mx_UnknownIdentityUsersWarningDialog button
    ):disabled,
.mx_Dialog input[type="submit"]:disabled,
.mx_Dialog_buttons button:not(.mx_Dialog_nonDialogButton, .mx_AccessibleButton):disabled,
.mx_Dialog_buttons input[type="submit"]:disabled {
    background-color: #747474;
    border: solid 1px #747474;
    opacity: 0.7;
}

/* Spinner Dialog overide */
.mx_Dialog_wrapper.mx_Dialog_spinner {
    /* This is not a real dialog, so we shouldn't show a glass border */
}
    .mx_Dialog_wrapper.mx_Dialog_spinner .mx_Dialog_border {
        display: contents;
    }

    .mx_Dialog_wrapper.mx_Dialog_spinner .mx_Dialog {
        inline-size: auto;
        block-size: auto;
        border-radius: 8px;
        padding: 8px;
        -webkit-box-shadow: none;
                box-shadow: none;

        /* Don't show scroll-bars on spinner dialogs */
        overflow-x: hidden;
        overflow-y: hidden;
    }

/* TODO: Review mx_GeneralButton usage to see if it can use a different class */
/* These classes were brought in from the old UserSettings and are included here to avoid */
/* breaking the app. */
/* Ref: https://github.com/vector-im/element-web/issues/8420 */
.mx_GeneralButton {
    /* align images in buttons (eg spinners) */
    vertical-align: middle;
    border: 0px;
    border-radius: 24px;
    font: var(--cpd-font-body-md-regular);
    color: var(--cpd-color-bg-canvas-default);
    background-color: #2e80de;
    background-color: var(--cpd-color-bg-action-primary-rest);
    width: auto;
    padding: 7px;
    padding-left: 1.5em;
    padding-right: 1.5em;
    cursor: pointer;
    display: inline-block;
}
    .mx_GeneralButton:not(:focus-visible) {
        outline: none;
    }
    .mx_GeneralButton{
    display: inline;
    margin: auto;
}

.mx_TextInputDialog_label {
    text-align: left;
    padding-bottom: 12px;
}

.mx_TextInputDialog_input {
    font-size: 0.9375rem;
    border-radius: 3px;
    border: 1px solid var(--cpd-color-text-secondary);
    padding: 9px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-canvas-default);
}

.mx_button_row {
    margin-top: 69px;
}

/* username colors */
/* used by SenderProfile & RoomPreviewBar */
.mx_Username_color1 {
    color: var(--cpd-color-text-decorative-1);
}

.mx_Username_color2 {
    color: var(--cpd-color-text-decorative-2);
}

.mx_Username_color3 {
    color: var(--cpd-color-text-decorative-3);
}

.mx_Username_color4 {
    color: var(--cpd-color-text-decorative-4);
}

.mx_Username_color5 {
    color: var(--cpd-color-text-decorative-5);
}

.mx_Username_color6 {
    color: var(--cpd-color-text-decorative-6);
}

.mx_AppWarning,
.mx_AppPermission {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_lineClamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    -webkit-line-clamp: var(--mx-line-clamp, 1);
    overflow: hidden;
}

/* Layout compatibility hook for timestamp placement in existing app/web timeline surfaces. */
.mx_MessageTimestamp {
    display: block; /* enable the width setting below */
    width: 46px;
    width: var(--MessageTimestamp-width);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconListItem {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    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: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 12px 0;

    border-bottom: 1px solid var(--cpd-color-bg-subtle-primary);

    cursor: pointer;
}

.mx_BeaconListItem_avatarIcon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    height: 32px;
    width: 32px;
}

.mx_BeaconListItem_avatar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    margin-right: 8px;
    border: 2px solid var(--cpd-color-purple-900);
    border-radius: 50%;
}

.mx_BeaconListItem_info {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

.mx_BeaconListItem_status {
    /* override beacon status padding */
    padding: 0 !important;
    margin-bottom: 8px;
}

    .mx_BeaconListItem_status .mx_BeaconStatus_label {
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_BeaconListItem_lastUpdated {
    color: var(--cpd-color-gray-800);
    font-size: 0.625rem;
}

.mx_BeaconListItem_interactions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconStatus {
    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;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    padding: 8px;

    color: var(--color);
    font-size: 0.75rem;
}

.mx_BeaconStatus_Loading,
.mx_BeaconStatus_Stopped {
    --color: var(--cpd-color-gray-800);
}

.mx_BeaconStatus_Active,
.mx_BeaconStatus_Error {
    --color: var(--cpd-color-text-primary);
}

.mx_BeaconStatus_icon {
    height: 32px;
    width: 32px;

    -webkit-box-flex: 0;

        -ms-flex: 0 0 32px;

            flex: 0 0 32px;
    margin-right: 8px;
}

.mx_BeaconStatus_description {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    line-height: 0.875rem;

    padding-right: 8px;

    white-space: nowrap;
    overflow: hidden;
}

    .mx_BeaconStatus_description .mx_BeaconStatus_description_status {
        text-overflow: ellipsis;
        overflow: hidden;
    }

.mx_BeaconStatus_expiryTime {
    color: var(--cpd-color-text-secondary);
}

.mx_BeaconStatus_label {
    margin-bottom: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconStatusTooltip {
    position: absolute;
    top: 42px;
    max-width: 150px;
    height: 38px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding-top: 8px;
}

.mx_BeaconStatusTooltip_inner {
    position: relative;
    height: 100%;
    border-radius: 4px;
    background: var(--cpd-color-bg-canvas-default);
    -webkit-box-shadow: 4px 4px 12px 0 rgba(118, 131, 156, 0.6);
            box-shadow: 4px 4px 12px 0 rgba(118, 131, 156, 0.6);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BeaconViewDialog_wrapper .mx_Dialog {
    padding: 0px;

    /* Unset contain and position to allow the close button
    to appear outside the dialog */
    contain: unset;
    position: static;
    position: initial;
}

.mx_BeaconViewDialog {
    /* subtract 0.5px to prevent single-pixel margin due to rounding */
    width: calc(80vw - 0.5px);
    height: calc(80vh - 0.5px);
    overflow: hidden;

    /* sidebar is absolutely positioned inside */
    position: relative;
}

    .mx_BeaconViewDialog .mx_Dialog_header {
        margin: 0px;
        padding: 0px;
        position: static;
        position: initial;
    }

        .mx_BeaconViewDialog .mx_Dialog_header .mx_Dialog_title {
            display: none;
        }

        .mx_BeaconViewDialog .mx_Dialog_header .mx_Dialog_cancelButton {
            z-index: 4010;
            position: fixed;
            right: 5vw;
            top: 5vh;
            width: 20px;
            height: 20px;
            background-color: var(--cpd-color-bg-canvas-default);
        }

.mx_BeaconViewDialog_map {
    width: 80vw;
    height: 80vh;
    border-radius: 8px;
}

.mx_BeaconViewDialog_mapFallbackMessage {
    color: var(--cpd-color-text-secondary);
    margin-bottom: 16px;
}

.mx_BeaconViewDialog_viewListButton {
    position: absolute;
    top: 24px;
    left: 24px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialogOwnBeaconStatus {
    position: absolute;
    bottom: 32px;
    width: 300px;
    margin-left: -150px;
    left: 50%;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    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: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;

    background: var(--cpd-color-bg-canvas-default);
    border-radius: 8px;
    -webkit-box-shadow: 4px 4px 12px 0 rgba(118, 131, 156, 0.6);
            box-shadow: 4px 4px 12px 0 rgba(118, 131, 156, 0.6);

    padding: 0 12px;
}

.mx_DialogOwnBeaconStatus_avatarIcon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    height: 32px;
    width: 32px;
    margin: 8px 0 8px 0;
}

.mx_DialogOwnBeaconStatus_avatar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0;
            flex: 0 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    border: 2px solid var(--cpd-color-purple-900);
    border-radius: 50%;
    margin: 8px 0 8px 0;
}

.mx_DialogOwnBeaconStatus_status {
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
    padding-right: 0;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialogSidebar {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 265px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    padding: 16px;

    background-color: var(--cpd-color-bg-canvas-default);
    -webkit-box-shadow: 0px 4px 4px rgba(118, 131, 156, 0.6);
            box-shadow: 0px 4px 4px rgba(118, 131, 156, 0.6);
}

    .mx_DialogSidebar .mx_DialogSidebar_header {
        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;

        -webkit-box-flex: 0;

            -ms-flex: 0 0;

                flex: 0 0;
        margin-bottom: 16px;

        color: #ffffff;

        color: var(--cpd-color-text-primary);
    }

        .mx_DialogSidebar .mx_DialogSidebar_header .mx_DialogSidebar_closeButtonIcon {
            color: var(--cpd-color-gray-800);
        }

    .mx_DialogSidebar .mx_DialogSidebar_list {
        list-style: none;
        padding: 0;
        margin: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
        width: 100%;
        overflow: auto;
    }

.mx_DialogSidebar_noResults {
    font: var(--cpd-font-body-md-regular);
    color: var(--cpd-color-text-secondary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LeftPanelLiveShareWarning {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    padding: 4px;
    text-align: center;

    background-color: #2e80de;

    background-color: var(--cpd-color-text-action-accent);
    color: #fff;
    font-size: 0.625rem;

    /* panel backdrops overlay the whole sidepanel */
    /* go above to get hover for title */
    z-index: 1;
}

.mx_LeftPanelLiveShareWarning__error {
    background-color: #e0454b;
    background-color: var(--cpd-color-text-critical-primary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LiveTimeRemaining {
    color: var(--cpd-color-text-secondary);
    font-size: 0.75rem;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_OwnBeaconStatus_button {
    margin-left: 8px;
}

.mx_EventTile[data-layout="bubble"] .mx_OwnBeaconStatus_button {
    /* align to top to make room for timestamp */
    /* in bubble view */
    -ms-flex-item-align: start;
        align-self: start;
}

.mx_OwnBeaconStatus_destructiveButton {
    /* override button link_inline styles */
    color: #e0454b !important;
    color: var(--cpd-color-text-critical-primary) !important;
    font-weight: var(--cpd-font-weight-semibold) !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareLatestLocation_icon {
    height: 13px;
    width: 13px;
    color: var(--cpd-color-text-secondary);
}

/* double class to be more specific than the general mx_CopyableText CSS rule */
.mx_CopyableText.mx_ShareLatestLocation_copy {
    /* override copyable text style to make compact */
}
    .mx_CopyableText.mx_ShareLatestLocation_copy .mx_CopyableText_copyButton {
        height: 13px;
        margin-left: 8px !important;
        position: relative;
        top: -1px;
        width: 13px;
    }

        .mx_CopyableText.mx_ShareLatestLocation_copy .mx_CopyableText_copyButton::before {
            background-color: var(--cpd-color-text-secondary);
            height: 13px;
            width: 13px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_StyledLiveBeaconIcon {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-width: 2px;
    border-style: solid;
    border-radius: 50%;

    background-color: var(--cpd-color-purple-900);
    border-color: var(--cpd-color-purple-900);
    padding: 2px;
    /* colors icon */
    color: white;
}

.mx_StyledLiveBeaconIcon.mx_StyledLiveBeaconIcon_error {
    background-color: #e0454b;
    background-color: var(--cpd-color-text-critical-primary);
    border-color: #e0454b;
    border-color: var(--cpd-color-text-critical-primary);
}

.mx_StyledLiveBeaconIcon.mx_StyledLiveBeaconIcon_idle {
    background-color: var(--cpd-color-gray-600);
    border-color: var(--cpd-color-gray-600);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_KebabContextMenu_icon {
    width: 24px;
    height: 24px;
    color: var(--cpd-color-icon-tertiary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollDetailHeader {
    /* override accessiblebutton style */
    font-size: 0.9375rem !important;
}

.mx_PollDetailHeader_icon {
    height: 16px;
    width: 16px;
    margin-right: 8px;
    vertical-align: middle;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollListItem {
    width: 100%;
}

.mx_PollListItem_content {
    width: 100%;
    display: grid;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-gap: 8px;
    gap: 8px;
    grid-template-columns: auto auto auto;
    grid-template-rows: auto;
    cursor: pointer;

    color: #ffffff;

    color: var(--cpd-color-text-primary);
}

.mx_PollListItem_icon {
    height: 14px;
    width: 14px;
    color: var(--cpd-color-gray-600);
    padding-left: 8px;
}

.mx_PollListItem_question {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollListItemEnded {
    width: 100%;
}

.mx_PollListItemEnded_content {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    cursor: pointer;
}

.mx_PollListItemEnded_title {
    display: grid;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-gap: 8px;
    gap: 8px;
    grid-template-columns: -webkit-min-content 1fr -webkit-min-content;
    grid-template-columns: min-content 1fr min-content;
    grid-template-rows: auto;
}

.mx_PollListItemEnded_icon {
    height: 14px;
    width: 14px;
    color: var(--cpd-color-gray-600);
    padding-left: 8px;
}

.mx_PollListItemEnded_date {
    font-size: 0.75rem;
    color: var(--cpd-color-text-secondary);
}

.mx_PollListItemEnded_question {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mx_PollListItemEnded_answers {
    display: grid;
    grid-gap: 8px;
    gap: 8px;
    margin-top: 12px;
}

.mx_PollListItemEnded_voteCount {
    /* 6px to match PollOption padding */
    margin: 8px 0 0 6px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2023 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AppPermission {
    font-size: 0.75rem;
    width: 100%; /* make mx_AppPermission fill width of mx_AppTileBody so that scroll bar appears on the edge */
    overflow-y: scroll;
}
    .mx_AppPermission .mx_AppPermission_bolder,
    .mx_AppPermission .mx_AppPermission_content_bolder {
        font-weight: var(--cpd-font-weight-semibold);
    }
    .mx_AppPermission .mx_AppPermission_content {
        margin-block: auto; /* place at the center */
    }

        .mx_AppPermission .mx_AppPermission_content > div {
            margin-block: 12px;
        }

        .mx_AppPermission .mx_AppPermission_content .mx_TextWithTooltip_target--helpIcon {
            display: inline-block;
            height: 0.875rem; /* align with characters on the same line */
            vertical-align: middle;
        }

            .mx_AppPermission .mx_AppPermission_content .mx_TextWithTooltip_target--helpIcon .mx_Icon {
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Suguru Hirahara

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AppWarning {
    font-size: 1rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

    .mx_AppWarning h4 {
        margin: 0;
        padding: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_FilterDropdown .mx_Dropdown_menu {
        margin-top: 4px;
        left: auto;
        left: initial;
        right: -12px;
        width: 232px;
        padding: 12px;

        border: 1px solid var(--cpd-color-gray-400);
        border-radius: 8px;
        -webkit-box-shadow: 0px 1px 3px rgb(23, 25, 28, 0.05);
                box-shadow: 0px 1px 3px rgb(23, 25, 28, 0.05);

        background-color: var(--cpd-color-bg-subtle-primary);
    }

        .mx_FilterDropdown .mx_Dropdown_menu .mx_Dropdown_option_highlight {
            background-color: transparent;
        }

    .mx_FilterDropdown .mx_Dropdown_input {
        height: 24px;
        background-color: transparent;
        border-color: transparent;
        color: var(--cpd-color-text-secondary);
        border-radius: 4px;
    }

        .mx_FilterDropdown .mx_Dropdown_input:focus,
        .mx_FilterDropdown .mx_Dropdown_input:hover {
            background-color: var(--cpd-color-gray-400);
            border-color: var(--cpd-color-gray-400);
        }

    .mx_FilterDropdown .mx_Dropdown_arrow {
        color: var(--cpd-color-text-secondary);
    }

.mx_FilterDropdown_option {
    position: relative;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 8px 0 8px 20px;

    font-size: 0.75rem;
    line-height: 0.9375rem;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_FilterDropdown_optionSelectedIcon {
    height: 14px;
    width: 14px;
    position: absolute;
    top: 8px;
    left: 0;
}

.mx_FilterDropdown_optionLabel {
    font-weight: var(--cpd-font-weight-semibold);
    display: block;
}

.mx_FilterDropdown_optionDescription {
    color: var(--cpd-color-text-secondary);
    margin-top: 4px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FilterTabGroup {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}
    .mx_FilterTabGroup label {
        margin-right: 12px;
        cursor: pointer;
    }
        .mx_FilterTabGroup label span {
            display: inline-block;
            line-height: 1.5rem;
        }
    .mx_FilterTabGroup input[type="radio"] {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        margin: 0;
        padding: 0;
    }
            .mx_FilterTabGroup input[type="radio"]:focus + span, .mx_FilterTabGroup input[type="radio"]:hover + span {
                color: var(--cpd-color-text-secondary);
            }

        .mx_FilterTabGroup input[type="radio"]:checked + span {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
            font-weight: var(--cpd-font-weight-semibold);
            /* underline */
            -webkit-box-shadow: 0 1.5px 0 0 currentColor;
                    box-shadow: 0 1.5px 0 0 currentColor;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LearnMore_button {
    margin-left: 4px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EnableLiveShare {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    padding: 32px 16px;
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_EnableLiveShare_heading {
    padding-top: 24px;
}

.mx_EnableLiveShare_icon {
    height: 58px;
    width: 58px;
}

.mx_EnableLiveShare_description {
    padding: 0 24px;
    margin-bottom: 32px;
    line-height: 1.25rem;
}

.mx_EnableLiveShare_button {
    margin-top: 32px;
    height: 48px;
    width: 100%;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LiveDurationDropdown {
    margin-bottom: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LocationShareMenu {
    width: 375px;
    height: 460px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MapError {
    padding: 100px 32px 0;
    text-align: center;

    --mx-map-error-icon-color: var(--cpd-color-text-secondary);
    --mx-map-error-icon-size: 58px;
}

.mx_MapError.mx_MapError_isMinimised {
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    padding: 24px;
    background-color: var(--cpd-color-bg-subtle-secondary);
    font-size: 0.75rem;
    line-height: 1rem;

    --mx-map-error-icon-color: var(--cpd-color-text-critical-primary);
    --mx-map-error-icon-size: 26px;
}

    .mx_MapError.mx_MapError_isMinimised .mx_MapError_message {
        margin: 0;
        max-width: 275px;
    }

    .mx_MapError.mx_MapError_isMinimised .mx_MapError_heading {
        padding-top: 8px;
        /* override h3 heading size */
        font-size: inherit !important;
        font-weight: normal !important;
    }

.mx_MapError_message {
    margin: 16px 0 32px;
}

.mx_MapError_heading {
    padding-top: 24px;
}

.mx_MapError_icon {
    height: var(--mx-map-error-icon-size);
    width: var(--mx-map-error-icon-size);
    color: var(--mx-map-error-icon-color);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MapFallback {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 0;

    background-color: var(--cpd-color-bg-subtle-primary);
}

.mx_MapFallback_bg {
    position: absolute;
    top: 0;
    left: 0;
    min-height: 100%;
    min-width: 100%;
    color: var(--cpd-color-gray-400);
    z-index: -1;

    pointer-events: none;
}

.mx_MapFallback_icon {
    width: 65px;
    margin-bottom: 16px;
    color: var(--cpd-color-gray-600);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Marker_defaultColor {
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
}

.mx_Marker_border {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    -webkit-filter: drop-shadow(0px 3px 5px rgb(0, 0, 0, 0.2));
            filter: drop-shadow(0px 3px 5px rgb(0, 0, 0, 0.2));
    background-color: currentColor;

    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;

    /* caret down */
}
    .mx_Marker_border::before {
        content: "";
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid currentColor;
        position: absolute;
        bottom: -4px;
    }

.mx_Marker_icon {
    color: white;
    height: 20px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareDialogButtons {
    position: absolute;
    width: 100%;
    height: 0;
    top: 0;
}

button.mx_ShareDialogButtons_button {
    height: 24px;
    width: 24px;
    border-radius: 50%;
    background-color: var(--cpd-color-gray-400);
    opacity: 0.8;
    text-align: center;
    color: var(--cpd-color-text-secondary);
    position: absolute;
    top: 16px;
}

    button.mx_ShareDialogButtons_button:hover,
    button.mx_ShareDialogButtons_button:focus {
        opacity: 1;
    }

    button.mx_ShareDialogButtons_button.left {
        left: 16px;
    }

    button.mx_ShareDialogButtons_button.right {
        right: 16px;
    }

.mx_ShareDialogButtons_button-icon {
    width: 20px;
    height: 20px;
    margin: 2px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareType {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    padding: 60px 12px 32px;

    color: #ffffff;

    color: var(--cpd-color-text-primary);
}

    .mx_ShareType .mx_ShareType_wrapper_options {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 12px;
        width: 100%;
        margin-top: 12px;
    }

        .mx_ShareType .mx_ShareType_wrapper_options .mx_ShareType_option {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            padding: 8px 20px;
            background: none;

            border: 1px solid var(--cpd-color-gray-400);
            border-radius: 8px;

            font-size: 0.9375rem;
            font-family: inherit;
            line-height: inherit;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

            .mx_ShareType .mx_ShareType_wrapper_options .mx_ShareType_option:hover,
            .mx_ShareType .mx_ShareType_wrapper_options .mx_ShareType_option:focus {
                border-color: #2e80de;
                border-color: var(--cpd-color-text-action-accent);
            }

.mx_ShareType_badge {
    height: 60px;
    width: 60px;
    margin-bottom: 20px;
    background-color: #2e80de;
    background-color: var(--cpd-color-text-action-accent);
    border-radius: 50%;
    border: 14px solid #2e80de;
    border: 14px solid var(--cpd-color-text-action-accent);
    /* colors icon */
    color: white;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_ShareType_heading {
    padding-bottom: 32px;
    text-align: center;
}

.mx_ShareType_option-icon {
    height: 40px;
    width: 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-right: 12px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    border-width: 2px;
    border-style: solid;
    border-radius: 50%;

    /* Live is styled by StyledLiveBeaconIcon */
}

    .mx_ShareType_option-icon.Own {
        border-color: #2e80de;
        border-color: var(--cpd-color-text-action-accent);
    }

    .mx_ShareType_option-icon.Pin {
        border-color: #2e80de;
        border-color: var(--cpd-color-text-action-accent);
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
        padding: 7px;
        /* colors icon */
        color: white;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ZoomButtons {
    position: absolute;
    bottom: 32px;
    right: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 8px;
}

    .mx_ZoomButtons .mx_ZoomButtons_button {

        border-radius: 4px;
        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;
        height: 24px;
        width: 24px;
        background: var(--cpd-color-bg-canvas-default);
        -webkit-box-shadow: 0px 4px 12px rgb(0, 0, 0, 0.25);
                box-shadow: 0px 4px 12px rgb(0, 0, 0, 0.25);
    }

        .mx_ZoomButtons .mx_ZoomButtons_button .mx_ZoomButtons_icon {

            height: 12px;
            width: 12px;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MBeaconBody {
    position: relative;
    height: 220px;
    max-width: 325px;
    width: 100%;

    border-radius: 8px;

    border-radius: var(--MBody-border-radius);
    overflow: hidden;
}

.mx_MBeaconBody.mx_MBeaconBody_withoutMap {
    height: auto;
}

    .mx_MBeaconBody.mx_MBeaconBody_withoutMap .mx_MBeaconBody_chin {
        position: relative;
        background-color: transparent;
    }

.mx_MBeaconBody_withoutMapContent {
    background-color: var(--cpd-color-bg-subtle-secondary);
    border-radius: 4px;
}

.mx_MBeaconBody_withoutMapInfoLastUpdated {
    /* 48px lines up with icon in BeaconStatus */
    margin-top: -8px;
    padding: 0 8px 8px 48px;

    color: var(--cpd-color-gray-800);
    font-size: 0.625rem;
}

.mx_MBeaconBody_map {
    height: 100%;
    width: 100%;
    z-index: 0; /* keeps the entire map under the message action bars */

    cursor: pointer;
}

.mx_MBeaconBody_mapFallback,
.mx_MBeaconBody_mapError {
    /* pushes spinner/icon up */
    /* to appear more centered with the footer */
    padding-bottom: 50px !important;
}

.mx_MBeaconBody_mapErrorInteractive {
    cursor: pointer;
}

.mx_MBeaconBody_mapFallback {
    cursor: default;
}

.mx_MBeaconBody_chin {
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: var(--cpd-color-bg-canvas-default);
    opacity: 0.85;
}

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MBeaconBody {
    max-width: 100%;
    width: 450px;
}

.mx_ReplyTile .mx_MBeaconBody {
    /* Prevent clicking a beacon within a reply */
    pointer-events: none;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MediaProcessingError_Icon {
    margin-right: 4px;
    vertical-align: text-top;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollOption {
    border: 1px solid var(--cpd-color-gray-400);
    border-radius: 8px;
    padding: 6px 12px;
    background-color: var(--cpd-color-bg-canvas-default);
}

    .mx_PollOption .mx_StyledRadioButton_content,
    .mx_PollOption .mx_PollOption_endedOption {
        padding-top: 2px;
        margin-right: 0px;
    }

    .mx_PollOption .mx_StyledRadioButton_spacer {
        display: none;
    }

.mx_PollOption,
/* label has cursor: default in user-agent stylesheet */
/* override */
.mx_PollOption_live-option {
    cursor: pointer;
}

.mx_PollOption_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.mx_PollOption_optionVoteCount {
    color: var(--cpd-color-text-secondary);
    font-size: 0.75rem;
    white-space: nowrap;
}

.mx_PollOption_winnerIcon {
    height: 12px;
    width: 12px;
    color: var(--cpd-color-icon-accent-tertiary);
    margin-right: 4px;
    vertical-align: middle;
}

.mx_PollOption_checked {

    /* override checked radio button styling to show checkmark instead */
}
        .mx_PollOption_checked .mx_PollOption_popularityBackground .mx_PollOption_popularityAmount {
            background-color: var(--cpd-color-icon-primary);
        }
        .mx_PollOption_checked .mx_StyledRadioButton_checked input[type="radio"]:checked + div {
            border-color: var(--cpd-color-icon-primary);
            background-color: var(--cpd-color-icon-primary);
        }

            .mx_PollOption_checked .mx_StyledRadioButton_checked input[type="radio"]:checked + div div {
                background: none;
            }

                .mx_PollOption_checked .mx_StyledRadioButton_checked input[type="radio"]:checked + div div svg {
                    color: var(--cpd-color-icon-on-solid-primary);
                    width: 12px;
                    height: 12px;
                    margin: -2px;
                    display: block;
                }

.mx_PollOption_ended.mx_PollOption_checked {

    /* override checked radio button styling to show checkmark instead */
}
        .mx_PollOption_ended.mx_PollOption_checked .mx_PollOption_popularityBackground .mx_PollOption_popularityAmount {
            background-color: var(--cpd-color-icon-accent-tertiary);
        }
        .mx_PollOption_ended.mx_PollOption_checked .mx_StyledRadioButton_checked input[type="radio"]:checked + div {
            border-color: var(--cpd-color-icon-accent-tertiary);
            background-color: var(--cpd-color-icon-accent-tertiary);
        }

/* options not actionable in these states */
.mx_PollOption_checked,
.mx_PollOption_ended {
    pointer-events: none;
}

.mx_PollOption_popularityBackground {
    width: 100%;
    height: 8px;
    margin-right: 12px;
    border-radius: 8px;
    background-color: var(--cpd-color-bg-subtle-primary);
    margin-top: 8px;
}

    .mx_PollOption_popularityBackground .mx_PollOption_popularityAmount {
        width: 0%;
        height: 8px;
        border-radius: 8px;
        background-color: var(--cpd-color-icon-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * These used to live in General User Settings. These components are horribly duplicative
 * but share the same styles. For now I'm putting them here so I can renamed the general
 * tab sensibly and before I can refactor these components.
 */

.mx_AddRemoveThreepids_existing {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_AddRemoveThreepids_existing_address,
.mx_AddRemoveThreepids_existing_promptText {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 10px;
}

.mx_AddRemoveThreepids_existing_button {
    margin-left: 5px;
}

.mx_EmailAddressesPhoneNumbers_verify {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_EmailAddressesPhoneNumbers_existing_button {
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
}

.mx_EmailAddressesPhoneNumbers_verify_instructions {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CurrentDeviceSection_deviceDetails {
    /* align with text of session tile */
    margin-left: 56px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceDetailHeading {
    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-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_DeviceDetailHeading_renameCta {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_DeviceDetailHeading_renameForm {
    display: grid;
    grid-gap: 16px;
    gap: 16px;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    grid-template-columns: 100%;
}

.mx_DeviceDetailHeading_renameFormButtons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
}

    .mx_DeviceDetailHeading_renameFormButtons .mx_Spinner {
        width: auto;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
    }

.mx_DeviceDetailHeading_renameFormInput {
    /* override field styles */
    margin: 0 0 4px 0 !important;
}

.mx_DeviceDetailHeading_renameFormHeading {
    margin: 0;
}

.mx_DeviceDetailHeading_renameFormError {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    padding-right: 4px;
    display: block;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceDetails {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    margin-top: 16px;
    padding: 24px;
    border-radius: 8px;
    border: 1px solid var(--cpd-color-gray-400);
}

.mx_DeviceDetails_section {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--cpd-color-gray-400);

    display: grid;
    grid-gap: 24px;
    gap: 24px;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    grid-template-columns: 100%;
}

    .mx_DeviceDetails_section:last-child {
        padding-bottom: 0;
        border-bottom: 0;
        margin-bottom: 0;
    }

.mx_DeviceDetails_sectionHeading {
    margin: 0;
}

    .mx_DeviceDetails_sectionHeading .mx_DeviceDetails_sectionSubheading {
        display: block;
        font-size: 0.75rem;
        color: var(--cpd-color-text-secondary);
        line-height: 0.875rem;
        margin-top: 4px;
    }

.mx_DeviceDetails_metadataTable {
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);

    width: 100%;

    border-spacing: 0;
}

    .mx_DeviceDetails_metadataTable th {
        text-transform: uppercase;
        font-weight: normal;
        text-align: left;
    }

    .mx_DeviceDetails_metadataTable td {
        padding-top: 8px;
    }

    .mx_DeviceDetails_metadataTable .mxDeviceDetails_metadataLabel {
        width: 160px;
    }

    .mx_DeviceDetails_metadataTable .mxDeviceDetails_metadataValue {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

.mx_DeviceDetails_signOutButtonContent {
    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;
    gap: 4px;
}

.mx_DeviceDetails_pushNotifications {
    display: block;
}
    .mx_DeviceDetails_pushNotifications .mx_ToggleSwitch {
        float: right;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceExpandDetailsButton {
    height: 32px;
    width: 32px;
    background: transparent;

    border-radius: 4px;
    color: var(--cpd-color-icon-tertiary);

    --icon-transform: rotate(-90deg);
}

    .mx_DeviceExpandDetailsButton:hover {
        background: var(--cpd-color-gray-400);
    }

.mx_DeviceExpandDetailsButton.mx_DeviceExpandDetailsButton_expanded {
    --icon-transform: rotate(0deg);

    background: var(--cpd-color-bg-subtle-primary);
}

    .mx_DeviceExpandDetailsButton.mx_DeviceExpandDetailsButton_expanded:hover {
        background: var(--cpd-color-gray-400);
    }

.mx_DeviceExpandDetailsButton_icon {
    height: 24px;
    width: 24px;

    -webkit-transition: all 0.3s;

    transition: all 0.3s;
    -webkit-transform: var(--icon-transform);
            transform: var(--icon-transform);
    -webkit-transform-origin: center;
            transform-origin: center;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceSecurityCard {
    width: 100%;
    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: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    padding: 16px;

    border: 1px solid var(--cpd-color-gray-400);
    border-radius: 8px;
}

.mx_DeviceSecurityCard_icon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    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;
    margin-right: 16px;
    border-radius: 8px;

    height: 40px;
    width: 40px;

    color: var(--icon-color);
    background-color: var(--background-color);
}

    .mx_DeviceSecurityCard_icon.Verified {
        --icon-color: var(--cpd-color-icon-success-primary);
        --background-color: var(--cpd-color-green-300);
    }

    .mx_DeviceSecurityCard_icon.Unverified {
        --icon-color: var(--cpd-color-icon-critical-primary);
        --background-color: var(--cpd-color-red-300);
    }

    .mx_DeviceSecurityCard_icon.Inactive {
        --icon-color: var(--cpd-color-text-secondary);
        --background-color: var(--cpd-color-bg-subtle-secondary);
    }

.mx_DeviceSecurityCard_content {
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
}
.mx_DeviceSecurityCard_heading {
    margin: 0 0 4px 0;
}
.mx_DeviceSecurityCard_description {
    margin: 0;
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
}

.mx_DeviceSecurityCard_actions {
    margin-top: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceTile {
    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;
    width: 100%;
}

.mx_DeviceTile_interactive {
    cursor: pointer;
}

.mx_DeviceTile_info {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
}

.mx_DeviceTile_metadata {
    margin-top: 4px;
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
}

.mx_DeviceTile_inactiveIcon {
    height: 14px;
    margin-right: 8px;
    vertical-align: middle;
}

.mx_DeviceTile_actions {
    display: grid;
    grid-gap: 8px;
    gap: 8px;
    grid-auto-flow: column;
    margin-left: 8px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceTypeIcon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    position: relative;
    margin-right: 8px;
    /* creates space for verification icon to overlap */
    padding: 0 8px 8px 0;
}

.mx_DeviceTypeIcon_deviceIconWrapper {
    --background-color: var(--cpd-color-bg-subtle-secondary);
    --icon-color: var(--cpd-color-text-secondary);

    height: 40px;
    width: 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    border: 8px solid var(--background-color);
    border-radius: 50%;
    color: var(--cpd-color-text-secondary);
    color: var(--icon-color);
    background-color: var(--background-color);
}

.mx_DeviceTypeIcon_selected .mx_DeviceTypeIcon_deviceIconWrapper {
    --background-color: var(--cpd-color-text-primary);
    --icon-color: var(--cpd-color-bg-canvas-default);
}

.mx_DeviceTypeIcon_deviceIcon {
    height: 24px;
    width: 24px;
}

.mx_DeviceTypeIcon_verificationIcon {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 24px;
    width: 24px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 4px;

    border: 1px solid var(--cpd-color-gray-400);
    border-radius: 50%;
    background-color: var(--cpd-color-bg-canvas-default);

    color: var(--v-icon-color);
}

    .mx_DeviceTypeIcon_verificationIcon.verified {
        --v-icon-color: var(--cpd-color-icon-success-primary);
    }

    .mx_DeviceTypeIcon_verificationIcon.unverified {
        --v-icon-color: var(--cpd-color-icon-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_FilteredDeviceList .mx_Dropdown {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 80px;
                flex: 1 0 80px;
    }

.mx_FilteredDeviceList_list {
    list-style-type: none;
    display: grid;
    grid-gap: 16px;
    gap: 16px;
    margin: 0;
    padding: 0 16px;
}

.mx_FilteredDeviceList_listItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_FilteredDeviceList_securityCard {
    margin-bottom: 32px;
}

.mx_FilteredDeviceList_noResults {
    width: 100%;
    text-align: center;
    margin-bottom: 32px;
}

.mx_FilteredDeviceList_headerButton {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    /* override inline button styling */
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
}

.mx_FilteredDeviceList_deviceDetails {
    /* align with text of session tile */
    margin-left: 88px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FilteredDeviceListHeader {
    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;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    gap: 16px;

    width: 100%;
    height: 48px;
    padding: 0 16px;
    margin-bottom: 32px;

    background-color: var(--cpd-color-bg-subtle-secondary);
    border-radius: 8px;
    color: var(--cpd-color-text-secondary);

    /* Higher specificity selector to override the flex-start value */
}
    .mx_FilteredDeviceListHeader .mx_AccessibleButton.mx_AccessibleButton_hasKind {
        -ms-flex-item-align: center;
            align-self: center;
    }

.mx_FilteredDeviceListHeader_label {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SecurityRecommendations_spacing {
    height: 16px;
}
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SelectableDeviceTile {
    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;
    width: 100%;
}

.mx_SelectableDeviceTile_checkbox {
    -webkit-box-flex: 1;
        -ms-flex: 1 0;
            flex: 1 0;
}

    .mx_SelectableDeviceTile_checkbox > div {
        margin-top: auto;
        margin-bottom: auto;
        margin-right: var(--cpd-space-1x);
    }
}
@layer app-web{

/*
 * Copyright 2025 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_KeyStoragePanel_toggleRow {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsSubsection {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

    .mx_SettingsSubsection.mx_SettingsSubsection_newUi {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-6x);
    }

    .mx_SettingsSubsection *[role="separator"] {
        /**
         * The gap between subsections is 32px and inside the subsection is 24px.
         * The separator separates the subsections, so it should have the same gap as the subsections.
         * We add 12px and the separator spacing (8px) to the top margin to make the separator visually centered between the subsections.
         * !important because it's overriding compound margin.
         */
        margin-top: var(--cpd-space-5x) !important;
    }

.mx_SettingsSubsection_description {
    margin-top: 8px;
}

.mx_SettingsSubsection_text {
    width: 100%;
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
    color: var(--cpd-color-text-secondary);
}

.mx_SettingsSubsection_content {
    width: 100%;
    display: grid;
    grid-gap: var(--cpd-space-4x);
    gap: var(--cpd-space-4x);
    /* setting minwidth 0 makes columns definitely sized fixing horizontal overflow */
    grid-template-columns: minmax(0, 1fr);
    justify-items: flex-start;
    margin-top: 24px;
}

    .mx_SettingsSubsection_content summary {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }
        .mx_SettingsSubsection_content details[open] summary {
            margin-bottom: 8px;
        }

    .mx_SettingsSubsection_content.mx_SettingsSubsection_contentStretch {
        justify-items: stretch;
    }

    .mx_SettingsSubsection_content.mx_SettingsSubsection_noHeading {
        margin-top: 0;
    }
    .mx_SettingsSubsection_content.mx_SettingsSubsection_content_newUi {
        gap: var(--cpd-space-6x);
        margin-top: 0;
    }

    .mx_SettingsSubsection_content .mx_SettingsSubsection_dropdown {
        min-width: 360px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsSubsectionHeading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;

    gap: 8px;
}

.mx_SettingsSubsectionHeading_heading {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_QuickThemeSwitcher {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

    .mx_QuickThemeSwitcher .mx_Dropdown {
        min-width: 100px;
        margin-left: auto;
        height: -webkit-min-content;
        height: -moz-min-content;
        height: min-content;
    }

    .mx_QuickThemeSwitcher .mx_Dropdown_menu {
        max-height: 70px;
    }

.mx_QuickThemeSwitcher_heading {
    font-weight: var(--cpd-font-weight-semibold);
    font-size: 0.75rem;
    line-height: 0.9375rem;
    color: var(--cpd-color-text-secondary);
    text-transform: uppercase;
    display: inline-block;
    margin: 0;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Caption {
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
}

    .mx_Caption.mx_Caption_error {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * Compound icon

 * {@link https://www.figma.com/file/X4XTH9iS2KGJ2wFKDqkyed}
 */

.mx_Icon {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_Icon_accent {
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
}

.mx_Icon_bg-accent-light {
    background-color: #2e80de;
    background-color: var(--cpd-color-green-300);
}

.mx_Icon_alert {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

.mx_Icon_circle-40 {
    border-radius: 20px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    height: 40px;
    padding: 0 12px;
    width: 40px;
}

.mx_Icon_8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8px;
            flex: 0 0 8px;
    height: 8px;
    width: 8px;
}

.mx_Icon_10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 10px;
            flex: 0 0 10px;
    height: 10px;
    width: 10px;
}

.mx_Icon_12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12px;
            flex: 0 0 12px;
    height: 12px;
    width: 12px;
}

.mx_Icon_16 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16px;
            flex: 0 0 16px;
    height: 16px;
    width: 16px;
}

.mx_Icon_24 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 24px;
            flex: 0 0 24px;
    height: 24px;
    width: 24px;
}

.mx_Icon_32 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 32px;
            flex: 0 0 32px;
    height: 32px;
    width: 32px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SuccessDialog {
    text-align: center;
}

    .mx_SuccessDialog .mx_Icon {
        margin-bottom: 16px;
    }

    .mx_SuccessDialog .mx_Dialog_header {
        margin: 0 0 16px;
        padding: 0;
    }

    .mx_SuccessDialog .mx_Dialog_title {
        margin: 0;
    }

    .mx_SuccessDialog .mx_Dialog_content {
        color: var(--cpd-color-text-secondary);
        margin: 0 0 40px;
    }
        .mx_SuccessDialog .mx_Dialog_buttons .mx_Dialog_buttons_row {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

            .mx_SuccessDialog .mx_Dialog_buttons .mx_Dialog_buttons_row button.mx_Dialog_primary {
                height: 48px;
                min-width: 328px;
            }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* make any scrollbar grey and thin */
html {
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}
/* scrollbar-width is not inherited (but -color is, why?!), */
/* so declare it on every element */
* {
    scrollbar-width: thin;
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-thumb {
    border-radius: 3px;
    background-color: rgba(0, 0, 0, 0.2);
}

/* make auto-hide scrollbars not transparent again on hover */
.mx_AutoHideScrollbar:hover {
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

    .mx_AutoHideScrollbar:hover::-webkit-scrollbar-thumb {
        background-color: rgba(0, 0, 0, 0.2);
    }

/* make scrollbars transparent for autohide scrollbars */
.mx_AutoHideScrollbar {
    overflow-x: hidden;
    overflow-y: auto;
    overflow-y: overlay; /* where supported */
    -ms-overflow-style: -ms-autohiding-scrollbar;
}

    .mx_AutoHideScrollbar::-webkit-scrollbar {
        background-color: transparent;
    }

    .mx_AutoHideScrollbar::-webkit-scrollbar-thumb {
        background-color: transparent;
    }

    .mx_AutoHideScrollbar{

    scrollbar-color: transparent transparent;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AutocompleteInput {
    position: relative;
}

.mx_AutocompleteInput_search_icon {
    margin-left: 8px;
    fill: var(--cpd-color-text-secondary);
}

.mx_AutocompleteInput_editor {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid var(--cpd-color-text-secondary);
    border-radius: 4px;
    -webkit-transition: border-color 0.25s;
    transition: border-color 0.25s;
}

    .mx_AutocompleteInput_editor > input {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        min-width: 40%;
        resize: none;
        /* `!important` is required to bypass global input styles. */
        margin: 0 !important;
        padding: 8px 9px;
        border: none !important;
        color: #ffffff !important;
        color: var(--cpd-color-text-primary) !important;
        font-weight: normal !important;
    }

        .mx_AutocompleteInput_editor > input::-webkit-input-placeholder {
            color: #ffffff !important;
            color: var(--cpd-color-text-primary) !important;
            font-weight: normal !important;
        }

        .mx_AutocompleteInput_editor > input::-moz-placeholder {
            color: #ffffff !important;
            color: var(--cpd-color-text-primary) !important;
            font-weight: normal !important;
        }

        .mx_AutocompleteInput_editor > input:-ms-input-placeholder {
            color: #ffffff !important;
            color: var(--cpd-color-text-primary) !important;
            font-weight: normal !important;
        }

        .mx_AutocompleteInput_editor > input::-ms-input-placeholder {
            color: #ffffff !important;
            color: var(--cpd-color-text-primary) !important;
            font-weight: normal !important;
        }

        .mx_AutocompleteInput_editor > input::placeholder {
            color: #ffffff !important;
            color: var(--cpd-color-text-primary) !important;
            font-weight: normal !important;
        }

.mx_AutocompleteInput_editor--focused {
    border-color: var(--cpd-color-text-link-external);
}

.mx_AutocompleteInput_editor--has-suggestions {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.mx_AutocompleteInput_editor_selection {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 8px;
}

.mx_AutocompleteInput_editor_selection_pill {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 12px;
    padding-left: 8px;
    padding-right: 8px;
    background-color: var(--cpd-color-text-decorative-1);
    color: #ffffff;
    font-size: 0.75rem;
}

.mx_AutocompleteInput_editor_selection_remove_button svg {
    vertical-align: middle;
}

.mx_AutocompleteInput_matches {
    position: absolute;
    left: 0;
    right: 0;
    background-color: var(--cpd-color-bg-canvas-default);
    border: 1px solid var(--cpd-color-text-link-external);
    border-top-color: var(--cpd-color-text-secondary);
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    z-index: 1000;
}

.mx_AutocompleteInput_suggestion {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 8px;
    cursor: pointer;
}

    .mx_AutocompleteInput_suggestion > * {
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }

    .mx_AutocompleteInput_suggestion:hover {
        background-color: var(--cpd-color-gray-400);
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
    }

.mx_AutocompleteInput_suggestion--selected {
    background-color: var(--cpd-color-gray-400);
}

    .mx_AutocompleteInput_suggestion--selected:last-child {
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
    }

.mx_AutocompleteInput_suggestion_title {
    margin-right: 8px;
}

.mx_AutocompleteInput_suggestion_description {
    color: var(--cpd-color-text-secondary);
    font-size: 0.75rem;
}
}
@layer app-web{

/*
Copyright 2021-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BackdropPanel {
    position: absolute;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    -webkit-filter: blur(40px);
            filter: blur(40px);
    -webkit-filter: blur(var(--lp-background-blur));
            filter: blur(var(--lp-background-blur));
    /* Force a new layer for the backdropPanel so it's better hardware supported */
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
}

.mx_BackdropPanel--image {
    position: absolute;
    top: 0;
    left: 0;
    min-height: 100%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}
}
@layer app-web{

.mx_CompatibilityPage {
    width: 100%;
    height: 100%;
    background-color: #e55;
}

.mx_CompatibilityPage_box {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 500px;
    height: 300px;
    border: 1px solid;
    padding: 10px;
    background-color: #fcc;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ContextualMenu_wrapper {
    position: fixed;
    z-index: 5000;
}

.mx_ContextualMenu_background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
}

.mx_ContextualMenu {
    border-radius: 12px;
    -webkit-box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
            box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
    background-color: var(--cpd-color-bg-canvas-default);
    border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-secondary);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    position: absolute;
    z-index: 5001;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

.mx_ContextualMenu_right {
    right: 16px;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_right {
    right: 8px;
}

.mx_ContextualMenu_chevron_right {
    position: absolute;
    right: -8px;
    top: 0px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-left: 8px solid var(--cpd-color-bg-canvas-default);
    border-bottom: 8px solid transparent;
}

.mx_ContextualMenu_left {
    left: 0;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_left {
    left: 8px;
}

.mx_ContextualMenu_chevron_left {
    position: absolute;
    left: -8px;
    top: 0px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-right: 8px solid var(--cpd-color-bg-canvas-default);
    border-bottom: 8px solid transparent;
}

.mx_ContextualMenu_top {
    top: 0;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_top {
    top: 8px;
}

.mx_ContextualMenu_chevron_top {
    position: absolute;
    left: 0px;
    top: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-bottom: 8px solid var(--cpd-color-bg-canvas-default);
    border-right: 8px solid transparent;
}

.mx_ContextualMenu_bottom {
    bottom: 0;
}

.mx_ContextualMenu.mx_ContextualMenu_withChevron_bottom {
    bottom: 8px;
}

.mx_ContextualMenu_chevron_bottom {
    position: absolute;
    left: 0px;
    bottom: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-top: 8px solid var(--cpd-color-bg-canvas-default);
    border-right: 8px solid transparent;
}

.mx_ContextualMenu_rightAligned {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
}

.mx_ContextualMenu_bottomAligned {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ErrorMessage {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.75rem;
    gap: 8px;
    line-height: 1.2em;
    min-height: 2.4em;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

@-webkit-keyframes mx_FileDropTarget_animation {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.95;
    }
}

@keyframes mx_FileDropTarget_animation {
    from {
        opacity: 0;
    }
    to {
        opacity: 0.95;
    }
}

.mx_FileDropTarget {
    min-width: 0;
    width: 100%;
    height: 100%;

    font-size: 1.125rem;
    text-align: center;

    pointer-events: none;

    background-color: var(--cpd-color-bg-canvas-default);
    opacity: 0.95;

    position: absolute;
    z-index: 3000;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    -webkit-animation: mx_FileDropTarget_animation;

            animation: mx_FileDropTarget_animation;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
}

@-webkit-keyframes mx_FileDropTarget_image_animation {
    from {
        -webkit-transform: scaleX(0);
                transform: scaleX(0);
    }
    to {
        -webkit-transform: scaleX(1);
                transform: scaleX(1);
    }
}

@keyframes mx_FileDropTarget_image_animation {
    from {
        -webkit-transform: scaleX(0);
                transform: scaleX(0);
    }
    to {
        -webkit-transform: scaleX(1);
                transform: scaleX(1);
    }
}

.mx_FileDropTarget_image {
    width: 32px;
    -webkit-animation: mx_FileDropTarget_image_animation;
            animation: mx_FileDropTarget_image_animation;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    margin-bottom: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FilePanel {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    overflow-y: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    /* FIXME: rather than having EventTile's default CSS be for MessagePanel,
   we should make EventTile a base CSS class and customise it specifically
   for usage in {Message,File,Notification}Panel. */

    /* Overrides for the attachment body tiles */
}

    .mx_FilePanel .mx_RoomView_messageListWrapper {
        -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;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .mx_FilePanel .mx_RoomView_MessageList {
        width: 100%;
        gap: var(--cpd-space-6x);
    }
    .mx_FilePanel .mx_EventTile {
        word-break: break-word;
        padding-top: 0;

        /* anchor link as wrapper */
    }

        .mx_FilePanel .mx_EventTile + .mx_EventTile {
            border-top: 1px solid var(--cpd-color-gray-400);
            padding-top: var(--cpd-space-6x);
        }

        .mx_FilePanel .mx_EventTile .mx_EventTile_line {
            -webkit-padding-start: 0;
                    padding-inline-start: 0;
        }

        .mx_FilePanel .mx_EventTile .mx_MFileBody [data-type="download"] {
            margin-top: var(--cpd-space-4x);
        }

        .mx_FilePanel .mx_EventTile .mx_ImageBody {
            gap: 0;
        }
        .mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink {
            text-decoration: none;
            margin-bottom: var(--cpd-space-1x);
            display: block;
        }

            .mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink .mx_EventTile_senderDetails {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                margin-top: -2px;
                gap: var(--cpd-space-2x);
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }

                .mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink .mx_EventTile_senderDetails .mx_DisambiguatedProfile {
                    color: var(--cpd-color-text-secondary); /* for ellipsis. Color of displayName and mxid is inherited */
                }

                .mx_FilePanel .mx_EventTile .mx_EventTile_senderDetailsLink .mx_EventTile_senderDetails .mx_MessageTimestamp {
                    margin-left: auto;
                }

    .mx_FilePanel .mx_EventTile_line {
        -webkit-margin-end: 0;
                margin-inline-end: 0;
        -webkit-padding-start: 0;
                padding-inline-start: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_GenericDropdownMenu_button {
    padding: 3px 4px 3px 8px;
    border-radius: 4px;
    line-height: 1.5;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    font-size: 0.75rem;
    color: var(--cpd-color-text-secondary);
}

    .mx_GenericDropdownMenu_button svg {
        width: 18px;
        height: 18px;
        float: right;
    }

.mx_GenericDropdownMenu_button:hover,
.mx_GenericDropdownMenu_button[aria-expanded="true"] {
    background: var(--cpd-color-gray-400);
}
    .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_ContextualMenu {
        position: static;
        position: initial;

        font-size: 0.75rem;
        color: var(--cpd-color-text-secondary);
        padding-top: 10px;
        padding-bottom: 10px;

        border: 1px solid var(--cpd-color-gray-400);
        -webkit-box-shadow: 0 1px 3px rgb(23, 25, 28, 0.05);
                box-shadow: 0 1px 3px rgb(23, 25, 28, 0.05);
    }

    .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_ContextualMenu_chevron_top {
        left: auto;
        right: 22px;
        border-bottom-color: var(--cpd-color-gray-400);
    }

        .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_ContextualMenu_chevron_top::after {
            content: "";
            border: inherit;
            border-bottom-color: var(--cpd-color-bg-canvas-default);
            position: absolute;
            top: 1px;
            left: -8px;
        }

    .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_divider {
        display: block;
        height: 0;
        margin-left: 4px;
        margin-right: 19px;
        border-top: 1px solid var(--cpd-color-gray-400);
    }

    .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -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: 10px 20px 10px 30px;
        position: relative;
    }

        .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;

            margin: 0;
        }

            .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label span:first-child {
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                font-weight: var(--cpd-font-weight-semibold);
            }

        .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--header > .mx_GenericDropdownMenu_Option--label span:first-child {
            font-size: 0.9375rem;
        }
            .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item:hover {
                background-color: #f5f8fa;
            }

            .mx_ContextualMenu_wrapper.mx_GenericDropdownMenu_wrapper .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item .mx_GenericDropdownMenu_Option--checkIcon {
                width: 16px;
                height: 16px;
                margin-left: -22px;
                margin-right: 6px;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                display: inline-block;
                vertical-align: middle;
            }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_HomePage {
    display: grid;
    place-items: center;
    width: min(100% - 50px, 960px);
    height: 100%;
    margin: 0 auto;
    container-type: inline-size;
    container-name: homepage;
}

.mx_HomePage_default {
    text-align: center;
}

    .mx_HomePage_default img {
        height: 48px;
    }

    .mx_HomePage_default h1 {
        margin-bottom: 4px;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 2rem;
        line-height: 1.375;
    }

    .mx_HomePage_default h2 {
        margin-top: 4px;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 1.125rem;
        line-height: 1.5625rem;
        color: #61708b;
    }

    .mx_HomePage_default .mx_MiniAvatarUploader {
        margin: 0 auto;
    }

    .mx_HomePage_default .mx_HomePage_default_buttons {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 5px 40px;
        gap: 5px 40px;
        width: 100%;
        margin-top: 80px;
        margin-bottom: 20px;
    }

        .mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            gap: 13px;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            width: 160px;
            min-height: 132px;
            padding: 8px 15px;
            border-radius: 8px;
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 0.9375rem;
            line-height: 1.25rem;
            color: #fff; /* on all themes */
            background-color: #2e80de;
            background-color: var(--cpd-color-text-action-accent);
        }

            .mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton svg {
                display: block;
                width: 100%;
                height: 40px;
                -o-object-fit: contain;
                   object-fit: contain;
                color: #fff; /* on all themes */
            }

        @container homepage (max-width: 559px) {

    .mx_HomePage_default .mx_HomePage_default_buttons {
            grid-template-columns: 1fr
    }

            .mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton {
                -webkit-box-orient: horizontal;
                -webkit-box-direction: normal;
                    -ms-flex-direction: row;
                        flex-direction: row;
                width: 100%;
                min-height: 0;
            }

                .mx_HomePage_default .mx_HomePage_default_buttons .mx_AccessibleButton svg {
                    width: 24px;
                }
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LargeLoader {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    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%;
}

    .mx_LargeLoader .mx_Spinner {
        -webkit-box-flex: initial;
            -ms-flex: initial;
                flex: initial;
        height: auto;
        margin-bottom: 32px;
        margin-top: 33vh;
    }

    .mx_LargeLoader .mx_LargeLoader_text {
        font-size: 24px;
        font-weight: var(--cpd-font-weight-semibold);
        padding: 0 16px;
        position: relative;
        text-align: center;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_MatrixChat--with-avatar .mx_LeftPanel,
    .mx_MatrixChat--with-avatar .mx_LeftPanel .mx_LeftPanel_roomListContainer {
        background-color: transparent;
    }

.mx_LeftPanel_outerWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 50%;
    position: relative;
}

.mx_LeftPanel_wrapper,
.mx_LeftPanel {
    --collapsedWidth: 68px;
}
    .mx_LeftPanel_panel .mx_LeftPanel_outerWrapper {
        height: 100%;
        max-width: none;
    }

    .mx_LeftPanel_panel .mx_LeftPanel_wrapper--user {
        width: 100%;
    }

.mx_LeftPanel_wrapper {
    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-flex: 1;
        -ms-flex: 1;
            flex: 1;
    height: 100%; /* ensure space panel is still scrollable with an outer wrapper */
}

    .mx_LeftPanel_wrapper .mx_LeftPanel_wrapper--user {
        background-color: rgba(245, 245, 245, 0.9);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        overflow: hidden;
        position: relative;
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

        .mx_LeftPanel_wrapper .mx_LeftPanel_wrapper--user[data-collapsed] {
            max-width: var(--collapsedWidth);
        }

.mx_LeftPanel {
    background-color: rgba(245, 245, 245, 0.9);

    /* Create a row-based flexbox for the space panel and the room list */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    contain: content;
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    overflow: hidden;

    /* Note: The 'room list' in this context is actually everything that isn't the tag */
    /* panel, such as the menu options, breadcrumbs, filtering, etc */

    /* These styles override the defaults for the minimized (66px) layout */
}
    .mx_LeftPanel .mx_LeftPanel_roomListContainer {
        background-color: rgba(245, 245, 245, 0.9);
        -webkit-box-flex: 1;
            -ms-flex: 1 0 0px;
                flex: 1 0 0;
        min-width: 0;
        /* Create another flexbox (this time a column) for the room list components */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_userHeader {
            /* 12px top, 12px sides, 20px bottom (using 13px bottom to account
             * for internal whitespace in the breadcrumbs)
             */
            padding: 12px;
            -ms-flex-negative: 0;
                flex-shrink: 0; /* to convince safari's layout engine the flexbox is fine */

            /* Create another flexbox column for the rows to stack within */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer {
            overflow-y: hidden;
            overflow-x: scroll;
            margin: 12px 12px 0 12px;
            -webkit-box-flex: 0;
                -ms-flex: 0 0 auto;
                    flex: 0 0 auto;
            /* Create yet another flexbox, this time within the row, to ensure items stay */
            /* aligned correctly. This is also a row-based flexbox. */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            contain: content;
        }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer.mx_IndicatorScrollbar_leftOverflow {
                -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black));
                -webkit-mask-image: linear-gradient(90deg, transparent, black 5%);
                        mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black));
                        mask-image: linear-gradient(90deg, transparent, black 5%);
            }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer.mx_IndicatorScrollbar_rightOverflow {
                -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(black), color-stop(95%, black), to(transparent));
                -webkit-mask-image: linear-gradient(90deg, black, black 95%, transparent);
                        mask-image: -webkit-gradient(linear, left top, right top, from(black), color-stop(95%, black), to(transparent));
                        mask-image: linear-gradient(90deg, black, black 95%, transparent);
            }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_breadcrumbsContainer.mx_IndicatorScrollbar_rightOverflow.mx_IndicatorScrollbar_leftOverflow {
                -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black), color-stop(95%, black), to(transparent));
                -webkit-mask-image: linear-gradient(90deg, transparent, black 5%, black 95%, transparent);
                        mask-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(5%, black), color-stop(95%, black), to(transparent));
                        mask-image: linear-gradient(90deg, transparent, black 5%, black 95%, transparent);
            }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer {
            margin: 0 12px;
            padding: 12px 0 8px;
            border-bottom: 1px solid var(--cpd-color-gray-400);

            -ms-flex-negative: 0;

                flex-shrink: 0; /* to convince safari's layout engine the flexbox is fine */

            /* Create a flexbox to organize the inputs */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer + .mx_LegacyRoomListHeader {
                margin-top: 12px;
            }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton,
            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton {
                width: 20px;
                height: 20px;
                padding: var(--cpd-space-1-5x);
                border-radius: 8px;
                background-color: var(--cpd-color-alpha-gray-300);
                margin-left: 8px;
                /* For enhanced visibility under contrast control */
                outline: 1px solid transparent;
            }

                .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton svg, .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton svg {
                    width: inherit;
                    height: inherit;
                    display: block;
                    color: var(--cpd-color-text-secondary);
                }

                .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton:hover, .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton:hover {
                    background-color: var(--cpd-color-gray-800);
                }

                    .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton:hover svg, .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton:hover svg {
                        color: var(--cpd-color-bg-canvas-default);
                    }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LegacyRoomListHeader:first-child {
            margin-top: 12px;
        }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_roomListWrapper {
            /* Make the y-scrollbar more responsive */
            padding-right: 2px;
            overflow: hidden;
            margin-top: 10px; /* so we're not up against the search/filter */
            -webkit-box-flex: 1;
                -ms-flex: 1 0 0px;
                    flex: 1 0 0; /* needed in Safari to properly set flex-basis */
        }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_roomListWrapper.mx_LeftPanel_roomListWrapper_stickyBottom {
                padding-bottom: 32px;
            }

            .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_roomListWrapper.mx_LeftPanel_roomListWrapper_stickyTop {
                padding-top: 32px;
            }

        .mx_LeftPanel .mx_LeftPanel_roomListContainer .mx_LeftPanel_actualRoomListContainer {
            position: relative; /* for sticky headers */
            height: 100%; /* ensure scrolling still works */
        }
    .mx_LeftPanel.mx_LeftPanel_minimized {
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        min-width: 0;
        min-width: initial;
        width: auto !important;
        width: initial !important;
    }

        .mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer {
            width: var(--collapsedWidth);
        }

            .mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_userHeader {
                -webkit-box-orient: horizontal;
                -webkit-box-direction: normal;
                    -ms-flex-direction: row;
                        flex-direction: row;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
            }

            .mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer {
                /* Organize the flexbox into a centered column layout */
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
            }

                .mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_dialPadButton {
                    margin-left: 0;
                    margin-top: 8px;
                    background-color: transparent;
                }

                .mx_LeftPanel.mx_LeftPanel_minimized .mx_LeftPanel_roomListContainer .mx_LeftPanel_filterContainer .mx_LeftPanel_exploreButton {
                    margin-left: 0;
                    margin-top: 8px;
                }

.mx_LeftPanel_newRoomList {
    /* Thew new rooms list is not designed to be collapsed to just icons. */
    /* 224 + 68(spaces bar) was deemed by design to be a good minimum for the left panel. */
    --collapsedWidth: 224px;
    /* Important to force the color on ED titlebar until we remove the old room list */
    background-color: var(--cpd-color-bg-canvas-default) !important;
}

#left-panel .mx_LeftPanel_wrapper--user {
    /*
     * Disable background when using the new room list.
     * This background sometimes shows when the panel is resized and it looks like a thicker border.
     */
    background: none;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MainSplit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    min-width: 0;
    min-height: 0;
    height: 100%;
}
    .mx_MainSplit > .mx_RightPanel_ResizeWrapper:hover .mx_ResizeHandle--horizontal::before {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-150%, -50%);
                transform: translate(-150%, -50%);

        height: 64px; /* to match width of the ones on roomlist */
        width: 4px;
        border-radius: 4px;

        content: "";

        background-color: #ffffff;

        background-color: var(--cpd-color-text-primary);
        opacity: 0.8;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MatrixChat_splash {
    position: relative;
    height: 100%;
    /* PLX branded loading state: brand mark above a centered spinner on the
       app background. Replaces the bare/blank centered spinner. */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 28px;
    background: #0E1621;
    background: var(--cpd-color-bg-canvas-default, #0E1621);
}

.mx_MatrixChat_splashLogo {
    width: 88px;
    height: 88px;
    border-radius: 20px;
    -webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
}

/* Re-center the spinner itself: the default Spinner uses absolute centering
   which we override inside the flex splash. */
.mx_MatrixChat_splash .mx_Spinner {
    position: static;
    height: auto;
}

.mx_MatrixChat_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    height: 100%;
}

.mx_MatrixToolbar {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;

    height: 40px;
}

.mx_MatrixChat {
    position: relative;
    width: 100%;
    height: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-flex: 1;

        -ms-flex: 1;

            flex: 1;
    min-height: 0;
}

/* not the left panel, and not the resize handle, so the roomview and friends */
.mx_MatrixChat > :not(.mx_LeftPanel):not(.mx_SpacePanel):not(.mx_ResizeHandle):not(.mx_LeftPanel_outerWrapper) {
    background-color: var(--cpd-color-bg-canvas-default);

    -webkit-box-flex: 1;

        -ms-flex: 1 1 0px;

            flex: 1 1 0;
    min-width: 0;

    /* To fix https://github.com/vector-im/element-web/issues/3298 where Safari
       needed height 100% all the way down to the HomePage. Height does not
       have to be auto, empirically.
    */
    height: 100%;
}

.mx_MatrixChat > .mx_ResizeHandle--horizontal:hover {
    position: relative;
}

    .mx_MatrixChat > .mx_ResizeHandle--horizontal:hover::before {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);

        height: 64px; /* to match width of the ones on roomlist */
        width: 4px;
        border-radius: 4px;

        content: " ";

        background-color: #ffffff;

        background-color: var(--cpd-color-text-primary);
        opacity: 0.8;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NonUrgentToastContainer {
    position: absolute;
    bottom: 30px;
    left: 28px;
    z-index: 101; /* same level as other toasts */
}

    .mx_NonUrgentToastContainer .mx_NonUrgentToastContainer_toast {
        padding: 10px 12px;
        border-radius: 8px;
        width: 320px;
        font-size: 0.8125rem;
        margin-top: 8px;

        /* We don't use variables on the colours because we want it to be the same */
        /* in all themes. */
        background-color: #17191c;
        color: #fff;
    }
}
@layer app-web{

/*
Copyright 2026 Element Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PictureInPictureDragger {
    cursor: -webkit-grab;
    cursor: grab;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    left: 0;
    position: fixed;
    top: 0;
    /* Display above any widget elements */
    z-index: 102;
}

.mx_PictureInPictureDragger:active {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_QuickSettingsButton {
    /* !important override compound */
    border-radius: 8px !important;
    margin: 12px auto 12px;
}

    .mx_QuickSettingsButton svg {
        fill: var(--cpd-color-text-secondary);
    }

    .mx_QuickSettingsButton:not(.expanded):hover {
        /**
         * override compound default background color when hovered
         * should disappear when the space panel will be migrated to compound
         */
        background-color: var(--cpd-color-gray-600) !important;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

        .mx_QuickSettingsButton:not(.expanded):hover svg {
            fill: #ffffff;
            fill: var(--cpd-color-text-primary);
        }

    .mx_QuickSettingsButton.expanded {
        /**
         * override compound default background color when hovered
         * should disappear when the space panel will be migrated to compound
         */
        background-color: transparent !important;

        /* align with settings icon */
        margin-left: 21px;
        margin-right: 8px;
        width: 100%;

        /**
         * modify internal css of the compound component
         * dirty but we need to add the label into the indicator icon button
         **/
    }
        .mx_QuickSettingsButton.expanded > div {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

        .mx_QuickSettingsButton.expanded svg {
            /* align with settings label */
            margin-right: 14px;
            /* required to set the icon width when into a flex container */
            width: 24px;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

        .mx_QuickSettingsButton.expanded .mx_QuickSettingsButton_label {
            /* !important override compound  */
            color: var(--cpd-color-text-secondary) !important;
        }

.mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu {
    padding: 16px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    min-width: 200px;
    contain: unset; /* let the dropdown paint beyond the context menu */
}

    .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu > div > h2 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--cpd-color-text-secondary);
        margin: 0 0 16px;
    }

    .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_AccessibleButton_hasKind {
        display: block;
        margin-top: 4px;
    }

    .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu > div > h4 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.75rem;
        line-height: 0.9375rem;
        text-transform: uppercase;
        color: var(--cpd-color-text-secondary);
        margin: 20px 0 12px;
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_QuickSettingsButton_moreOptionsButton {
        margin-left: var(--cpd-space-7x);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        position: relative;
        margin-bottom: 16px;
    }

    .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_QuickSettingsButton_option {
        margin-bottom: var(--cpd-space-3x);
    }
        .mx_QuickSettingsButton_ContextMenuWrapper .mx_ContextualMenu .mx_QuickSettingsButton_option label {
            /* Correctly line up icons and text. */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
        }
    .mx_QuickSettingsButton_ContextMenuWrapper_new_room_list .mx_QuickThemeSwitcher {
        margin-top: var(--cpd-space-2x);
    }

.mx_QuickSettingsButton_icon {
    margin-right: var(--cpd-space-1x);
    color: var(--cpd-color-text-secondary);
    width: 18px;
    height: 18px;
    margin-top: auto;
    margin-bottom: auto;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RightPanel {
    overflow-x: hidden;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-left: 1px solid var(--cpd-color-gray-400);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 100%;
    contain: strict;
    background-color: var(--cpd-color-bg-canvas-default);
}

    .mx_RightPanel .mx_RoomView_MessageList {
        padding: 14px 18px; /* top and bottom is 4px smaller to balance with the padding set above */
    }

.mx_RightPanel .mx_MemberList,
.mx_RightPanel .mx_MemberInfo {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
}

.mx_RightPanel .mx_RoomView_messagePanelSpinner {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: auto;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Note: this component expects to be contained within a flexbox */
.mx_RoomSearch {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    border-radius: 8px;
    background-color: var(--cpd-color-alpha-gray-300);
    /* keep border thickness consistent to prevent movement */
    border: 1px solid transparent;
    height: 28px;
    padding: 1px;

    /* Create a flexbox for the icons (easier to manage) */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    cursor: pointer;
}

    .mx_RoomSearch .mx_RoomSearch_icon {
        width: 20px;
        height: 20px;
        color: var(--cpd-color-text-secondary);
        margin-left: var(--cpd-space-2x);
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

    .mx_RoomSearch .mx_RoomSearch_spotlightTriggerText {
        color: var(--cpd-color-text-secondary);
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        min-width: 0;
        /* the following rules are to match that of a real input field */
        overflow: hidden;
        margin: 9px;
        font: var(--cpd-font-body-sm-semibold);
    }

    .mx_RoomSearch .mx_RoomSearch_shortcutPrompt {
        border-radius: 6px;
        background-color: var(--cpd-color-alpha-gray-300);
        padding: 2px 4px;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        font-size: 0.75rem;
        line-height: 0.9375rem;
        font-family: inherit;
        font-weight: var(--cpd-font-weight-semibold);
        color: #747474;
        margin-right: 6px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .mx_RoomSearch.mx_RoomSearch_minimized {
        height: 32px;
        min-height: 32px;
        width: 32px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

        .mx_RoomSearch.mx_RoomSearch_minimized .mx_RoomSearch_icon {
            margin: 0 auto;
            padding: 1px;
            -ms-flex-item-align: center;
                align-self: center;
        }

        .mx_RoomSearch.mx_RoomSearch_minimized .mx_RoomSearch_shortcutPrompt {
            display: none;
        }

    .mx_RoomSearch:hover {
        background-color: var(--cpd-color-gray-800);
    }

        .mx_RoomSearch:hover .mx_RoomSearch_spotlightTriggerText {
            color: var(--cpd-color-bg-canvas-default);
        }

        .mx_RoomSearch:hover .mx_RoomSearch_shortcutPrompt {
            background-color: var(--cpd-color-bg-canvas-default);
            color: var(--cpd-color-text-secondary);
        }

        .mx_RoomSearch:hover .mx_RoomSearch_icon {
            color: var(--cpd-color-bg-canvas-default);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
    --RoomView_MessageList-padding: 18px;
}
    .mx_LeftPanel_panel .mx_RoomView_wrapper {
        height: 100%;
    }

.mx_RoomView_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    /* Contain the amount of layers rendered by constraining what actually needs re-layering via css */
    contain: strict;
}

.mx_RoomView {
    word-wrap: break-word;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
}

    .mx_RoomView .mx_MainSplit {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
    }

    .mx_RoomView .mx_MessageComposer {
        width: 100%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin-right: 2px;
        padding-bottom: 1em;
    }

.mx_RoomView_auxPanel_hiddenHighlights {
    border-bottom: 1px solid transparent;
    padding: 10px 26px;
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    cursor: pointer;
}

.mx_RoomView_messagePanel {
    width: 100%;
    overflow-y: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    overflow-anchor: none;
}

.mx_RoomView_messagePanelSearchSpinner {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    background-image: url(../../img/typing-indicator-2x.e13c259.gif);
    background-position: center 367px;
    background-size: 25px;
    background-repeat: no-repeat;
    position: relative;
}

    .mx_RoomView_messagePanelSearchSpinner svg {
        color: var(--cpd-color-gray-900);
        width: 50px;
        height: 50px;
        position: absolute;
        top: 286px;
        left: calc(50% - 25px);
    }

.mx_RoomView_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    container-type: size;
    container-name: roomview;
}

    .mx_RoomView_body .mx_RoomView_messagePanel,
    .mx_RoomView_body .mx_RoomView_messagePanelSpinner,
    .mx_RoomView_body .mx_RoomView_messagePanelSearchSpinner {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
    }

    .mx_RoomView_body .mx_RoomView_timeline {
        /* offset parent for mx_RoomView_topUnreadMessagesBar  */
        position: relative;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-right: calc(8px / 2);
        margin-right: calc(var(--container-gap-width) / 2);
    }

.mx_RoomView_statusArea {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;

    max-height: 0px;
    background-color: var(--cpd-color-bg-canvas-default);
    z-index: 1000;
    overflow: hidden;

    -webkit-transition: all 0.2s ease-out;

    transition: all 0.2s ease-out;
}

.mx_RoomView_statusArea_expanded {
    max-height: 100px;
}

.mx_RoomView_statusAreaBox {
    margin: auto;
    min-height: 50px;
}

.mx_RoomView_statusAreaBox_line {
    margin-left: 65px;
    border-top: 1px solid transparent;
    height: 1px;
}

.mx_RoomView_messageListWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    position: relative;
}
    .mx_RoomView_searchResultsPanel .mx_RoomView_messageListWrapper {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
    }

        .mx_RoomView_searchResultsPanel .mx_RoomView_messageListWrapper > .mx_RoomView_MessageList > li > ol {
            list-style-type: none;
        }

    .mx_RoomView_searchResultsPanel a {
        text-decoration: none;
        color: inherit;
    }

.mx_RoomView_empty {
    font-size: 0.8125rem;
    padding: 0 24px;
    margin-right: 30px;
    text-align: center;
    margin-bottom: 80px; /* visually center the content (intentional offset) */
}

.mx_RoomView_MessageList {
    list-style-type: none;
    padding: 18px;
    padding: var(--RoomView_MessageList-padding); /* mx_ProfileResizer depends on this value */
    margin: 0;
    /* needed as min-height is set to clientHeight in ScrollPanel
    to prevent shrinking when WhoIsTypingTile is hidden */
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

    .mx_RoomView_MessageList li {
        clear: both;
    }

    .mx_ScrollPanel .mx_RoomView_MessageList {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;

        content-visibility: auto;
        contain-intrinsic-size: 50px;
    }

    .mx_RoomView--local .mx_ScrollPanel .mx_RoomView_MessageList {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
    .mx_RoomView_inCall .mx_RoomView_statusAreaBox_line {
        margin-top: 2px;
        border: none;
        height: 0px;
    }

    .mx_RoomView_inCall .mx_MessageComposer_wrapper {
        border-top: 2px hidden;
        padding-top: 1px;
    }
    .mx_MatrixChat_useCompactLayout .mx_RoomView_MessageList {
        margin-bottom: 4px;
    }

        .mx_MatrixChat_useCompactLayout .mx_RoomView_MessageList h2 {
            margin-top: 6px;
        }

    .mx_MatrixChat_useCompactLayout .mx_RoomView_statusAreaBox {
        min-height: 42px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SearchBox {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    min-width: 0;
    min-height: 36px; /* to avoid jumping when the X to clear shows/hides */
}

    .mx_SearchBox.mx_SearchBox_blurred:not(:hover) {
        background-color: transparent;
    }

    .mx_SearchBox .mx_SearchBox_closeButton {
        cursor: pointer;
        height: 16px;
        width: 16px;
        padding: 9px;
    }

        .mx_SearchBox .mx_SearchBox_closeButton svg {
            height: inherit;
            width: inherit;
            color: var(--cpd-color-icon-secondary);
        }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SpaceRoomView_landing .mx_AccessibleButton_kind_link {
        font-size: inherit;
    }

    .mx_SpaceRoomView_landing .mx_SearchBox {
        margin: 24px 0 16px;
    }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_noResults {
        text-align: center;
    }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_noResults > div {
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: var(--cpd-color-text-secondary);
        }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 12px;
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin-bottom: 12px;
    }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_SpaceHierarchy_listHeader_header {
            grid-column-start: 1;
            font-weight: var(--cpd-font-weight-semibold);
            margin: 0;
        }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_SpaceHierarchy_listHeader_buttons {
            grid-column-start: 2;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-flow: wrap;
                flex-flow: wrap;
            gap: 12px;
            min-height: 32px;
        }

            .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_SpaceHierarchy_listHeader_buttons .mx_AccessibleButton {
                padding: 4px 12px;
                font-weight: normal;
            }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_AccessibleButton_kind_danger_outline,
        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_listHeader .mx_AccessibleButton_kind_primary_outline {
            padding: 3px 12px; /* to account for the 1px border */
        }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_error {
        position: relative;
        font-weight: var(--cpd-font-weight-semibold);
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
        font-size: 0.9375rem;
        line-height: 1.125rem;
        margin: 20px auto 12px;
        padding-left: 24px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
    }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_error::before {
            content: "";
            position: absolute;
            height: 16px;
            width: 16px;
            left: 0;
            background-image: url(../../icons/error-solid.7cb2e4d.svg);
            background-size: cover;
            background-repeat: no-repeat;
        }
        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_roomCount > h3 {
            display: inline;
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.125rem;
            line-height: 1.375rem;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_roomCount > span {
            margin-left: 8px;
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: var(--cpd-color-text-secondary);
        }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_toggle {
        position: absolute;
        left: -1px;
        top: 10px;
        height: 16px;
        width: 16px;
        border-radius: 4px;
        background-color: var(--cpd-color-bg-canvas-default);
    }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_toggle svg {
            width: inherit;
            height: inherit;
            color: var(--cpd-color-gray-800);
            -webkit-transform: rotate(270deg);
                    transform: rotate(270deg);
        }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_toggle.mx_SpaceHierarchy_subspace_toggle_shown svg {
            -webkit-transform: rotate(0deg);
                    transform: rotate(0deg);
        }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_children {
        position: relative;
        padding-left: 12px;
    }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper {
            list-style: none;
        }

            .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile {
                position: relative;
                padding: 8px 16px;
                border-radius: 8px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;

                display: -webkit-box;

                display: -ms-flexbox;

                display: flex;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
                gap: 6px 12px;
            }

                .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item {
                    font-weight: var(--cpd-font-weight-semibold);
                    font-size: 0.9375rem;
                    line-height: 1.125rem;
                    display: grid;
                    grid-template-columns: 20px auto;
                    grid-gap: 6px 8px;
                    gap: 6px 8px;
                    -webkit-box-align: center;
                        -ms-flex-align: center;
                            align-items: center;
                    -webkit-box-flex: 1;
                        -ms-flex: 1;
                            flex: 1; /* wrap action buttons */
                }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_avatar {
                        grid-row: 1;
                        grid-column: 1;
                    }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name {
                        grid-row: 1;
                        grid-column: 2;
                    }

                        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_InfoTooltip,
                        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_SpaceHierarchy_roomTile_joined {
                            margin-left: 12px;
                            color: var(--cpd-color-gray-800);
                            font-size: 0.75rem;
                            line-height: 0.9375rem;
                        }

                        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_InfoTooltip {
                            display: inline-block;
                        }

                        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_SpaceHierarchy_roomTile_joined {
                            display: -webkit-inline-box;
                            display: -ms-inline-flexbox;
                            display: inline-flex;
                            -webkit-box-align: center;
                                -ms-flex-align: center;
                                    align-items: center;
                            vertical-align: middle;
                        }

                            .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_name .mx_SpaceHierarchy_roomTile_joined svg {
                                width: 20px;
                                height: 20px;
                                color: #2e80de;
                                color: var(--cpd-color-text-action-accent);
                            }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_roomTile_item .mx_SpaceHierarchy_roomTile_info {
                        grid-row: 2;
                        grid-column: 2;
                        font: var(--cpd-font-body-md-regular);
                        font-weight: normal;
                        font-weight: initial;
                        line-height: 1.125rem;
                        color: var(--cpd-color-text-secondary);
                        display: -webkit-box;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 2;
                        overflow: hidden;
                    }

                .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-align: center;
                        -ms-flex-align: center;
                            align-items: center;
                    -webkit-column-gap: 12px;
                       -moz-column-gap: 12px;
                            column-gap: 12px;
                    margin-left: auto;
                }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions .mx_AccessibleButton {
                        line-height: 1.5rem;
                        padding: 4px 16px;
                        display: inline-block;
                        visibility: hidden;
                    }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions .mx_AccessibleButton_kind_danger_outline,
                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile .mx_SpaceHierarchy_actions .mx_AccessibleButton_kind_primary_outline {
                        padding: 3px 16px; /* to account for the 1px border */
                    }

                .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:hover,
                .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:focus-within {
                    background-color: rgba(232, 232, 232, 0.77);
                }

                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:hover .mx_AccessibleButton, .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile:focus-within .mx_AccessibleButton {
                        visibility: visible;
                    }
                    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_list li.mx_SpaceHierarchy_roomTileWrapper .mx_SpaceHierarchy_roomTile.mx_SpaceHierarchy_joining .mx_AccessibleButton {
                        visibility: visible;
                        padding: 4px 18px;
                    }
        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_roomTile::before, .mx_SpaceRoomView_landing .mx_SpaceHierarchy_subspace_children::before {
            content: "";
            position: absolute;
            background-color: rgba(232, 232, 232, 0.77);
            width: 1px;
            height: 100%;
            left: 6px;
            top: 0;
        }
        .mx_SpaceRoomView_landing .mx_SpaceHierarchy_actions .mx_SpaceHierarchy_actionsText {
            font-weight: normal;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

    .mx_SpaceRoomView_landing > hr {
        border: none;
        height: 1px;
        background-color: rgb(141, 151, 165, 0.2);
        margin: 20px 0;
    }

    .mx_SpaceRoomView_landing .mx_SpaceHierarchy_createRoom {
        display: block;
        margin: 16px auto 0;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpacePanel {
    --activeBackground-color: var(--cpd-color-alpha-gray-300);
    --activeBorder-color: var(--cpd-color-text-primary);
    --activeBorder-transparent-gap: 1px;
    --gutterSize: 14px;
    --height-nested: 24px;
    --height-topLevel: 32px;

    background-color: rgba(232, 232, 232, 0.77);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    padding: 0;
    margin: 0;
    position: relative;
    /* Fix for the blurred avatar-background */
    z-index: 1;

    /* For enhanced visibility under contrast control */
    outline: 1px solid transparent;

    /* Create another flexbox so the Panel fills the container */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    /* root space buttons are bigger and not indented */
}

    .mx_SpacePanel.collapsed {
        width: 68px;
    }

    .mx_SpacePanel.newUi {
        background-color: var(--cpd-color-bg-canvas-default);
        border-right: 1px solid var(--cpd-color-bg-subtle-primary);
    }

    .mx_SpacePanel .mx_SpacePanel_toggleCollapse {
        position: absolute;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background-color: var(--cpd-color-gray-800);
        top: 19px; /* v-align with avatar */
        right: -8px;
    }

        .mx_SpacePanel .mx_SpacePanel_toggleCollapse svg {
            height: inherit;
            width: inherit;
            display: inline-block;
            color: var(--cpd-color-bg-canvas-default);
            /* Slight alignment tweak to center the asset */
            margin-left: 1px;
        }

        .mx_SpacePanel .mx_SpacePanel_toggleCollapse:not(.expanded) {
            opacity: 0;
        }

        .mx_SpacePanel .mx_SpacePanel_toggleCollapse.expanded svg {
            -webkit-transform: rotate(180deg);
                    transform: rotate(180deg);
            /* Slight alignment tweak to center the asset */
            margin-left: -1px;
        }

    .mx_SpacePanel:hover .mx_SpacePanel_toggleCollapse,
    .mx_SpacePanel .mx_SpacePanel_toggleCollapse:focus-visible {
        opacity: 1;
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

    .mx_SpacePanel ul {
        margin: 0;
        list-style: none;
        padding: 0;
    }

    .mx_SpacePanel .mx_SpaceButton_toggleCollapse {
        cursor: pointer;
    }
        .mx_SpacePanel .mx_SpaceItem_dragging .mx_SpaceButton_toggleCollapse {
            visibility: hidden;
        }

    .mx_SpacePanel .mx_SpaceItem {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
    }

        .mx_SpacePanel .mx_SpaceItem.mx_SpaceItem_narrow {
            -ms-flex-item-align: baseline;
                align-self: baseline;
        }
        .mx_SpacePanel .mx_SpaceItem.collapsed > .mx_SpaceButton > .mx_SpaceButton_toggleCollapse {
            padding: 0 10px;
            margin: 0 -10px;
        }

        .mx_SpacePanel .mx_SpaceItem.collapsed > .mx_SpaceTreeLevel {
            display: none;
        }

    .mx_SpacePanel .mx_SpaceItem_new {
        position: relative;
    }

    .mx_SpacePanel .mx_SpaceItem:not(.hasSubSpaces) > .mx_SpaceButton {
        margin-left: var(--gutterSize);
        min-width: 40px;
    }

    .mx_SpacePanel .mx_SpaceButton {
        border-radius: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 4px 4px 4px 0;
        width: 100%;
        /* Override the unlayered cursor: grab; rule from react-beautiful-dnd */
        cursor: pointer !important;
    }
            .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_active:not(.mx_SpaceButton_narrow) .mx_SpaceButton_selectionWrapper {
                background-color: var(--activeBackground-color);
            }

            .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_active.mx_SpaceButton_narrow .mx_SpaceButton_selectionWrapper {
                padding: var(--activeBorder-transparent-gap);
                border: 3px var(--activeBorder-color) solid;
            }

        .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_selectionWrapper {
            position: relative;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            border-radius: 12px;
            padding: 4px;
            width: calc(100% - 32px);
            min-width: 0;
        }

        .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_narrow .mx_SpaceButton_selectionWrapper {
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            width: 32px;
        }

        .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_name {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            margin-left: 8px;
            white-space: nowrap;
            display: block;
            text-overflow: ellipsis;
            overflow: hidden;
            font: var(--cpd-font-body-md-regular);
        }

        .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_toggleCollapse {
            height: 20px;
            width: var(--gutterSize);
            -ms-flex-negative: 0;
                flex-shrink: 0;
            padding: 10px 0;
        }

            .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_toggleCollapse svg {
                width: 20px;
                height: inherit;
                display: inline-block;
                color: var(--cpd-color-gray-800);
                /* Re-align with parent */
                margin-left: -3px;
            }

        .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_icon {
            /* Calculate height excluding padding to allow svg to inherit */
            width: calc(var(--height-topLevel) - 14px);
            height: calc(var(--height-topLevel) - 14px);
            -ms-flex-negative: 0;
                flex-shrink: 0;
            border-radius: 8px;
            padding: 7px;
            background-color: var(--cpd-color-alpha-gray-300);
        }

            .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_icon svg {
                width: inherit;
                height: inherit;
                display: block;
                color: var(--cpd-color-text-secondary);
            }

        .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_new .mx_SpaceButton_icon {
            background-color: transparent;
            background-color: initial;
        }

            .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_new .mx_SpaceButton_icon svg {
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                -webkit-transition: all 0.2s ease-in-out;
                transition: all 0.2s ease-in-out; /* TODO transition */
            }

        .mx_SpacePanel .mx_SpaceButton.mx_SpaceButton_newCancel .mx_SpaceButton_icon svg {
            -webkit-transform: rotate(45deg);
                    transform: rotate(45deg);
        }

        .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_menuButton {
            width: 16px;
            height: 16px;
            padding: var(--cpd-space-0-5x);
            -ms-flex-negative: 0;
                flex-shrink: 0;
            margin-top: auto;
            margin-bottom: auto;
            display: none;
            position: absolute;
            right: 4px;
        }

            .mx_SpacePanel .mx_SpaceButton .mx_SpaceButton_menuButton svg {
                width: inherit;
                height: inherit;
                display: block;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

    .mx_SpacePanel .mx_SpaceTreeLevel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        max-width: 250px;
        min-width: 0;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

        .mx_SpacePanel .mx_SpaceTreeLevel .mx_SpaceTreeLevel {
            /* Indent subspaces */
            padding-left: 16px;
        }

    .mx_SpacePanel .mx_SpaceButton_avatarWrapper {
        position: relative;
        line-height: 0;
    }

    .mx_SpacePanel .mx_SpacePanel_badgeContainer {
        /* Create a flexbox to make aligning dot badges easier */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: absolute;
        right: -3px;
        top: -3px;
    }

        .mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge {
            margin: 0 2px; /* centering */
            background-clip: padding-box;
        }

        .mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge_dot {
            /* make the smaller dot occupy the same width for centering */
            margin: 0 -1px 0 0;
            border: 3px solid rgba(232, 232, 232, 0.77);
        }

        .mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge_2char,
        .mx_SpacePanel .mx_SpacePanel_badgeContainer .mx_NotificationBadge_3char {
            margin: -5px -5px 0 0;
            border: 2px solid rgba(232, 232, 232, 0.77);
        }
        .mx_SpacePanel .mx_SpaceButton:hover:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_menuButton, .mx_SpacePanel .mx_SpaceButton:focus-within:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_menuButton, .mx_SpacePanel .mx_SpaceButton_hasMenuOpen:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_menuButton {
            display: block;
        }
            .mx_SpacePanel .mx_SpaceItem:not(.mx_SpaceItem_new) .mx_SpaceButton:hover:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_name, .mx_SpacePanel .mx_SpaceItem:not(.mx_SpaceItem_new) .mx_SpaceButton:focus-within:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_name, .mx_SpacePanel .mx_SpaceItem:not(.mx_SpaceItem_new) .mx_SpaceButton_hasMenuOpen:not(.mx_SpaceButton_narrow):not(.mx_SpaceButton_invite) .mx_SpaceButton_name {
                max-width: calc(100% - 56px);
            }
    .mx_SpacePanel > .mx_AutoHideScrollbar {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        padding: 0 0 16px 0;
        scrollbar-gutter: stable;
    }

        .mx_SpacePanel > .mx_AutoHideScrollbar.mx_IndicatorScrollbar_topOverflow {
            -webkit-mask-image: linear-gradient(to bottom, transparent, black 16px);
                    mask-image: linear-gradient(to bottom, transparent, black 16px);
        }

        .mx_SpacePanel > .mx_AutoHideScrollbar.mx_IndicatorScrollbar_bottomOverflow {
            -webkit-mask-image: linear-gradient(
                to top,
                transparent,
                rgb(255, 255, 255, 30%) 4px,
                rgb(255, 255, 255, 55%) 8px,
                rgb(255, 255, 255, 75%) 12px,
                black 16px
            );
                    mask-image: linear-gradient(
                to top,
                transparent,
                rgb(255, 255, 255, 30%) 4px,
                rgb(255, 255, 255, 55%) 8px,
                rgb(255, 255, 255, 75%) 12px,
                black 16px
            );
        }

        .mx_SpacePanel > .mx_AutoHideScrollbar.mx_IndicatorScrollbar_topOverflow.mx_IndicatorScrollbar_bottomOverflow {
            /* This stacks two gradients on top of one another, which lets us
               have a fixed pixel offset from both top and bottom for the colour stops.
               Note the top fade is much smaller because the spaces start close to the top,
               so otherwise a large gradient suddenly appears when you scroll down.
             */
            -webkit-mask-image:
                linear-gradient(to bottom, transparent, black 16px),
                linear-gradient(
                    to top,
                    transparent,
                    rgb(255, 255, 255, 30%) 4px,
                    rgb(255, 255, 255, 55%) 8px,
                    rgb(255, 255, 255, 75%) 12px,
                    black 16px
                );
                    mask-image:
                linear-gradient(to bottom, transparent, black 16px),
                linear-gradient(
                    to top,
                    transparent,
                    rgb(255, 255, 255, 30%) 4px,
                    rgb(255, 255, 255, 55%) 8px,
                    rgb(255, 255, 255, 75%) 12px,
                    black 16px
                );
            -webkit-mask-position:
                0% 0%,
                0% 100%;
                    mask-position:
                0% 0%,
                0% 100%;
            -webkit-mask-size:
                calc(100% - 10px) 50%,
                calc(100% - 10px) 50%;
                    mask-size:
                calc(100% - 10px) 50%,
                calc(100% - 10px) 50%;
            -webkit-mask-repeat: no-repeat;
                    mask-repeat: no-repeat;
        }

.mx_SpacePanel_contextMenu {
    max-width: 360px;
}

    .mx_SpacePanel_contextMenu .mx_SpacePanel_contextMenu_header {
        margin: 12px 16px 12px;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.125rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .mx_SpacePanel_contextMenu .mx_SpacePanel_contextMenu_separatorLabel {
        color: var(--cpd-color-gray-800);
        font-size: 0.625rem;
        line-height: 0.75rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_SpacePanel_sharePublicSpace {
    margin: 0;
}
    .mx_SpacePanel_Tooltip_KeyboardShortcut kbd {
        font-family: inherit;
        text-transform: capitalize;
    }
}
@layer app-web{

/*
Copyright 2025 Element Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpacePillButton {
    position: relative;
    padding: 16px 32px 16px 72px;
    width: 432px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 8px;
    border: 1px solid var(--cpd-color-text-secondary);
    font-size: 1.0625rem;
    font-weight: var(--cpd-font-weight-semibold);
    margin: 20px 0;
}

    .mx_SpacePillButton > div {
        margin-top: 4px;
        font-weight: normal;
        font-size: 0.9375rem;
        color: var(--cpd-color-text-secondary);
    }

    .mx_SpacePillButton svg {
        position: absolute;
        content: "";
        width: 28px;
        height: 28px;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        left: 22px;
        color: var(--cpd-color-gray-800);
    }

    .mx_SpacePillButton:hover {
        border-color: #2e80de;
        border-color: var(--cpd-color-bg-action-primary-rest);
    }

        .mx_SpacePillButton:hover svg {
            color: var(--cpd-color-icon-primary);
        }

        .mx_SpacePillButton:hover > span {
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceRoomView {
    --innerWidth: 428px;

    overflow-y: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

    .mx_SpaceRoomView .mx_MainSplit > div:first-child {
        padding: 80px 60px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        max-height: 100%;
        overflow-y: auto;
    }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child h1 {
            margin: 0;
            font-size: 1.5rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: #ffffff;
            color: var(--cpd-color-text-primary);
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content;
        }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_description {
            font-size: 0.9375rem;
            color: var(--cpd-color-text-secondary);
            margin-top: 12px;
            margin-bottom: 24px;
            max-width: var(--innerWidth);
        }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_AddExistingToSpace {
            max-width: var(--innerWidth);
        }

            .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_AddExistingToSpace .mx_AddExistingToSpace_content {
                height: calc(100vh - 360px);
                max-height: 400px;
            }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_buttons {
            display: block;
            margin-top: 44px;
            width: var(--innerWidth);
            text-align: right; /* button alignment right */
        }

            .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_buttons .mx_AccessibleButton_hasKind {
                padding: 8px 22px;
                margin-left: 16px;
            }

            .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_buttons input.mx_AccessibleButton {
                border: none; /* override default styles */
            }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_Field {
            max-width: var(--innerWidth);
        }

            .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_Field + .mx_Field {
                margin-top: 28px;
            }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_SpaceRoomView_errorText {
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
            margin-bottom: 28px;
        }

        .mx_SpaceRoomView .mx_MainSplit > div:first-child .mx_AccessibleButton_disabled {
            cursor: not-allowed;
        }

    .mx_SpaceRoomView .mx_SpaceRoomView_landing {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        min-width: 0;
    }

        .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_header {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
        }

            .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_header .mx_BaseAvatar {
                width: 80px;
            }

        .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name {
            margin: 24px 0 16px;
            font-size: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

            .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name > span {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-flow: column;
                        flex-flow: column;
                gap: 12px 0;
            }

                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name > span h1 {
                    display: inline-block;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;
                    width: 100%;
                }
                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_name .mx_SpaceRoomView_landing_inviter .mx_BaseAvatar {
                    margin-right: 4px;
                    vertical-align: middle;
                }

        .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar {
            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;
            gap: 12px;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            line-height: 1.5rem;
        }

            .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                gap: 12px 12px;
            }

                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_FacePile {
                    display: inline-block;
                    cursor: pointer;
                    /* For enhanced visibility under contrast control */
                    outline: 1px solid transparent;
                }

                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton,
                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton {
                    position: relative;
                }

                    .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton svg, .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton svg {
                        position: absolute;
                    }

                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton {
                    padding: 4px 18px 4px 40px;
                    height: -webkit-min-content;
                    height: -moz-min-content;
                    height: min-content;
                }

                    .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_inviteButton svg {
                        left: 8px;
                        height: 16px;
                        width: 16px;
                        color: var(--cpd-color-icon-on-solid-primary);
                    }

                .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton {
                    width: 24px;
                    height: 24px;
                }

                    .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_infoBar .mx_SpaceRoomView_landing_infoBar_interactive .mx_SpaceRoomView_landing_settingsButton svg {
                        left: 0;
                        top: 0;
                        height: 24px;
                        width: 24px;
                        color: var(--cpd-color-gray-800);
                    }

        .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SpaceRoomView_landing_topic {
            font-size: 0.9375rem;
            margin-top: 12px;
            margin-bottom: 16px;
            white-space: pre-wrap;
            word-wrap: break-word;
        }

        .mx_SpaceRoomView .mx_SpaceRoomView_landing .mx_SearchBox {
            margin: 0 0 20px;
            -webkit-box-flex: 0;
                -ms-flex: 0;
                    flex: 0;
        }
        .mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons {
            color: var(--cpd-color-text-secondary);
            margin-top: 28px;
        }

            .mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons .mx_AccessibleButton {
                position: relative;
                display: inline-block;
                padding-left: 32px;
                line-height: 24px; /* to center icons */
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                font-weight: var(--cpd-font-weight-semibold);
                text-decoration: underline;
            }

                .mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons .mx_AccessibleButton svg {
                    position: absolute;
                    height: 24px;
                    width: 24px;
                    top: 0;
                    left: 0;
                    color: var(--cpd-color-icon-primary);
                }

                .mx_SpaceRoomView .mx_SpaceRoomView_inviteTeammates .mx_SpaceRoomView_inviteTeammates_buttons .mx_AccessibleButton + .mx_AccessibleButton {
                    margin-left: 32px;
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SplashPage {
    position: relative;
    height: 100%;
}

    .mx_SplashPage::before {
        content: "";
        display: block;
        position: absolute;
        z-index: -1;
        opacity: 0.6;
        background-image:
            radial-gradient(
                53.85% 66.75% at 87.55% 0%,
                hsl(250deg, 76%, 71%, 0.261) 0%,
                hsl(250deg, 100%, 88%, 0) 100%
            ),
            radial-gradient(41.93% 41.93% at 0% 0%, hsl(222deg, 29%, 20%, 0.28) 0%, hsl(250deg, 100%, 88%, 0) 100%),
            radial-gradient(100% 100% at 0% 0%, hsl(250deg, 100%, 88%, 0.174) 0%, hsl(0deg, 100%, 86%, 0) 100%),
            radial-gradient(106.35% 96.26% at 100% 0%, hsl(250deg, 100%, 88%, 0.4) 0%, hsl(167deg, 76%, 82%, 0) 100%);
        /* blur to reduce color banding issues due to alpha-blending multiple gradients */
        -webkit-filter: blur(8px);
                filter: blur(8px);
        inset: -9px;
        -webkit-mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            /* gradient to apply different amounts of dithering to different parts of the gradient */
            linear-gradient(
                    to bottom,
                    /* 10% dithering at the top */ rgb(0, 0, 0, 0.9) 20%,
                    /* 80% dithering at the bottom */ rgb(0, 0, 0, 0.2) 100%
                );
        -webkit-mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            /* gradient to apply different amounts of dithering to different parts of the gradient */
            linear-gradient(
                    to bottom,
                    /* 10% dithering at the top */ rgb(0, 0, 0, 0.9) 20%,
                    /* 80% dithering at the bottom */ rgb(0, 0, 0, 0.2) 100%
                );
                mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            /* gradient to apply different amounts of dithering to different parts of the gradient */
            linear-gradient(
                    to bottom,
                    /* 10% dithering at the top */ rgb(0, 0, 0, 0.9) 20%,
                    /* 80% dithering at the bottom */ rgb(0, 0, 0, 0.2) 100%
                );
                mask:
            /* mask to dither resulting combined gradient */
            url(../../img/noise.8322d5a.png),
            /* gradient to apply different amounts of dithering to different parts of the gradient */
            linear-gradient(
                    to bottom,
                    /* 10% dithering at the top */ rgb(0, 0, 0, 0.9) 20%,
                    /* 80% dithering at the bottom */ rgb(0, 0, 0, 0.2) 100%
                );
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd
Copyright 2017 Travis Ralston

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_TabbedView {
    margin: 0;
    padding: 0 0 0 var(--cpd-space-8x);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    inset: 0;
    margin-top: 8px;
}

.mx_TabbedView_tabsOnLeft {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: absolute;
}

    .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabels {
        width: 220px;
        max-width: 220px;
        position: fixed;
        margin: 0; /* Remove the default value */
        padding: 0; /* Remove the default value */
    }

    .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabPanel {
        margin-left: 280px; /* 220px sidebar + 60px padding */
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabel:hover,
    .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabel_active {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_TabbedView_tabsOnLeft .mx_TabbedView_tabLabel_active {
        background-color: var(--cpd-color-bg-subtle-secondary);
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

.mx_TabbedView_tabsOnTop {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

    .mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabels {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 8px;
    }

    .mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel {
        padding-left: 0px;
        padding-right: 52px;
    }

        .mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel .mx_TabbedView_tabLabel_text {
            font-size: 15px;
            color: var(--cpd-color-gray-800);
        }

    .mx_TabbedView_tabsOnTop .mx_TabbedView_tabPanel {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }

    .mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel_active {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }
        .mx_TabbedView_tabsOnTop .mx_TabbedView_tabLabel_active .mx_TabbedView_tabLabel_text {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
        }

.mx_TabbedView_tabLabels {
    color: var(--cpd-color-text-secondary);
}

.mx_TabbedView_tabLabel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    vertical-align: text-top;
    cursor: pointer;
    padding-block: var(--cpd-space-2x);
    padding-inline: var(--cpd-space-3x) var(--cpd-space-4x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-block-size: 40px;
    min-inline-size: 40px;
    border-radius: 24px;
    font: var(--cpd-font-body-md-medium);
    position: relative;
    -webkit-transition:
        color 0.1s,
        background-color 0.1s;
    transition:
        color 0.1s,
        background-color 0.1s;
}

    .mx_TabbedView_tabLabel svg {
        width: 20px;
        height: 20px;
        margin-right: var(--cpd-space-3x);
    }

.mx_TabbedView_tabLabel_text {
    vertical-align: middle;
}

.mx_TabbedView_tabPanel {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 0; /* firefox */
}

.mx_TabbedView_tabPanelContent {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    overflow: auto;
    min-height: 0; /* firefox */
}

/* Hide the labels on tabs, showing only the icons, on narrow viewports. */
@media (max-width: 1024px) {
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabel_text {
            display: none;
        }
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabPanel {
            margin-left: 72px; /* 40px sidebar + 32px padding */
        }
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabels {
            width: auto;
        }
        .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabel {
            padding-inline: 0 0;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }
            .mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive .mx_TabbedView_tabLabel svg {
                margin-right: 0;
            }
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_ThreadsActivityCentre_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_ThreadsActivityCentreButton {
    /* !important override compound */
    border-radius: 8px !important;
    margin: 18px auto auto auto;
}

    .mx_ThreadsActivityCentreButton.expanded {
        /**
         * override compound default background color when hovered
         * should disappear when the space panel will be migrated to compound
         */
        background-color: transparent !important;

        /* align with settings icon */
        margin-left: 21px;
        margin-right: 8px;
        width: 100%;

        /**
         * modify internal css of the compound component
         * dirty but we need to add the `Threads` label into the indicator icon button
         **/
    }
        .mx_ThreadsActivityCentreButton.expanded > div {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

            .mx_ThreadsActivityCentreButton.expanded > div::before {
                inline-size: 8px;
                block-size: 8px;
                left: 17px;
            }

        .mx_ThreadsActivityCentreButton.expanded .mx_ThreadsActivityCentreButton_Icon {
            /* align with settings label */
            margin-right: 14px;
            /* required to set the icon width when into a flex container */
            width: 24px;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

        .mx_ThreadsActivityCentreButton.expanded .mx_ThreadsActivityCentreButton_Text {
            /* !important override compound  */
            color: var(--cpd-color-text-secondary) !important;
        }
        .mx_ThreadsActivityCentreButton:not(.expanded):hover,
        .mx_ThreadsActivityCentreButton:not(.expanded):hover .mx_ThreadsActivityCentreButton_Icon {
            /* !important override compound */
            background-color: var(--cpd-color-gray-600) !important;
            fill: #ffffff;
            fill: var(--cpd-color-text-primary);
        }

    .mx_ThreadsActivityCentreButton .mx_ThreadsActivityCentreButton_Icon {
        fill: var(--cpd-color-text-secondary);
    }

.mx_ThreadsActivityCentre_rows {
    overflow-y: scroll;
    /* Let some space at the top and the bottom of the pop-up */
    max-height: calc(100vh - 200px);
}

    .mx_ThreadsActivityCentre_rows .mx_ThreadsActivityCentreRow {
        height: 48px;

        /* Make the label of the MenuItem stay on one line and truncate with ellipsis if needed */

        /* Hide the notification badge on hover — compound's `nav-hint ~ *` rule would normally
         * do this, but the app-web CSS layer overrides compound-web regardless of specificity. */
    }
        .mx_ThreadsActivityCentre_rows .mx_ThreadsActivityCentreRow > span {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            /* Arbitrary size, keep the TAC as the wanted width */
            width: 202px;
        }
        .mx_ThreadsActivityCentre_rows .mx_ThreadsActivityCentreRow:hover .mx_NotificationBadge {
            display: none;
        }

.mx_ThreadsActivityCentre_emptyCaption {
    padding-left: 16px;
    padding-right: 16px;
    font-size: 13px;
}
}
@layer app-web{

/*
Copyright 2026 Element Creations Ltd.
Copyright 2024 New Vector Ltd.
Copyright 2019-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ToastContainer {
    position: absolute;
    top: 12px;
    left: 62px;
    z-index: 101;
    display: grid;
    grid-template-rows: 1fr 28px 8px;
}

    .mx_ToastContainer.mx_ToastContainer_stacked::before {
        content: "";
        margin: 0 var(--cpd-space-1-5x);
        grid-row: 2 / -1;
        grid-column: 1;
        background-color: var(--cpd-color-bg-subtle-primary);
        -webkit-box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.5);
                box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.5);
        border-radius: var(--cpd-space-6x);
    }

    .mx_ToastContainer .mx_Toast_toast {
        grid-row: 1 / 3;
        grid-column: 1;
        background-color: var(--cpd-color-bg-canvas-default);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        -webkit-box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
                box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
        border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-secondary);
        border-radius: var(--cpd-space-3x);
        overflow: hidden;
        display: grid;
        grid-template-columns: 20px 1fr auto;
        grid-column-gap: var(--cpd-space-2x);
        -webkit-column-gap: var(--cpd-space-2x);
           -moz-column-gap: var(--cpd-space-2x);
                column-gap: var(--cpd-space-2x);
        grid-row-gap: 4px;
        row-gap: 4px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: calc(var(--cpd-space-5x) - var(--cpd-border-width-1));
    }
            .mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon svg {
                width: 20px;
                height: 20px;
                grid-column: 1;
            }

            .mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon .mx_Toast_title {
                grid-column: 2;
            }

            .mx_ToastContainer .mx_Toast_toast.mx_Toast_hasIcon .mx_Toast_closebutton {
                grid-column: 3;
            }
        .mx_ToastContainer .mx_Toast_toast:not(.mx_Toast_hasIcon) .mx_Toast_title {
            grid-column: 1 / -1;
        }

        .mx_ToastContainer .mx_Toast_toast .mx_Toast_title {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-column-gap: var(--cpd-space-2x);
               -moz-column-gap: var(--cpd-space-2x);
                    column-gap: var(--cpd-space-2x);
            width: 100%;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

            .mx_ToastContainer .mx_Toast_toast .mx_Toast_title h2 {
                margin: 0;
                font: var(--cpd-font-body-lg-semibold);
                display: inline;
                width: auto;
            }

        .mx_ToastContainer .mx_Toast_toast .mx_Toast_body {
            grid-column: 1 / -1;
            grid-row: 2;
        }

        .mx_ToastContainer .mx_Toast_toast .mx_Toast_buttons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
            -webkit-column-gap: var(--cpd-space-2x);
               -moz-column-gap: var(--cpd-space-2x);
                    column-gap: var(--cpd-space-2x);
        }

            .mx_ToastContainer .mx_Toast_toast .mx_Toast_buttons .mx_AccessibleButton {
                min-width: 96px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
            }

        .mx_ToastContainer .mx_Toast_toast .mx_Toast_description {
            max-width: 272px;
            overflow: hidden;
            text-overflow: ellipsis;
            margin: var(--cpd-space-1x) 0 11px 0;
            color: var(--cpd-color-text-secondary);
            font: var(--cpd-font-body-sm-regular);
        }

            .mx_ToastContainer .mx_Toast_toast .mx_Toast_description a {
                text-decoration: none;
            }

        .mx_ToastContainer .mx_Toast_toast .mx_Toast_deviceID {
            font-size: 0.625rem;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 , 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UploadBar {
    /* line up with the shield area in the composer */
    padding: 5px 21px 0;
    position: relative;

    display: grid;
    grid-template:
        "icon     filename cancel" auto
        "progress progress progress" auto
        / -webkit-min-content auto -webkit-min-content;
    grid-template:
        "icon     filename cancel" auto
        "progress progress progress" auto
        / min-content auto min-content;
    grid-gap: var(--cpd-space-1-5x);
    gap: var(--cpd-space-1-5x);
}

    .mx_UploadBar > svg {
        grid-area: icon;
        height: 18px;
        width: 18px;
        color: #61708b;
        align-self: center;
    }

    .mx_UploadBar .mx_UploadBar_filename {
        grid-area: filename;
        color: #61708b;
        position: relative;
        font-size: 0.9375rem;
        vertical-align: middle;
    }

    .mx_UploadBar .mx_UploadBar_cancel {
        grid-area: cancel;
        height: 16px;
        width: 16px;
        color: #61708b;
        align-self: center;
    }

    .mx_UploadBar .mx_ProgressBar {
        grid-area: progress;
        width: 100%;
    }
    .mx_ThreadView .mx_UploadBar {
        padding-left: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ViewSource pre {
        font-size: 0.75rem;
        padding: 0.5em 1em;
        word-wrap: break-word;
        white-space: pre-wrap;
        overflow-wrap: anywhere;
    }

    .mx_ViewSource .mx_ViewSource_header {
        border-bottom: 1px solid var(--cpd-color-gray-400);
        padding-bottom: 12px;
        margin-bottom: 12px;
        font-family: monospace;
    }

        .mx_ViewSource .mx_ViewSource_header .mx_CopyableText {
            word-break: break-all;
        }

    .mx_ViewSource .mx_ViewSource_heading {
        font-size: 1.0625rem;
        font-weight: 400;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin-top: 12px;
    }

    .mx_ViewSource .mx_ViewSource_details {
        margin-top: 12px;
    }

    .mx_ViewSource .mx_CopyableText_border {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CompleteSecurity_header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_E2EIcon.mx_CompleteSecurity_headerIcon {
    width: 24px;
    height: 24px;
    margin-right: 4px;
    display: inline-block;
}

.mx_E2EIcon.mx_CompleteSecurity_heroIcon {
    width: 128px;
    height: 128px;
    margin: 0 auto;
}

.mx_CompleteSecurity_skip {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}
    .mx_CompleteSecurity_skip:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
    .mx_CompleteSecurity_skip svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
    .mx_CompleteSecurity_skip{
    position: absolute;
    right: 24px;
}

.mx_CompleteSecurity_body {
    font-size: 0.9375rem;
}

.mx_CompleteSecurity_waiting {
    color: var(--cpd-color-gray-800);
}

.mx_CompleteSecurity_actionRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 1.75rem;
}

    .mx_CompleteSecurity_actionRow .mx_AccessibleButton {
        -webkit-margin-start: 18px;
                margin-inline-start: 18px;
    }

        .mx_CompleteSecurity_actionRow .mx_AccessibleButton.warning {
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ConfirmSessionLockTheftView {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_ConfirmSessionLockTheftView_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 400px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Login_submit {
    width: 100%;
    margin-top: 24px;
    margin-bottom: 24px;
}

.mx_Login_loader {
    display: inline;
    position: relative;
    top: 2px;
    left: 8px;
}

.mx_Login_loader .mx_Spinner {
    display: inline;
}

.mx_Login_loader .mx_Spinner img {
    width: 16px;
    height: 16px;
}

.mx_Login_error {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    font-weight: bold;
    text-align: center;
    margin-top: 12px;
    margin-bottom: 12px;
}

.mx_Login_error.mx_Login_serverError {
    text-align: left;
    font-weight: normal;
}

.mx_Login_error.mx_Login_serverError.mx_Login_serverErrorNonFatal {
    color: #ff8d13; /* Only used here */
}

.mx_Login_type_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

    .mx_Login_type_container .mx_Field {
        margin: 0;
    }

.mx_Login_type_label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_Login_underlinedServerName {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    border-bottom: 1px dashed #2e80de;
    border-bottom: 1px dashed var(--cpd-color-text-action-accent);
}

div.mx_AccessibleButton_kind_link.mx_Login_forgot {
    display: block;
    margin-top: 24px;
}

    div.mx_AccessibleButton_kind_link.mx_Login_forgot.mx_AccessibleButton_disabled {
        cursor: not-allowed;
    }

.mx_Login_spinner {
    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;
    -ms-flex-line-pack: center;
        align-content: center;
    padding: 14px;
}

.mx_Login_fullWidthButton {
    width: 100%;
    margin-bottom: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015-2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LoginSplashView_migrationProgress {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
}

    .mx_LoginSplashView_migrationProgress .mx_ProgressBar {
        height: 8px;
        width: 600px;

        border-radius: 8px;
    }

        .mx_LoginSplashView_migrationProgress .mx_ProgressBar::-moz-progress-bar {
        border-radius: 8px;
    }

        .mx_LoginSplashView_migrationProgress .mx_ProgressBar::-webkit-progress-bar,
    .mx_LoginSplashView_migrationProgress .mx_ProgressBar::-webkit-progress-value {
        border-radius: 8px;
    }

.mx_LoginSplashView_splashButtons {
    text-align: center;
    width: 100%;
    position: absolute;
    bottom: 30px;
}

.mx_LoginSplashView_syncError {
    color: #f4f6fa;
    background-color: #df2a8b; /* Only used here */
    border-radius: 5px;
    display: table;
    padding: 30px;
    position: absolute;
    top: 100px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MobileRegister_body {
    padding: 32px;
    height: 100vh;
    overflow-y: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Register_mainContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    min-height: 270px;
}

    .mx_Register_mainContent p {
        font: var(--cpd-font-body-md-regular);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

        .mx_Register_mainContent p.secondary {
            color: var(--cpd-color-text-secondary);
        }

    .mx_Register_mainContent > img:first-child {
        margin-bottom: 16px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
    }

    .mx_Register_mainContent .mx_Login_submit {
        margin-bottom: 0;
    }

.mx_Register_footerActions {
    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-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 16px;
    margin-top: 16px;
    border-top: 1px solid rgb(141, 151, 165, 0.2);
}

    .mx_Register_footerActions > * {
        -ms-flex-preferred-size: content;
            flex-basis: content;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SessionLockStolenView h1 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 2rem;
        text-align: center;
    }

    .mx_SessionLockStolenView h2 {
        margin: 0;
        font-weight: 500;
        font-size: 1.5rem;
        text-align: center;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SetupEncryptionBody {
    width: 600px;
}
}
@layer app-web{

/*
PLX Midnight font — Plus Jakarta Sans.

@font-face declarations for the PLX primary typeface. Files live in
res/fonts/PlusJakartaSans/ and are copied verbatim into the build output by
webpack's asset handling (referenced via absolute /res/ URLs, matching the
Twemoji pattern in _fonts.pcss). The family is wired as the primary font in
_plx-telegram.pcss (--plx-font) with a system-ui fallback.
*/

@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../../fonts/PlusJakartaSans/plus-jakarta-sans-latin-400-normal.9eb2a7e.woff2) format("woff2");
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../../fonts/PlusJakartaSans/plus-jakarta-sans-latin-500-normal.c313031.woff2) format("woff2");
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(../../fonts/PlusJakartaSans/plus-jakarta-sans-latin-600-normal.7720d76.woff2) format("woff2");
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../../fonts/PlusJakartaSans/plus-jakarta-sans-latin-700-normal.7cfa130.woff2) format("woff2");
}
@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(../../fonts/PlusJakartaSans/plus-jakarta-sans-latin-800-normal.94c5685.woff2) format("woff2");
}
}
@layer app-web{

/*
PLX Midnight theme overlay.

Applied as the last import in the dark theme so it sits at the top of the
`app-web` cascade layer and overrides Element's defaults. It maps the
PLX "Midnight" design tokens (deep navy on TARDIS blue) onto Element's
component selectors and compound design tokens.

Robustness notes:
- We override the runtime CSS custom properties (--cpd-color-*) rather than
  SCSS build vars, so this is a single self-contained file with no build-graph
  coupling.
- All colours/radii are sourced from the Midnight design handoff.
*/

:root {
    /* ---- PLX / Midnight dark token block ---- */
    --plx-accent: #2e80de;            /* TARDIS blue — links, active, badges */
    --plx-accent-hover: #3a8fe6;      /* accent-bright */
    --plx-accent-deep: #175fb0;
    --plx-accent-soft: rgba(46, 128, 222, 0.16);
    --plx-bg: #0e1621;                /* chat area background */
    --plx-bg-secondary: #0e1621;      /* sidebar / room list bg */
    --plx-panel: #17212b;             /* sidebar, headers, composer */
    --plx-panel-2: #202b36;           /* cards, popovers, hover surfaces */
    --plx-bubble-in: #182533;         /* incoming message bubble */
    --plx-bubble-out: #2e80de;        /* outgoing (solid fallback; gradient below) */
    --plx-bubble-out-grad: linear-gradient(135deg, #2e80de, #175fb0);
    --plx-bubble-out-meta: rgba(255, 255, 255, 0.65);
    --plx-text: #ffffff;
    --plx-text-secondary: #7f91a4;    /* dim */
    --plx-meta: #7f91a4;
    --plx-border: rgba(255, 255, 255, 0.06);
    --plx-divider: rgba(255, 255, 255, 0.06);
    --plx-row-hover: rgba(255, 255, 255, 0.05);
    --plx-row-active: var(--plx-accent-soft);
    --plx-placeholder: #7f91a4;
    --plx-shadow: rgba(0, 0, 0, 0.45);
    --plx-online: #4ee07a;
    --plx-danger: #e0454b;
    --plx-success: #3ecf8e;
    --plx-read-tick: #8fd0ff;

    /* geometry */
    --plx-radius-bubble: 16px;
    --plx-radius-bubble-tight: 4px;
    --plx-radius-input: 13px;
    --plx-radius-button: 13px;
    --plx-radius-card: 14px;
    --plx-avatar: 52px;
    --plx-row-height: 60px;
    --plx-header-height: 60px;

    --plx-font: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;
    --plx-ease-layer: 300ms cubic-bezier(0.33, 1, 0.68, 1);
    --plx-ease-slide: 300ms cubic-bezier(0.25, 1, 0.5, 1);
    --plx-ease-select: 200ms ease-out;
}

/* ---- Accent: flip Element green -> Midnight TARDIS blue ----
   Element's accent derives from the compound "green" token ramp and the
   text-action / primary tokens. Remap them to the PLX blue so buttons,
   links, active states, the sync spinner and selection all become blue. */
:root,
.cpd-theme-dark,
[class*="cpd-theme"] {
    /* Primary typeface: Plus Jakarta Sans propagates app-wide via the Compound
       sans token (drives body, Compound components, dialogs, …). */
    --cpd-font-family-sans:
        "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Twemoji",
        "Apple Color Emoji", "Segoe UI Emoji", Arial, sans-serif;

    --cpd-color-text-action-accent: var(--plx-accent);
    --cpd-color-bg-action-primary-rest: var(--plx-accent);
    --cpd-color-bg-action-primary-hovered: var(--plx-accent-hover);
    --cpd-color-bg-action-primary-pressed: var(--plx-accent-deep);
    --cpd-color-text-primary: var(--plx-text);

    /* The green ramp is what Element uses for accents and the OWN bubble fill.
       Repoint the mid ramp to blue so own bubbles + accents follow Midnight. */
    --cpd-color-green-300: var(--plx-bubble-out);
    --cpd-color-green-400: var(--plx-accent);
    --cpd-color-green-500: var(--plx-accent);
    --cpd-color-green-600: var(--plx-accent-hover);
    --cpd-color-green-700: var(--plx-accent-deep);
    --cpd-color-green-900: #e9f2fb;
    --cpd-color-green-1100: #e9f2fb;

    /* incoming bubble = neutral panel */
    --cpd-color-gray-300: var(--plx-bubble-in);

    /* success / online (E2EE active, approve) */
    --cpd-color-text-success-primary: var(--plx-success);
    --cpd-color-icon-success-primary: var(--plx-success);
    /* danger (sign out, deny) */
    --cpd-color-text-critical-primary: var(--plx-danger);
}

/* ---- App + room background ---- */
.mx_MatrixChat_wrapper,
.mx_RoomView,
.mx_MainSplit {
    background-color: #0e1621;
    background-color: var(--plx-bg);
}

.mx_LeftPanel,
.mx_SpacePanel,
.mx_RoomList {
    background-color: #17212b;
    background-color: var(--plx-panel);
}

/* ---- PLX-012: room-list user bar (avatar -> Profile / Settings / Sign out) ----
   Midnight chip that hosts the restored UserMenu at the top of the room list. */
.mx_RoomListPanel_userBar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid var(--plx-border);
    background: #17212b;
    background: var(--plx-panel);
}
.mx_RoomListPanel_userBar .mx_UserMenu button {
    border-radius: 10px;
    padding: 4px 6px;
    -webkit-transition: background-color 200ms ease-out;
    transition: background-color 200ms ease-out;
    -webkit-transition: background-color var(--plx-ease-select);
    transition: background-color var(--plx-ease-select);
}
.mx_RoomListPanel_userBar .mx_UserMenu button:hover {
    background-color: rgba(255, 255, 255, 0.05);
    background-color: var(--plx-row-hover);
}
.mx_RoomListPanel_userBar .mx_BaseAvatar,
.mx_RoomListPanel_userBar .mx_UserMenu [class*="avatar"] {
    border-radius: 50%;
}

/* ---- Typography ----
   _common.pcss applies `font: var(--cpd-font-body-md-regular) !important` to
   body, a Compound composite shorthand that hard-codes Inter as the family and
   resets font-family. We re-assert the PLX family with !important AFTER it so
   Plus Jakarta Sans wins app-wide. */
body,
.mx_MatrixChat {
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif !important;
    font-family: var(--plx-font) !important;
}

/* ================= MESSAGE BUBBLES ================= */
/* Telegram-style Midnight bubbles. Bubble layout is now the app default
   (see Settings.tsx: layout -> Layout.Bubble). Spec:
     - outgoing = linear-gradient(135deg,#2E80DE,#175FB0), white text
     - incoming = #182533, white text
     - 16px radius, with a 4px "tail" corner on the bottom edge nearest
       the sender (Telegram look). */
.mx_EventTile[data-layout="bubble"] {
    --cornerRadius: var(--plx-radius-bubble);
    --gutterSize: 9px;
    --maxWidth: 74%;
}

/* incoming bubble fill + text */
.mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line {
    background: #182533 !important;
    background: var(--plx-bubble-in) !important;
    color: #ffffff;
    color: var(--plx-text);
}

/* outgoing bubble fill + text (Midnight gradient)
   PLX-005: scope the gradient to OWN *message* bubbles ONLY. Several non-message
   tiles also carry data-self="true" (sender is us) but must NOT get the gradient:
     - .mx_EventTile_info            -> "X invited Y" membership/state tiles
     - .mx_EventTile_bubbleContainer -> "Encryption enabled" crypto/state event tiles
     - .mx_EventTile_noSender        -> sender-less state tiles
     - tiles whose body is .mx_DecryptionFailureBody -> "can't decrypt" / verify nags
   Exclude all of them. */
.mx_EventTile[data-layout="bubble"][data-self="true"]:not(.mx_EventTile_info):not(.mx_EventTile_bubbleContainer):not(.mx_EventTile_noSender)
    .mx_EventTile_line:not(:has(.mx_DecryptionFailureBody)) {
    background: linear-gradient(135deg, #2e80de, #175fb0) !important;
    background: var(--plx-bubble-out-grad) !important;
    color: #ffffff;
}

/* keep media containers inside outgoing bubbles on the gradient */
.mx_EventTile[data-layout="bubble"][data-self="true"]:not(.mx_EventTile_info):not(.mx_EventTile_bubbleContainer):not(.mx_EventTile_noSender)
    .mx_MediaBody {
    background: linear-gradient(135deg, #2e80de, #175fb0) !important;
    background: var(--plx-bubble-out-grad) !important;
}

/* PLX-005: state / membership / info / crypto / decryption-failure tiles =
   neutral, no bubble fill, regardless of who sent them. */
.mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_EventTile_line,
.mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_EventTile_line .mx_MediaBody,
.mx_EventTile[data-layout="bubble"].mx_EventTile_bubbleContainer .mx_EventTile_line,
.mx_EventTile[data-layout="bubble"].mx_EventTile_noSender .mx_EventTile_line,
.mx_EventTile[data-layout="bubble"] .mx_EventTile_line:has(.mx_DecryptionFailureBody) {
    background: transparent !important;
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
}
.mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_TextualEvent,
.mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_EventTile_content,
.mx_EventTile[data-layout="bubble"] .mx_DecryptionFailureBody {
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
}

.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MTextBody,
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_EventTile_body,
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line a {
    color: #ffffff;
}

/* code / quotes inside an outgoing bubble need a translucent dark panel so
   they stay legible on the blue gradient */
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line pre,
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line code {
    background: rgba(0, 0, 0, 0.22);
    color: #eaf3ff;
}
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line blockquote {
    border-inline-start-color: rgba(255, 255, 255, 0.5);
    color: rgba(255, 255, 255, 0.85);
}

/* timestamp / meta inside outgoing bubble */
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_MessageTimestamp {
    color: rgba(255, 255, 255, 0.65);
    color: var(--plx-bubble-out-meta);
}

/* reply-quote tile sitting inside an outgoing bubble -> readable on gradient */
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReplyChain {
    border-inline-start-color: rgba(255, 255, 255, 0.55);
}
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReplyChain .mx_EventTile_body,
.mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReplyChain .mx_DisambiguatedProfile_displayName {
    color: rgba(255, 255, 255, 0.92) !important;
}

/* sender name colour (group chats) -> light tint instead of the green ramp */
.mx_EventTile[data-layout="bubble"] .mx_DisambiguatedProfile > span,
.mx_EventTile[data-layout="bubble"] .mx_DisambiguatedProfile_displayName {
    color: #cfe2f6 !important;
    font-weight: 600;
}

/* ---- Tail corners (Telegram look) ----
   The "tail" is a 4px corner on the bottom edge nearest the sender. The base
   bubble CSS rounds the far-bottom corner to --cornerRadius; we tighten the
   near-bottom corner. Continuation tiles also tighten the leading top corner
   so stacked bubbles read as one group. */
.mx_EventTile[data-layout="bubble"][data-self="false"].mx_EventTile_lastInSection .mx_EventTile_line {
    border-bottom-left-radius: 4px !important;
    border-bottom-left-radius: var(--plx-radius-bubble-tight) !important;
}
.mx_EventTile[data-layout="bubble"][data-self="true"].mx_EventTile_lastInSection .mx_EventTile_line {
    border-bottom-right-radius: 4px !important;
    border-bottom-right-radius: var(--plx-radius-bubble-tight) !important;
}

/* grouped-message leading corner (continuation) -> 4px */
.mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line {
    border-top-left-radius: 4px;
    border-top-left-radius: var(--plx-radius-bubble-tight);
}
.mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line {
    border-top-right-radius: 4px;
    border-top-right-radius: var(--plx-radius-bubble-tight);
}

/* ================= COMPOSER ================= */
/* Floating rounded panel with a soft lift. */
.mx_MessageComposer {
    background: transparent;
    border-top: none;
}

.mx_MessageComposer_wrapper {
    background: #17212b;
    background: var(--plx-panel);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border: 1px solid var(--plx-border);
    border-radius: 18px;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
    -webkit-box-shadow: 0 1px 2px var(--plx-shadow);
            box-shadow: 0 1px 2px var(--plx-shadow);
    margin: 0 12px 12px;
    padding: 2px 6px;
}

.mx_BasicMessageComposer_input {
    color: #ffffff;
    color: var(--plx-text);
}

.mx_MessageComposer_input::-webkit-input-placeholder {
    color: #7f91a4;
    color: var(--plx-placeholder);
}

.mx_MessageComposer_input::-moz-placeholder {
    color: #7f91a4;
    color: var(--plx-placeholder);
}

.mx_MessageComposer_input:-ms-input-placeholder {
    color: #7f91a4;
    color: var(--plx-placeholder);
}

.mx_MessageComposer_input::-ms-input-placeholder {
    color: #7f91a4;
    color: var(--plx-placeholder);
}

.mx_MessageComposer_input::placeholder,
.mx_BasicMessageComposer_input[contenteditable]:empty::before {
    color: #7f91a4;
    color: var(--plx-placeholder);
}

/* send button -> circular accent */
.mx_MessageComposer_sendMessage {
    background: linear-gradient(135deg, #2e80de, #175fb0);
    background: var(--plx-bubble-out-grad);
    border-radius: 50%;
}

/* ================= ROOM HEADER ================= */
.mx_RoomHeader {
    height: 60px;
    height: var(--plx-header-height);
    background: #17212b;
    background: var(--plx-panel);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid var(--plx-border);
}

.mx_RoomHeader_heading {
    font-weight: 600;
}

/* ================= CHAT LIST ROWS ================= */
.mx_RoomTile {
    border-radius: 10px;
    -webkit-transition: background-color 200ms ease-out;
    transition: background-color 200ms ease-out;
    -webkit-transition: background-color var(--plx-ease-select);
    transition: background-color var(--plx-ease-select);
}

.mx_RoomTile:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
    background-color: var(--plx-row-hover) !important;
}

.mx_RoomTile.mx_RoomTile_selected,
.mx_RoomTile[aria-selected="true"] {
    background-color: rgba(46, 128, 222, 0.16) !important;
    background-color: var(--plx-row-active) !important;
}

.mx_RoomTile.mx_RoomTile_selected .mx_RoomTile_title,
.mx_RoomTile[aria-selected="true"] .mx_RoomTile_title {
    color: #2e80de;
    color: var(--plx-accent);
}

/* unread badge -> Midnight accent pill */
.mx_NotificationBadge {
    background-color: #2e80de;
    background-color: var(--plx-accent);
    border-radius: 10px;
    min-width: 20px;
    height: 20px;
    font-weight: 600;
}

/* avatars stay circular */
.mx_RoomTile .mx_BaseAvatar {
    border-radius: 50%;
}

/* ================= BUTTONS / RADII ================= */
.mx_AccessibleButton.mx_AccessibleButton_kind_primary,
.mx_Dialog_primary {
    background-color: #2e80de;
    background-color: var(--plx-accent);
    border-radius: 13px;
    border-radius: var(--plx-radius-button);
}

.mx_AccessibleButton.mx_AccessibleButton_kind_primary:hover,
.mx_Dialog_primary:hover {
    background-color: #3a8fe6;
    background-color: var(--plx-accent-hover);
}

/* links */
a,
.mx_AccessibleButton_kind_link,
.mx_AccessibleButton_kind_link_inline {
    color: #2e80de;
    color: var(--plx-accent);
}

/* ================= AUTH (login) SCREEN ================= */
/* WC-04 note: a tempting "dead duplicate" cleanup here (dropping .mx_AuthPage
   from this background-color group, since L751 re-sets it with !important) was
   trialled and REVERTED — the visual-regression harness caught a small but real
   diff on the 390px mobile auth card (mean-diff 0.0076 > tolerance). Kept as-is
   to honour "identical look". See playwright/plx-visual/THEME-CLEANUP-PLAN.md. */
.mx_AuthBody,
.mx_AuthPage {
    background-color: #0e1621;
    background-color: var(--plx-bg);
}

.mx_AuthBody {
    color: #ffffff;
    color: var(--plx-text);
}

.mx_Login_submit,
.mx_AuthBody .mx_AccessibleButton_kind_primary {
    background: linear-gradient(135deg, #2e80de, #175fb0);
    background: var(--plx-bubble-out-grad);
    border-radius: 13px;
    border-radius: var(--plx-radius-button);
}

/* ================= 2FA / OTP CODE ENTRY =================
   Element renders single-field code entry (MSISDN OTP, recovery-key, and the
   token-style auth field). Style these toward the Midnight OTP-cell spec:
   tall rounded fields (radius 13) with an accent border on focus. Where a real
   6-cell OTP exists it inherits the same accent/radius tokens. */
.mx_InteractiveAuthEntryComponents_msisdnEntry,
.mx_AuthBody input[type="text"].mx_Field_input,
.mx_RegistrationToken input,
input[name="token"],
input[autocomplete="one-time-code"] {
    border-radius: 13px;
    border-radius: var(--plx-radius-input);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border: 1px solid var(--plx-border);
    background: #202b36;
    background: var(--plx-panel-2);
    color: #ffffff;
    color: var(--plx-text);
    letter-spacing: 0.18em;
    text-align: center;
}

.mx_InteractiveAuthEntryComponents_msisdnEntry {
    width: 7em;
    height: 56px;
    font-size: 200%;
    font-weight: 700;
}

.mx_InteractiveAuthEntryComponents_msisdnEntry:focus,
.mx_AuthBody input[type="text"].mx_Field_input:focus,
input[autocomplete="one-time-code"]:focus,
input[name="token"]:focus {
    border: 2px solid #2e80de !important;
    border: 2px solid var(--plx-accent) !important;
    outline: none;
    -webkit-box-shadow: 0 0 0 3px rgba(46, 128, 222, 0.16);
            box-shadow: 0 0 0 3px rgba(46, 128, 222, 0.16);
    -webkit-box-shadow: 0 0 0 3px var(--plx-accent-soft);
            box-shadow: 0 0 0 3px var(--plx-accent-soft);
}

/* Midnight OTP-cell scaffold: if a 6-cell digit group is rendered, each cell is
   46x56 with radius 13 and an accent border when active. */
.mx_PlxOtpCell,
.cpd-otp-input,
[data-otp-cell] {
    width: 46px;
    height: 56px;
    border-radius: 13px;
    border-radius: var(--plx-radius-input);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border: 1px solid var(--plx-border);
    background: #202b36;
    background: var(--plx-panel-2);
    color: #ffffff;
    color: var(--plx-text);
    font-size: 24px;
    font-weight: 700;
    text-align: center;
}
.mx_PlxOtpCell:focus,
.mx_PlxOtpCell[data-active="true"],
[data-otp-cell][data-active="true"] {
    border: 2px solid #2e80de;
    border: 2px solid var(--plx-accent);
    -webkit-box-shadow: 0 0 0 3px rgba(46, 128, 222, 0.16);
            box-shadow: 0 0 0 3px rgba(46, 128, 222, 0.16);
    -webkit-box-shadow: 0 0 0 3px var(--plx-accent-soft);
            box-shadow: 0 0 0 3px var(--plx-accent-soft);
}

/* ================= REGISTRATION / PENDING-APPROVAL =================
   The post-registration screen waits for admin approval. Render a pulsing
   concentric-ring "awaiting approval" indicator around the clock/spinner. */
.mx_AuthBody .mx_Spinner,
.mx_Registration_waitingForApproval .mx_Spinner {
    position: relative;
}

/* generic pulsing-rings helper: add class mx_PlxPulseRings (or
   data-plx-pending) to the pending wrapper to get concentric pulses. */
.mx_PlxPulseRings,
[data-plx-pending="true"] {
    position: relative;
}
.mx_PlxPulseRings::before,
.mx_PlxPulseRings::after,
[data-plx-pending="true"]::before,
[data-plx-pending="true"]::after {
    content: "";
    position: absolute;
    inset: 50%;
    width: 72px;
    height: 72px;
    margin: -36px 0 0 -36px;
    border-radius: 50%;
    border: 2px solid #2e80de;
    border: 2px solid var(--plx-accent);
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    -webkit-animation: plx-pulse-ring 2.4s cubic-bezier(0.2, 0.6, 0.3, 1) infinite;
            animation: plx-pulse-ring 2.4s cubic-bezier(0.2, 0.6, 0.3, 1) infinite;
    pointer-events: none;
}
.mx_PlxPulseRings::after,
[data-plx-pending="true"]::after {
    -webkit-animation-delay: 1.2s;
            animation-delay: 1.2s;
}

@-webkit-keyframes plx-pulse-ring {
    0% {
        opacity: 0.55;
        -webkit-transform: scale(0.5);
                transform: scale(0.5);
    }
    70% {
        opacity: 0;
        -webkit-transform: scale(1.6);
                transform: scale(1.6);
    }
    100% {
        opacity: 0;
        -webkit-transform: scale(1.6);
                transform: scale(1.6);
    }
}

@keyframes plx-pulse-ring {
    0% {
        opacity: 0.55;
        -webkit-transform: scale(0.5);
                transform: scale(0.5);
    }
    70% {
        opacity: 0;
        -webkit-transform: scale(1.6);
                transform: scale(1.6);
    }
    100% {
        opacity: 0;
        -webkit-transform: scale(1.6);
                transform: scale(1.6);
    }
}

/* ================= CONVERSATION HEADER + CALL OVERLAY =================
   Midnight surfaces, accent call buttons, danger end-call, and an "encrypted"
   indicator in the success green. The call-button accent / danger colours flow
   through the remapped $accent and $alert (-> --plx-danger) tokens; we add the
   surface + encrypted-indicator + pulsing-avatar polish here. */

/* call surfaces -> Midnight panel */
.mx_LegacyCallView,
.mx_CallView,
.mx_LegacyCallView_content,
.mx_LegacyCallView_pip {
    background-color: #17212b !important;
    background-color: var(--plx-panel) !important;
}

/* radial accent backdrop behind the call content */
.mx_LegacyCallView_content {
    background-image: radial-gradient(
        circle at 50% 38%,
        rgba(46, 128, 222, 0.16),
        transparent 60%
    );
    background-image: radial-gradient(
        circle at 50% 38%,
        var(--plx-accent-soft),
        transparent 60%
    );
}

/* end-call / hangup -> danger circle */
.mx_LegacyCallViewButtons_button_hangup,
.mx_CallViewButtons_button_hangup {
    background-color: #e0454b !important;
    background-color: var(--plx-danger) !important;
}

/* "Encrypted call" indicator -> success green with lock */
.mx_LegacyCallViewHeader_secure,
.mx_LegacyCallView_status_e2e,
.mx_CallView_secure,
.mx_E2EIcon_verified {
    color: #3ecf8e !important;
    color: var(--plx-success) !important;
}

/* pulsing ring around the call avatar while connecting */
.mx_LegacyCallView_avatarsContainer .mx_BaseAvatar {
    position: relative;
}
.mx_LegacyCallView_avatarsContainer .mx_BaseAvatar::after {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 2px solid #2e80de;
    border: 2px solid var(--plx-accent);
    opacity: 0;
    -webkit-animation: plx-pulse-ring 2.2s ease-out infinite;
            animation: plx-pulse-ring 2.2s ease-out infinite;
    pointer-events: none;
}

/* conversation header call buttons -> accent on hover */
.mx_RoomHeader .mx_RoomHeader_button:hover {
    color: #2e80de;
    color: var(--plx-accent);
}

/* ================= TRANSITIONS (Midnight easing) ================= */
.mx_RightPanel,
.mx_LeftPanel_outerWrapper {
    -webkit-transition:
        width 300ms cubic-bezier(0.33, 1, 0.68, 1),
        -webkit-transform 300ms cubic-bezier(0.33, 1, 0.68, 1);
    transition:
        width 300ms cubic-bezier(0.33, 1, 0.68, 1),
        -webkit-transform 300ms cubic-bezier(0.33, 1, 0.68, 1);
    transition:
        transform 300ms cubic-bezier(0.33, 1, 0.68, 1),
        width 300ms cubic-bezier(0.33, 1, 0.68, 1);
    transition:
        transform 300ms cubic-bezier(0.33, 1, 0.68, 1),
        width 300ms cubic-bezier(0.33, 1, 0.68, 1),
        -webkit-transform 300ms cubic-bezier(0.33, 1, 0.68, 1);
    -webkit-transition:
        width var(--plx-ease-layer),
        -webkit-transform var(--plx-ease-layer);
    transition:
        width var(--plx-ease-layer),
        -webkit-transform var(--plx-ease-layer);
    transition:
        transform var(--plx-ease-layer),
        width var(--plx-ease-layer);
    transition:
        transform var(--plx-ease-layer),
        width var(--plx-ease-layer),
        -webkit-transform var(--plx-ease-layer);
}

/* =====================================================================
   PLX MIDNIGHT — Wave #27 contained fixes (PLX-003/004/006/007/008/009/010/011)
   ===================================================================== */

/* ---------- PLX-003: E2EE banner -> ONE small centered pill ----------
   The "This room is end-to-end encrypted" banner ships as
   .mx_EventTileBubble.mx_cryptoEvent (author-supplied classes, stable).
   Element renders it as a large full-width blue bar. Collapse it into a
   compact centered pill: lock + text, accent-soft bg, rounded. */
.mx_EventTileBubble.mx_cryptoEvent,
.mx_EventTile_bubbleContainer .mx_EventTileBubble {
    margin: 10px auto !important;
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    max-width: 90% !important;
    min-width: 0 !important;
    padding: 6px 14px !important;
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    gap: 8px !important;
    background: rgba(46, 128, 222, 0.16) !important;
    background: var(--plx-accent-soft) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--plx-border) !important;
    border-radius: 999px !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    grid-template-columns: none !important;
}
.mx_EventTile_bubbleContainer .mx_EventTileBubble > *,
.mx_EventTile_bubbleContainer .mx_EventTileBubble [class*="title"] {
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
}
.mx_EventTile_bubbleContainer .mx_EventTileBubble svg {
    position: static !important;
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    color: #2e80de !important;
    color: var(--plx-accent) !important;
}
.mx_EventTile_bubbleContainer .mx_EventTileBubble [class*="subtitle"] {
    display: none !important;
}
/* tighten the inner grid the shared component uses */
.mx_EventTileBubble.mx_cryptoEvent > * {
    grid-column: auto !important;
    grid-row: auto !important;
    margin: 0 !important;
}
.mx_EventTileBubble.mx_cryptoEvent svg {
    position: static !important;
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
    color: #2e80de !important;
    color: var(--plx-accent) !important;
}
.mx_EventTileBubble.mx_cryptoEvent [class*="title"],
.mx_EventTileBubble.mx_cryptoEvent [class*="subtitle"] {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
    line-height: 1.2 !important;
}
/* hide the verbose subtitle / "enable encryption" prompt inside the pill */
.mx_EventTileBubble.mx_cryptoEvent [class*="subtitle"] {
    display: none !important;
}

/* PLX-003 (part 2): the timeline "Encryption enabled" m.room.encryption state tile
   ships as a normal EventTile bubble (.mx_EventTile_bubbleContainer) wrapping an inner
   .mx_EventTileBubble pill. Previously it leaked the outgoing gradient as a full-width
   bar (removed above). Here we make the wrapping line fully transparent/borderless and
   centre it, so ONLY the inner compact pill is visible. */
.mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_line {
    margin: 4px auto !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
}
.mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_line .mx_EventTile_body,
.mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_line .mx_TextualEvent {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
}

/* ---------- PLX-004: suppress verify-device timeline nag ----------
   Seamless TOFU: never prompt the user to verify this device for historical
   messages. The toast + settings paths are handled in code; this is a CSS
   backstop for any timeline-level "verify this device" banner. */
.mx_RoomView_body .mx_GenericEventListSummary[data-expanded="false"] .mx_SetupEncryptionBody,
.mx_RoomStatusBar_unsentBadge.mx_RoomStatusBar_verifyDevice,
[data-testid="cryptoEvent-verify-prompt"],
.mx_EventTileBubble.mx_cryptoEvent.mx_cryptoEvent_verify {
    display: none !important;
}

/* ---------- PLX-006: chat rows (name + preview + badge) ----------
   The shared room-list cell renders room name + message preview + notification
   decoration. By default the room name uses --cpd-color-text-secondary (dim).
   Force the room name WHITE and keep the preview dim. data-testid="room-name"
   is a stable hook; the hashed module classes are scoped to this build. */
[data-testid="room-name"] {
    color: #ffffff !important;
    color: var(--plx-text) !important;
    font-weight: 600 !important;
}
/* message preview (the dim subtitle under the name) stays dim + ellipsised */
[data-testid="room-name"] + div,
[data-testid="room-name"] ~ .mx_Text,
[data-testid="room-name"] ~ [class*="ellipsis"] {
    color: #7f91a4 !important;
    color: var(--plx-text-secondary) !important;
    font-size: 13px !important;
}
/* active/selected row -> accent-soft bg + accent name (the package marks the
   selected container; we reinforce the Midnight look) */
[class*="_selected"] [data-testid="room-name"],
[aria-selected="true"] [data-testid="room-name"] {
    color: #2e80de !important;
    color: var(--plx-accent) !important;
}
[class*="_selected"] [class*="_container"],
[aria-selected="true"] [class*="_container"] {
    background-color: rgba(46, 128, 222, 0.16) !important;
    background-color: var(--plx-row-active) !important;
}

/* ---------- PLX-007: folder pills (All / Unread / Direct / Groups) ----------
   The pills ship as Compound <ChatFilter> chips inside [data-testid="primary-filters"].
   The filter set + labels are remapped in code/i18n. Here we Midnight-style the
   active pill: accent-soft bg + accent text. */
[data-testid="primary-filters"] [role="option"][aria-selected="true"],
[data-testid="primary-filters"] [aria-pressed="true"],
[data-testid="primary-filters"] .mx_ChatFilter_selected,
[data-testid="primary-filters"] [class*="_selected"] {
    background-color: rgba(46, 128, 222, 0.16) !important;
    background-color: var(--plx-accent-soft) !important;
    color: #2e80de !important;
    color: var(--plx-accent) !important;
    border-color: transparent !important;
}
[data-testid="primary-filters"] [role="option"],
[data-testid="primary-filters"] button {
    border-radius: 999px !important;
}

/* ---------- PLX-008: home empty pane (clean Midnight empty-state) ----------
   Neutralise Element's flat blue HomePage cards into Midnight panel surfaces.
   The "Explore Public Rooms" card is removed in HomePage.tsx. */
.mx_HomePage_plx .mx_HomePage_default_wrapper {
    max-width: 420px;
    margin: 0 auto;
    text-align: center;
    gap: 16px;
}
.mx_HomePage_plx .mx_HomePage_default_buttons .mx_AccessibleButton {
    background: #202b36 !important;
    background: var(--plx-panel-2) !important;
    color: #ffffff !important;
    color: var(--plx-text) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--plx-border) !important;
    border-radius: 14px !important;
    border-radius: var(--plx-radius-card) !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
}
.mx_HomePage_plx .mx_HomePage_default_buttons .mx_AccessibleButton:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    background: var(--plx-row-hover) !important;
    border-color: #2e80de !important;
    border-color: var(--plx-accent) !important;
}
.mx_HomePage_plx .mx_HomePage_default_buttons .mx_AccessibleButton::before {
    background-color: #2e80de !important;
    background-color: var(--plx-accent) !important;
}

/* ---------- PLX-009: sign-in button -> WHITE 700 on the gradient ---------- */
.mx_Login_submit,
.mx_AuthBody .mx_AccessibleButton_kind_primary,
.mx_AuthPage .mx_AccessibleButton_kind_primary,
.mx_AuthBody form [type="submit"] {
    background: linear-gradient(135deg, #2e80de, #175fb0) !important;
    background: var(--plx-bubble-out-grad) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border: none !important;
}
.mx_Login_submit *,
.mx_AuthBody .mx_AccessibleButton_kind_primary * {
    color: #ffffff !important;
}

/* ---------- PLX-009b: Welcome-card primary button ("Sign in") -> WHITE label ----------
   BUGFIX: the Welcome page renders <Button as="a" kind="primary"> for "Sign in".
   The global `a { color: var(--plx-accent) }` rule above turned its label blue —
   invisible on the blue gradient button, so the button looked blank. Force the
   primary welcome button (and its inner span) white; keep the gradient fill.
   The "Create account" secondary button keeps accent text on its dark surface. */
.mx_DefaultWelcome_buttons a[data-kind="primary"],
.mx_DefaultWelcome_buttons .mx_AccessibleButton_kind_primary {
    background: linear-gradient(135deg, #2e80de, #175fb0) !important;
    background: var(--plx-bubble-out-grad) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border: none !important;
}
.mx_DefaultWelcome_buttons a[data-kind="primary"] *,
.mx_DefaultWelcome_buttons .mx_AccessibleButton_kind_primary * {
    color: #ffffff !important;
}
/* secondary "Create account" -> accent text on a panel surface (clear, legible) */
.mx_DefaultWelcome_buttons a[data-kind="secondary"] {
    color: #2e80de !important;
    color: var(--plx-accent) !important;
    background: #202b36 !important;
    background: var(--plx-panel-2) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--plx-border) !important;
}

/* ---------- PLX-010/011: single centered ~360px login card ----------
   Element renders a two-pane modal (logo aside + form). Collapse the
   modalContent flex-row into a single centered column card. */
.mx_AuthPage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #0e1621 !important;
    background-color: var(--plx-bg) !important;
}
.mx_AuthPage_modalContent {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    width: min(360px, calc(100vw - 32px)) !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    padding: 28px 24px !important;
    background: #17212b !important;
    background: var(--plx-panel) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border: 1px solid var(--plx-border) !important;
    border-radius: 14px !important;
    border-radius: var(--plx-radius-card) !important;
    -webkit-box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45) !important;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45) !important;
    -webkit-box-shadow: 0 10px 40px var(--plx-shadow) !important;
            box-shadow: 0 10px 40px var(--plx-shadow) !important;
}
/* header logo block -> centered card header (monogram + wordmark + tagline) */
.mx_AuthHeader,
.mx_AuthHeaderLogo_plx {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
    width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
}
/* PLX-WEB-09: plx-logo.png is a 235x72 WORDMARK asset, not a square glyph.
   Render it as a proper tile at its native aspect ratio (fixed height, auto
   width, object-fit:contain) so it is never squished into a 1:1 box. The asset
   already carries the "PLX" wordmark, so the redundant text wordmark below it is
   hidden to avoid showing "PLX" twice. */
.mx_AuthHeaderLogo_plx .mx_AuthHeaderLogo_mark,
.mx_AuthHeaderLogo_plx img {
    width: auto !important;
    height: 46px !important;
    max-width: 210px !important;
    -o-object-fit: contain !important;
       object-fit: contain !important;
    display: block !important;
    margin: 2px auto 10px !important;
}
.mx_AuthHeaderLogo_wordmark {
    display: none !important;
    font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;
    font-family: var(--plx-font);
    font-weight: 800;
    font-size: 26px;
    letter-spacing: 0.12em;
    color: #ffffff;
    color: var(--plx-text);
}
.mx_AuthHeaderLogo_tagline {
    font-size: 13px;
    color: #7f91a4;
    color: var(--plx-text-secondary);
    margin-top: 4px;
}
/* hide the language selector chrome in the compact card */
.mx_AuthHeader .mx_LanguageSelector {
    display: none !important;
}
/* the form body sits below the header inside the same card */
.mx_AuthPage_modalContent .mx_AuthBody {
    width: 100% !important;
    margin-top: 18px !important;
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* ---------- PLX-WEB-10: single auth card (no doubled / nested border) ----------
   The outer .mx_AuthPage_modalContent is the ONE card with a border + shadow.
   Element nests several inner wrappers (.mx_AuthBody, .mx_AuthHeaderDisplay,
   .mx_Register_mainContent) that each carry their own border / box-shadow /
   surface, producing a visible "card inside a card" double outline. Strip the
   chrome from every inner wrapper so only the single outer card frame shows. */
.mx_AuthPage_modalContent .mx_AuthBody,
.mx_AuthPage_modalContent .mx_AuthHeaderDisplay,
.mx_AuthPage_modalContent .mx_Register_mainContent,
.mx_AuthPage_modalContent .mx_AuthBody > form,
.mx_AuthPage_modalContent .mx_Login_box {
    border: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    background: transparent !important;
}

/* PLX-WEB-10: equalise primary-action button widths. The Sign-in / Continue /
   "Continue with 2FA"-style submit buttons render at intrinsic width, so they
   look ragged. Make every auth-form primary submit full card-width and matched
   height for a clean, aligned column. */
.mx_AuthBody .mx_Login_submit,
.mx_AuthBody form [type="submit"],
.mx_AuthBody .mx_AccessibleButton_kind_primary,
.mx_AuthBody .mx_Login_fullWidthButton,
.mx_AuthPage_modalContent .mx_SSOButtons .mx_AccessibleButton {
    display: block !important;
    width: 100% !important;
    -webkit-box-sizing: border-box !important;
            box-sizing: border-box !important;
    min-height: 44px !important;
    margin-top: 12px !important;
}

/* ---------- PLX-WEB-18: hide the mid-card "English" language dropdown ----------
   The LanguageSelector (rendered as .mx_AuthBody_language inside the form, and as
   .mx_LanguageSelector in the header) is now config-disabled
   (disable_login_language_selector:true) AND hidden here as a CSS backstop so it
   can never reappear mid-card on the auth screens. */
.mx_AuthBody .mx_AuthBody_language,
.mx_AuthBody_language,
.mx_AuthHeader .mx_LanguageSelector,
.mx_AuthPage_modalContent .mx_LanguageSelector,
.mx_AuthPage_modalContent .mx_Dropdown.mx_AuthBody_language {
    display: none !important;
}

/* footer trust line, centered under the card */
.mx_AuthFooter_plx {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    margin-top: 14px;
}
.mx_AuthFooter_plxTrust {
    font-size: 12px;
    color: #7f91a4;
    color: var(--plx-text-secondary);
    text-align: center;
}

/* center the card on mobile too */
@media (max-width: 640px) {
    .mx_AuthPage_modalContent {
        width: calc(100vw - 24px) !important;
        padding: 22px 18px !important;
    }
}

/* =====================================================================
   PLX-001 — MOBILE SINGLE-PANE (<=900px)
   The new room list uses react-resizable-panels (a flex Group with two
   [data-panel] children + a [data-separator]). On desktop the two panes sit
   side-by-side. On mobile we collapse to ONE pane that swaps between the room
   list and the open conversation, driven by data-page-type on .mx_MatrixChat.

   - data-page-type != "room_view"  -> show the LEFT panel (room list) full-width,
     hide the conversation panel + separator.
   - data-page-type == "room_view"  -> show the CONVERSATION panel full-width,
     hide the left panel + separator, and reveal the back arrow in the header.

   The library sets inline flex styles on each [data-panel]; we override with
   !important. The left panel carries id="left-panel" (data-panel id), the
   conversation panel is the OTHER [data-panel] sibling. =================== */

/* back arrow: hidden on desktop, shown on mobile inside the room header */
.mx_RoomHeader_plxBack {
    display: none;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 32px;
    height: 32px;
    -webkit-margin-end: 2px;
            margin-inline-end: 2px;
    padding: 0;
    border: none;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
    color: #2e80de;
    color: var(--plx-accent);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
}
.mx_RoomHeader_plxBack:hover {
    background: rgba(255, 255, 255, 0.05);
    background: var(--plx-row-hover);
}
.mx_RoomHeader_plxBack svg {
    fill: currentColor;
}

@media (max-width: 900px) {
    /* The resizable Group becomes a single full-width column. */
    .mx_MatrixChat [data-group] {
        width: 100% !important;
    }

    /* Both panels can take the full width when shown. */
    .mx_MatrixChat [data-panel] {
        -webkit-box-flex: 1 !important;
            -ms-flex: 1 1 100% !important;
                flex: 1 1 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }

    /* Never show the resize separator / handle on mobile. */
    .mx_MatrixChat [data-separator],
    .mx_MatrixChat .mx_Separator,
    .mx_MatrixChat .mx_ResizeHandle {
        display: none !important;
    }

    /* --- LIST VIEW (no room open): show room list, hide conversation --- */
    .mx_MatrixChat:not([data-page-type="room_view"]) [data-panel]#left-panel {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-flex: 1 !important;
            -ms-flex: 1 1 100% !important;
                flex: 1 1 100% !important;
    }
    .mx_MatrixChat:not([data-page-type="room_view"]) [data-panel]:not(#left-panel) {
        display: none !important;
    }

    /* --- CONVERSATION VIEW (room open): show conversation, hide room list --- */
    .mx_MatrixChat[data-page-type="room_view"] [data-panel]#left-panel {
        display: none !important;
    }
    .mx_MatrixChat[data-page-type="room_view"] [data-panel]:not(#left-panel) {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-flex: 1 !important;
            -ms-flex: 1 1 100% !important;
                flex: 1 1 100% !important;
    }

    /* Reveal the back arrow only on mobile. */
    .mx_RoomHeader_plxBack {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
    }

    /* Make sure the room view + its inner wrapper actually fill the pane. */
    .mx_MatrixChat[data-page-type="room_view"] .mx_RoomView_wrapper,
    .mx_MatrixChat[data-page-type="room_view"] .mx_RoomView {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* ---------- PLX-WEB-15: secondary panel (People / room-info / member-info)
       must cover the conversation FULL-WIDTH on mobile instead of squeezing in
       as a half-pane and leaking the pane underneath. The RightPanel is a
       sibling overlay; pin it over the whole viewport with a higher z-index so
       nothing of the prior pane bleeds through. */
    .mx_MatrixChat .mx_RightPanel {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        z-index: 4000 !important;
        background: #17212b !important;
        background: var(--plx-panel) !important;
    }
    /* the resizer/separator next to the right panel must never show on mobile */
    .mx_RoomView_container .mx_ResizeHandle,
    .mx_MainSplit > .mx_ResizeHandle {
        display: none !important;
    }

    /* ---------- PLX-WEB-15: kill the stranded composer emoji/media button that
       bleeds over the People panel. The composer button row is positioned with
       a stacking context that, on narrow widths, left the media-picker (smiley)
       button painting above the open right panel. Constrain the composer + its
       buttons below the RightPanel overlay and clip overflow so no button
       escapes the composer wrapper. */
    .mx_MessageComposer,
    .mx_MessageComposer_wrapper {
        position: relative !important;
        z-index: 1 !important;
        overflow: visible;
    }
    .mx_MatrixChat .mx_RightPanel ~ * .mx_MessageComposer_button,
    .mx_RightPanel_open .mx_MessageComposer_button {
        z-index: 0 !important;
    }
    /* the unified media picker panel anchors to the composer; keep it under the
       right-panel overlay and within the conversation pane on mobile */
    .mx_PlxMediaPicker {
        z-index: 1200 !important;
        max-width: calc(100vw - 24px) !important;
    }
}

/* ---------- PLX-WEB-08: reposition non-critical toasts ----------
   Upstream anchors the toast stack top-left (top:12px; left:62px), where it
   overlaps the room header / user-menu avatar / search on load. We've already
   suppressed the unverified-sessions + notifications nags in code; for any
   remaining toast (update available, server limit, etc.) move the whole stack to
   the BOTTOM-left so it can never cover the header. Critical modal dialogs are a
   separate layer and are unaffected. */
.mx_ToastContainer {
    top: auto !important;
    bottom: 16px !important;
    left: 16px !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Dev note: there's no actual component called <PlaybackContainer />. These classes */
/* are shared amongst multiple voice message components. */

/* Container for live recording and playback controls */
.mx_VoiceMessagePrimaryContainer {
    /* Match mx_MediaBody spacing, offsetting the waveform's 1px internal right padding. */
    padding: 6px 11px 6px 12px;

    /* Cheat at alignment a bit */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    contain: content;

    /* Waveforms are present in live recording only */
}

    .mx_VoiceMessagePrimaryContainer .mx_Waveform,
    .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle {
        min-width: 0; /* Prevent a blowout */
    }
    .mx_VoiceMessagePrimaryContainer .mx_Waveform {
        /* default, overridden in JS */
        --barHeight: 1;
    }
        .mx_VoiceMessagePrimaryContainer .mx_Waveform .mx_Waveform_bar {
            background-color: var(--cpd-color-gray-600);
            height: 100%;
            -webkit-transform: scaleY(max(0.05, var(--barHeight)));
                    transform: scaleY(max(0.05, var(--barHeight)));
        }

            .mx_VoiceMessagePrimaryContainer .mx_Waveform .mx_Waveform_bar.mx_Waveform_bar_100pct {
                /* Small animation to remove the mechanical feel of progress */
                -webkit-transition: background-color 250ms ease;
                transition: background-color 250ms ease;
                background-color: var(--cpd-color-text-secondary);
            }

    .mx_VoiceMessagePrimaryContainer .mx_Clock {
        width: 2.625rem; /* we're not using a monospace font, so fake it */
        min-width: 2.625rem; /* force sensible layouts in awkward flexboxes (file panel, for example) */
        padding-right: 6px; /* with the fixed width this ends up as a visual 8px most of the time, as intended. */
        padding-left: 8px; /* isolate from recording circle / play control */
    }

    .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle {
        margin-left: 8px;
        margin-right: 6px;
        position: relative;
        display: inline-block;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        height: 30px; /* same height as mx_Waveform, needed for automatic vertical centering */

        /* For timeline-rendered playback, the clock is on the other side of the waveform. */
    }

        .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_Waveform {
            left: 0;
            top: 0;
        }

        .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar {
            position: absolute;
            left: 0;
            height: 30px;
            top: -2px; /* visually vertically centered */

            /* Hide the hairline progress bar since we're at 100% height. Need to have distinct rules */
            /* because CSS is weird. */
            background: none;

            /* Make the thumb easier to see. Like the SeekBar original styles, these need to be */
            /* distinct. We make it transparent so it doesn't show up on the UI, but also larger */
            /* so it's easier to grab by mouse users in some browsers. Most browsers let the user */
            /* move and drag the thumb regardless of hitting the thumb, however. */
        }
            .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::before {
                background: none;
            }
            .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::-moz-range-progress {
                background: none;
            }
            .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::-webkit-slider-thumb {
                width: 10px;
                height: 10px;
                background-color: transparent;
            }
            .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle .mx_SeekBar::-moz-range-thumb {
                width: 10px;
                height: 10px;
                background-color: transparent;
            }
        .mx_VoiceMessagePrimaryContainer .mx_RecordingPlayback_timelineLayoutMiddle + .mx_Clock {
            text-align: right;

            /* Take the padding off the clock because it's accounted for by the `timelineLayoutMiddle` */
            padding: 0;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* CSS inspiration from: */
/* * https://www.w3schools.com/howto/howto_js_rangeslider.asp */
/* * https://stackoverflow.com/a/28283806 */
/* * https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/ */

.mx_SeekBar {
    /* default, overridden in JS */
    --fillTo: 1;

    /* Dev note: we deliberately do not have the -ms-track (and friends) selectors because we don't */
    /* need to support IE. */

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none; /* default style override */

    width: 100%;
    height: 1px;
    background: var(--cpd-color-gray-600);
    outline: none; /* remove blue selection border */
    position: relative; /* for before+after pseudo elements later on */

    cursor: pointer;

    /* This is for webkit support, but we can't limit the functionality of it to just webkit */
    /* browsers. Firefox responds to webkit-prefixed values now, which means we can't use media */
    /* or support queries to selectively apply the rule. An upside is that this CSS doesn't work */
    /* in firefox, so it's just wasted CPU/GPU time. */

    /* This is firefox's built-in support for the above, with 100% less hacks. */

    /* Increase clickable area for the slider (approximately same size as browser default) */
    /* We do it this way to keep the same padding and margins of the element, avoiding margin math. */
    /* Source: https://front-back.com/expand-clickable-areas-for-a-better-touch-experience/ */
}

    .mx_SeekBar::-webkit-slider-thumb {
        -webkit-appearance: none;
                appearance: none; /* default style override */

        /* Dev note: This needs to be duplicated with the -moz-range-thumb selector */
        /* because otherwise Edge (webkit) will fail to see the styles and just refuse */
        /* to apply them. */
        width: 8px;
        height: 8px;
        border-radius: 8px;
        background-color: var(--cpd-color-gray-800);
        cursor: pointer;
    }

    .mx_SeekBar::-moz-range-thumb {
        width: 8px;
        height: 8px;
        border-radius: 8px;
        background-color: var(--cpd-color-gray-800);
        cursor: pointer;

        /* Firefox adds a border on the thumb */
        border: none;
    }
    .mx_SeekBar::before {
        /* ::before to ensure it ends up under the thumb */
        content: "";
        background-color: var(--cpd-color-gray-800);

        /* Absolute positioning to ensure it overlaps with the existing bar */
        position: absolute;
        top: 0;
        left: 0;

        /* Sizing to match the bar */
        width: 100%;
        height: 1px;

        /* And finally dynamic width without overly hurting the rendering engine. */
        -webkit-transform-origin: 0 100%;
                transform-origin: 0 100%;
        -webkit-transform: scaleX(var(--fillTo));
                transform: scaleX(var(--fillTo));
    }
    .mx_SeekBar::-moz-range-progress {
        background-color: var(--cpd-color-gray-800);
        height: 1px;
    }

    .mx_SeekBar:disabled {
        opacity: 0.5;
    }
    .mx_SeekBar::after {
        content: "";
        position: absolute;
        top: -6px;
        bottom: -6px;
        left: 0;
        right: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Waveform {
    position: relative;
    height: 30px; /* tallest bar can only be 30px */
    top: 1px; /* because of our border trick (see below), we're off by 1px of aligntment */

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; /* so the bars grow from the middle */

    overflow: hidden; /* this is cheaper than a `max-height: calc(100% - 4px)` in the bar's CSS. */

    /* A bar is meant to be a 2x2 circle when at zero height, and otherwise a 2px wide line */
    /* with rounded caps. */
}
    .mx_Waveform .mx_Waveform_bar {
        width: 0; /* 0px width means we'll end up using the border as our width */
        border: 1px solid transparent; /* transparent means we'll use the background colour */
        border-radius: 2px; /* rounded end caps, based on the border */
        min-height: 0; /* like the width, we'll rely on the border to give us height */
        max-height: 100%; /* this makes the `height: 42%` work on the element */
        margin-left: 1px; /* we want 2px between each bar, so 1px on either side for balance */
        margin-right: 1px;

        /* background color is handled by the parent components */
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthBody {
    width: 500px;
    font-size: 0.75rem;
    color: var(--cpd-color-text-secondary);
    background-color: var(--cpd-color-bg-canvas-default);
    border-radius: 0 var(--cpd-space-6x) var(--cpd-space-6x) 0;
    padding: 25px 60px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

    .mx_AuthBody strong {
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_AuthBody.mx_AuthBody_flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mx_AuthBody h1 {
        font-size: 1.5rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-top: 8px;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AuthBody h2 {
        font: var(--cpd-font-body-md-semibold);
        color: var(--cpd-color-text-secondary);
    }

    .mx_AuthBody h2.mx_AuthBody_centered {
        text-align: center;
    }

    .mx_AuthBody a:link,
    .mx_AuthBody a:hover,
    .mx_AuthBody a:visited {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
        text-decoration: none;
    }

    .mx_AuthBody fieldset {
        display: block;
    }

    .mx_AuthBody .mx_AuthBody_icon {
        width: 44px;
        height: 44px;
    }

    .mx_AuthBody .mx_AuthBody_lockIcon {
        color: var(--cpd-color-text-secondary);
        height: 32px;
        width: 32px;
    }

    .mx_AuthBody .mx_AuthBody_text {
        margin-bottom: 48px;
        margin-top: 0;
    }

    .mx_AuthBody input[type="text"],
    .mx_AuthBody input[type="password"] {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AuthBody .mx_Field label {
        color: var(--cpd-color-text-secondary);
    }

    .mx_AuthBody .mx_Field input,
    .mx_AuthBody .mx_Field select {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        background-color: var(--cpd-color-bg-canvas-default);
    }

    .mx_AuthBody .mx_Field input:not(:-moz-placeholder) + label, .mx_AuthBody .mx_Field textarea:not(:-moz-placeholder) + label {
        background-color: var(--cpd-color-bg-canvas-default);
    }

    .mx_AuthBody .mx_Field input:not(:-ms-input-placeholder) + label, .mx_AuthBody .mx_Field textarea:not(:-ms-input-placeholder) + label {
        background-color: var(--cpd-color-bg-canvas-default);
    }

    .mx_AuthBody .mx_Field_labelAlwaysTopLeft label,
    .mx_AuthBody .mx_Field select + label,
    .mx_AuthBody .mx_Field input:focus + label,
    .mx_AuthBody .mx_Field input:not(:placeholder-shown) + label,
    .mx_AuthBody .mx_Field textarea:focus + label,
    .mx_AuthBody .mx_Field textarea:not(:placeholder-shown) + label {
        background-color: var(--cpd-color-bg-canvas-default);
    }

    .mx_AuthBody input.error {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }

    .mx_AuthBody .mx_Login_submit {
        height: 32px;
        margin-top: 16px;
    }

    .mx_AuthBody .mx_ErrorMessage {
        margin-bottom: 12px;
        margin-top: 2px;
    }

    .mx_AuthBody .mx_Field input {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .mx_AuthBody .mx_Field_select::before {
        background-color: #ffffff;
        background-color: var(--cpd-color-text-primary);
    }

    .mx_AuthBody .mx_Dropdown {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AuthBody .mx_Dropdown_arrow {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AuthBody .mx_Dropdown_menu {
        background-color: var(--cpd-color-bg-canvas-default);
    }

        .mx_AuthBody .mx_Dropdown_menu .mx_Dropdown_option_highlight {
            background-color: var(--cpd-color-bg-subtle-primary);
        }

/* specialisation for password reset views */
.mx_AuthBody.mx_AuthBody_forgot-password {
    font: var(--cpd-font-body-md-regular);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    padding: 50px 32px;
    min-height: 600px;
}

    .mx_AuthBody.mx_AuthBody_forgot-password h1 {
        margin: 24px 0;
    }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_button-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_Login_submit {
        margin: 0 0 16px;
    }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_text {
        margin-bottom: 32px;
    }

        .mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_text p {
            margin: 0 0 8px;
        }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_sign-in-instead-button {
        font-weight: var(--cpd-font-weight-semibold);
        padding: 4px;
    }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_AuthBody_fieldRow {
        margin-bottom: 24px;
    }

    .mx_AuthBody.mx_AuthBody_forgot-password .mx_AccessibleButton.mx_AccessibleButton_hasKind {
        background: none;
    }

        .mx_AuthBody.mx_AuthBody_forgot-password .mx_AccessibleButton.mx_AccessibleButton_hasKind:disabled {
            cursor: default;
            opacity: 0.4;
        }

.mx_AuthBody_did-not-receive {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: var(--cpd-color-text-secondary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
}

.mx_AuthBody_resend-button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 8px;
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4px;
    padding: 4px;
}

    .mx_AuthBody_resend-button:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_AuthBody_emailPromptIcon {
    width: 57px;
}

.mx_AuthBody_emailPromptIcon--shifted {
    margin-bottom: -17px; /* Prevent layout jump by relative positioning. */
    position: relative;
    top: -17px; /* This icon is higher than the other icons. Shift up to prevent icon jumping. */
    width: 57px;
}

.mx_AuthBody_fieldRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 10px;
}

.mx_AuthBody_fieldRow > .mx_Field {
    margin: 0 5px;
}

.mx_AuthBody_fieldRow > .mx_Field:first-child {
    margin-left: 0;
}

.mx_AuthBody_fieldRow > .mx_Field:last-child {
    margin-right: 0;
}

.mx_AuthBody_paddedFooter {
    height: 80px; /* height of the submit button + register link */
    padding-top: 28px;
    text-align: center;
}

    .mx_AuthBody_paddedFooter .mx_AuthBody_paddedFooter_title {
        margin-top: 16px;
        font-size: 0.9375rem;
        line-height: 1.5rem;
    }

        .mx_AuthBody_paddedFooter .mx_AuthBody_paddedFooter_title .mx_InlineSpinner svg {
            vertical-align: sub;
            margin-right: 5px;
        }

    .mx_AuthBody_paddedFooter .mx_AuthBody_paddedFooter_subtitle {
        margin-top: 8px;
        font-size: 0.625rem;
        line-height: 0.875rem;
    }

.mx_AuthBody_changeFlow {
    display: block;
    text-align: center;
}

    .mx_AuthBody_changeFlow > a {
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_SSOButtons + .mx_AuthBody_changeFlow {
    margin-top: 24px;
}

.mx_AuthBody_spinner {
    margin: 1em 0;
}

@media only screen and (max-width: 480px) {
    .mx_AuthBody {
        border-radius: 4px;
        width: auto;
        max-width: 500px;
        padding: 10px;
    }
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthFooter {
    text-align: center;
    width: 100%;
    font: var(--cpd-font-body-md-regular);
    opacity: 0.72;
    padding: 20px 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgb(0, 0, 0, 0)), to(rgb(0, 0, 0, 0.8)));
    background: linear-gradient(rgb(0, 0, 0, 0), rgb(0, 0, 0, 0.8));
}

.mx_AuthFooter a:link,
.mx_AuthFooter a:hover,
.mx_AuthFooter a:visited {
    color: #f4f6fa;
    margin: 0 22px;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 206px;
    padding: 25px 25px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

@media only screen and (max-width: 480px) {
    .mx_AuthHeader {
        display: none;
    }
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthHeaderLogo {
    margin-top: 15px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0 25px;
}

.mx_AuthHeaderLogo img {
    width: 100%;
}

@media only screen and (max-width: 480px) {
    .mx_AuthHeaderLogo {
        display: none;
    }
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthPage {
    width: 100%;
    min-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #2e3649;
    height: 100vh;
    overflow: auto;
}

.mx_AuthPage_modal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 100px auto auto;
    border-radius: var(--cpd-space-6x);
    background-color: rgba(245, 245, 245, 0.9);
}

    @media only screen and (max-height: 768px) {

.mx_AuthPage_modal {
        margin-top: 50px
}
    }

    @media only screen and (max-width: 480px) {

.mx_AuthPage_modal {
        margin-top: 0
}
    }

    .mx_AuthPage_modal.mx_AuthPage_modal_withBlur {
        /* Apply a blurred shadow around the modal */
        -webkit-box-shadow: 0 2px 4px 0 rgb(0, 0, 0, 0.33);
                box-shadow: 0 2px 4px 0 rgb(0, 0, 0, 0.33);
    }

        .mx_AuthPage_modal.mx_AuthPage_modal_withBlur .mx_AuthPage_modalContent {
            /* Make the modal's background semitransparent */
            background-color: rgb(255, 255, 255, 0.59);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CompleteSecurityBody {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-canvas-default);
    border-radius: 24px;
    padding: 20px 20px 60px 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

    .mx_CompleteSecurityBody h2 {
        font-size: 1.5rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-top: 0;
    }

    .mx_CompleteSecurityBody h3 {
        font: var(--cpd-font-body-md-semibold);
    }

    .mx_CompleteSecurityBody a:link,
    .mx_CompleteSecurityBody a:hover,
    .mx_CompleteSecurityBody a:visited {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
        text-decoration: none;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CountryDropdown .mx_Dropdown_input .mx_Dropdown_option {
    padding: 0 3px;
}

.mx_CountryDropdown .mx_Dropdown_arrow {
    padding-right: 3px;
}

.mx_CountryDropdown_shortOption {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
}

.mx_CountryDropdown_option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
}
@layer app-web{

/*
Copyright 2026 Element Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DefaultWelcome {
    text-align: center;
}

    .mx_DefaultWelcome .mx_DefaultWelcome_logo img {
        height: 48px;
        aspect-ratio: auto;
        display: block;
        margin: 0 auto;
    }

    .mx_DefaultWelcome h1 {
        margin: var(--cpd-space-4x) 0 var(--cpd-space-2x);
    }

    .mx_DefaultWelcome p {
        color: var(--cpd-color-text-secondary);
        margin-top: var(--cpd-space-2x);
    }

    .mx_DefaultWelcome .mx_DefaultWelcome_buttons {
        margin: var(--cpd-space-6x) 0 var(--cpd-space-1x);
        padding-bottom: var(--cpd-space-4x);
        border-bottom: 1px solid var(--cpd-color-separator-primary);
    }

        .mx_DefaultWelcome .mx_DefaultWelcome_buttons a {
            width: 380px;
            margin-bottom: var(--cpd-space-4x);
        }
    .mx_WelcomePage_registrationDisabled .mx_DefaultWelcome_buttons_register {
        display: none;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_InteractiveAuthEntryComponents .mx_InteractiveAuthEntryComponents_termsSubmit {
        margin-top: 20px;
        margin-bottom: 5px;
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; /* prevent overflowing */
    }

.mx_InteractiveAuthEntryComponents_msisdnWrapper {
    text-align: center;
}

.mx_InteractiveAuthEntryComponents_msisdnEntry {
    font-size: 200%;
    font-weight: bold;
    border: 1px solid var(--cpd-color-border-interactive-primary);
    border-radius: 3px;
    width: 6em;
}

.mx_InteractiveAuthEntryComponents_msisdnEntry:focus {
    border: 1px solid #2e80de;
    border: 1px solid var(--cpd-color-text-action-accent);
}

.mx_InteractiveAuthEntryComponents_msisdnSubmit {
    margin-top: 4px;
    margin-bottom: 5px;
}

/* XXX: This should be a common button class */
.mx_InteractiveAuthEntryComponents_msisdnSubmit:disabled {
    background-color: #747474;
    cursor: default;
}

.mx_InteractiveAuthEntryComponents_termsPolicy {
    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-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_InteractiveAuthEntryComponents_passwordSection {
    width: 300px;
}

.mx_InteractiveAuthEntryComponents_sso_buttons {
    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-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 20px;
}

    .mx_InteractiveAuthEntryComponents_sso_buttons .mx_AccessibleButton {
        margin-left: 5px;
    }

.mx_InteractiveAuthEntryComponents_emailWrapper {
    /* "Resend" button/link */
}
    .mx_InteractiveAuthEntryComponents_emailWrapper .mx_AccessibleButton_kind_link_inline {
        /* We need this to be an inline-block so positioning works correctly */
        display: inline-block !important;

        /* Spinner as end adornment of the "resend" button/link */
    }
        .mx_InteractiveAuthEntryComponents_emailWrapper .mx_AccessibleButton_kind_link_inline .mx_Spinner {
            /* Spinners are usually block elements, but we need it as inline element */
            display: -webkit-inline-box !important;
            display: -ms-inline-flexbox !important;
            display: inline-flex !important;
            /* Spinners by default fill all available width, but we don't want that */
            width: auto !important;
            /* We need to center the spinner relative to the button/link */
            vertical-align: middle !important;
        }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuthBody_language {
    width: 100%;
}

.mx_AuthBody_language .mx_Dropdown_input {
    border: none;
    font: var(--cpd-font-body-md-semibold);
    color: var(--cpd-color-text-secondary);
    width: auto;
}

.mx_AuthBody_language .mx_Dropdown_arrow {
    color: var(--cpd-color-text-secondary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LoginWithQRSection p {
    margin-top: 0;
    margin-bottom: 16px;
}
    .mx_LoginWithQRSection .mx_AccessibleButton_kind_primary + p {
        color: var(--cpd-color-text-secondary);
        margin-top: var(--cpd-space-2x);
    }

.mx_LoginWithQRSection .mx_AccessibleButton svg {
    margin-right: 12px;
}
    .mx_AuthPage .mx_LoginWithQR .mx_AccessibleButton {
        display: block !important;
    }

    .mx_AuthPage .mx_LoginWithQR .mx_AccessibleButton + .mx_AccessibleButton {
        margin-top: 8px;
    }

    .mx_AuthPage .mx_LoginWithQR{

    font-size: 0.9375rem;
}

.mx_LoginWithQR {
    min-height: 350px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font: var(--cpd-font-body-md-regular);
}

    .mx_LoginWithQR h1 {
        font-size: 1.5rem;
        margin-bottom: 0;
    }
            .mx_LoginWithQR h1 svg.normal {
                color: var(--cpd-color-text-secondary);
            }
            .mx_LoginWithQR h1 svg.error {
                color: #e0454b;
                color: var(--cpd-color-text-critical-primary);
            }
            .mx_LoginWithQR h1 svg.success {
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }
            .mx_LoginWithQR h1 svg{
            height: 1.3em;
            margin-right: 8px;
            vertical-align: middle;
}

    .mx_LoginWithQR h2 {
        margin-top: 24px;
    }

    .mx_LoginWithQR .mx_LoginWithQR_qrWrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 28px 0;
    }

        .mx_LoginWithQR .mx_LoginWithQR_qrWrapper .mx_Spinner {
            /* Match the size of the QR code to prevent jumps */
            height: 200px;
            width: 200px;
        }

    .mx_LoginWithQR .mx_LoginWithQR_confirmationDigits {
        text-align: center;
        margin: 48px auto;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 1.5rem;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_LoginWithQR .mx_LoginWithQR_confirmationAlert {
        border: 1px solid var(--cpd-color-gray-600);
        border-radius: 8px;
        padding: 8px;
        line-height: 1.5em;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

        .mx_LoginWithQR .mx_LoginWithQR_confirmationAlert svg {
            height: 30px;
        }

    .mx_LoginWithQR .mx_LoginWithQR_separator {
        margin: 1em 0;
    }

    .mx_LoginWithQR ol {
        -webkit-padding-start: 0;
                padding-inline-start: 0;
        list-style: none; /* list markers do not support the outlined number styling we need */

        /* Circled number list item marker */
    }

        .mx_LoginWithQR ol li {
            position: relative;
            padding-left: var(--cpd-space-7x);
            color: 1px solid var(--cpd-color-text-secondary);
            margin-bottom: var(--cpd-space-4x);
            line-height: 20px;
            text-align: left;
            text-align: initial;
        }
        .mx_LoginWithQR ol li::before {
            content: counter(list-item);
            position: absolute;
            left: 0;
            display: inline-block;
            width: 20px;
            height: 20px;
            line-height: 20px;
            border-radius: 50%;
            border: 1px solid var(--cpd-color-text-secondary);
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            text-align: center;
        }

    .mx_LoginWithQR label[for="mx_LoginWithQR_checkCode"] {
        margin-top: var(--cpd-space-6x);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin-bottom: var(--cpd-space-1x);
    }

    .mx_LoginWithQR .mx_LoginWithQR_icon {
        width: 56px;
        height: 56px;
        border-radius: 8px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: var(--cpd-space-3x);
        gap: 10px;

        background-color: var(--cpd-color-bg-subtle-secondary);
    }
        .mx_LoginWithQR .mx_LoginWithQR_icon svg {
            color: var(--cpd-color-icon-secondary);
        }

        .mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--success {
            background-color: var(--cpd-color-bg-success-subtle);
        }
            .mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--success svg {
                color: #3ecf8e;
                color: var(--cpd-color-icon-success-primary);
            }

        .mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--critical {
            background-color: var(--cpd-color-bg-critical-subtle);
        }
            .mx_LoginWithQR .mx_LoginWithQR_icon.mx_LoginWithQR_icon--critical svg {
                color: var(--cpd-color-icon-critical-primary);
            }

    .mx_LoginWithQR .mx_LoginWithQR_checkCode_input {
        margin-bottom: var(--cpd-space-1x);
        text-align: left;
        text-align: initial;
    }

        .mx_LoginWithQR .mx_LoginWithQR_checkCode_input input {
            /* Workaround for one of the input rules in _common.pcss being not specific enough */
            padding: 0;
            -webkit-padding-start: calc(40px / 2 - (1ch / 2));
                    padding-inline-start: calc(40px / 2 - (1ch / 2));
        }

    .mx_LoginWithQR .mx_LoginWithQR_heading {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 12px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

    .mx_LoginWithQR .mx_LoginWithQR_BackButton {
        height: 28px;
        border-radius: 28px;
        padding: 4px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--cpd-color-bg-subtle-secondary);
    }
        .mx_LoginWithQR .mx_LoginWithQR_BackButton svg {
            height: 100%;
        }

    .mx_LoginWithQR .mx_LoginWithQR_breadcrumbs {
        font-size: 0.8125rem;
        color: var(--cpd-color-text-secondary);
    }

    .mx_LoginWithQR .mx_LoginWithQR_main {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        text-align: center;
    }

        .mx_LoginWithQR .mx_LoginWithQR_main p {
            color: var(--cpd-color-text-secondary);
        }

    .mx_LoginWithQR.mx_LoginWithQR_error .mx_LoginWithQR_main {
        max-width: 400px;
        margin: 0 auto;
    }

    .mx_LoginWithQR .mx_LoginWithQR_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 16px;
        margin-top: var(--cpd-space-6x);
    }

        .mx_LoginWithQR .mx_LoginWithQR_buttons .mx_AccessibleButton {
            width: 300px;
            height: 48px;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

    .mx_LoginWithQR .mx_QRCode {
        border-radius: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .mx_LoginWithQR .mx_LoginWithQR_spinner {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        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;
        height: 100%;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

progress.mx_PassphraseField_progress {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 100%;
    border: 0;
    height: 4px;
    position: absolute;
    top: -10px;
    left: 0;

    border-radius: "2px";
}

    progress.mx_PassphraseField_progress::-moz-progress-bar {
        border-radius: "2px";
    }

    progress.mx_PassphraseField_progress::-webkit-progress-bar,
    progress.mx_PassphraseField_progress::-webkit-progress-value {
        border-radius: "2px";
    }

    progress.mx_PassphraseField_progress{
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}
    progress.mx_PassphraseField_progress::-moz-progress-bar {
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }
    progress.mx_PassphraseField_progress::-webkit-progress-value {
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }
    progress.mx_PassphraseField_progress[value="2"],
    progress.mx_PassphraseField_progress[value="3"] {
        color: var(--cpd-color-text-decorative-5);
    }
        progress.mx_PassphraseField_progress[value="2"]::-moz-progress-bar, progress.mx_PassphraseField_progress[value="3"]::-moz-progress-bar {
        background-color: var(--cpd-color-text-decorative-5);
    }
        progress.mx_PassphraseField_progress[value="2"]::-webkit-progress-value, progress.mx_PassphraseField_progress[value="3"]::-webkit-progress-value {
        background-color: var(--cpd-color-text-decorative-5);
    }
    progress.mx_PassphraseField_progress[value="4"] {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }
        progress.mx_PassphraseField_progress[value="4"]::-moz-progress-bar {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
    }
        progress.mx_PassphraseField_progress[value="4"]::-webkit-progress-value {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Welcome {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: var(--cpd-color-bg-canvas-default);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: var(--cpd-space-11x) var(--cpd-space-12x) var(--cpd-space-4x);
}
        .mx_Welcome.mx_WelcomePage_registrationDisabled .mx_ButtonCreateAccount {
            display: none;
        }

.mx_Welcome .mx_AuthBody_language {
    width: 160px;
    margin: var(--cpd-space-1x) 0;
}

/* Invert image colours in dark mode. */
.cpd-theme-dark .mx_WelcomePage_logo {
    -webkit-filter: invert(1);
            filter: invert(1);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

button.mx_BaseAvatar {
    /* <button> is a form element and by default it uses the user agent (browser) styling.
       We want it to inherit the font-family and line-height from its parent.
     */
    font-family: inherit;
    line-height: inherit;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DecoratedRoomAvatar,
.mx_ExtraTile {
    position: relative;
    contain: content;
    line-height: 0;
}

    .mx_DecoratedRoomAvatar.mx_DecoratedRoomAvatar_cutout .mx_BaseAvatar, .mx_ExtraTile.mx_DecoratedRoomAvatar_cutout .mx_BaseAvatar {
        -webkit-mask-image: url(../../img/element-icons/roomlist/decorated-avatar-mask.e3fe38a.svg);
                mask-image: url(../../img/element-icons/roomlist/decorated-avatar-mask.e3fe38a.svg);
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
    }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon {
        position: absolute;
        /* the following percentage based sizings are to match the scalable svg mask for the cutout */
        bottom: 6.25%; /* 2px for a 32x32 avatar */
        right: 6.25%;
        width: 25%; /* 8px for a 32x32 avatar */
        height: 25%;
        border-radius: 50%;
    }

        .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon::before,
        .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon svg,
        .mx_ExtraTile .mx_DecoratedRoomAvatar_icon::before,
        .mx_ExtraTile .mx_DecoratedRoomAvatar_icon svg {
            width: 100%;
            height: 100%;
            right: 0;
            position: absolute;
            border-radius: 8px;
        }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_globe svg, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_globe svg {
        /* Oversize the icon to account for the dead space around the icon within the canvas */
        width: 120%;
        height: 120%;
        margin: -10%;
        color: var(--cpd-color-text-secondary);
    }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_offline::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_offline::before {
        content: "";
        background-color: #e3e8f0;
    }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_online::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_online::before {
        content: "";
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
    }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_away::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_away::before {
        content: "";
        background-color: #d9b072;
    }

    .mx_DecoratedRoomAvatar .mx_DecoratedRoomAvatar_icon_busy::before, .mx_ExtraTile .mx_DecoratedRoomAvatar_icon_busy::before {
        content: "";
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }

    .mx_DecoratedRoomAvatar .mx_NotificationBadge,
    .mx_DecoratedRoomAvatar .mx_RoomTile_badgeContainer,
    .mx_ExtraTile .mx_NotificationBadge,
    .mx_ExtraTile .mx_RoomTile_badgeContainer {
        position: absolute;
        top: 0;
        right: 0;
        height: 18px;
        width: 18px;
    }
}
@layer app-web{

/*
 * Copyright 2025 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_RoomAvatarView {
    --room-avatar-size: 32px;

    position: relative;

    /* Keep the container to the same size than the avatar */
    inline-size: 32px;
    inline-size: var(--room-avatar-size);
    block-size: 32px;
    block-size: var(--room-avatar-size);
}

    .mx_RoomAvatarView .mx_RoomAvatarView_RoomAvatar {
        -webkit-mask-position: center;
                mask-position: center;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        pointer-events: none;
    }

    .mx_RoomAvatarView .mx_RoomAvatarView_RoomAvatar_icon {
        -webkit-mask-image: url(../../img/element-icons/roomlist/room-avatar-view-icon-mask.e959e90.svg);
                mask-image: url(../../img/element-icons/roomlist/room-avatar-view-icon-mask.e959e90.svg);
    }

    .mx_RoomAvatarView .mx_RoomAvatarView_RoomAvatar_presence {
        -webkit-mask-image: url(../../img/element-icons/roomlist/room-avatar-view-presence-mask.46fca54.svg);
                mask-image: url(../../img/element-icons/roomlist/room-avatar-view-presence-mask.46fca54.svg);
    }

    .mx_RoomAvatarView .mx_RoomAvatarView_icon {
        position: absolute;

        /* Place half the icon inside the avatar */
        /* Avatar size - (icon size (16px) / 2) */
        left: calc((var(--room-avatar-size) - 8px));
        bottom: var(--cpd-space-0-5x);
    }

    .mx_RoomAvatarView .mx_RoomAvatarView_PresenceDecoration {
        position: absolute;

        /* Place half the icon inside the avatar */
        /* Avatar size - (icon size (8px) / 2) */
        left: calc((var(--room-avatar-size) - 4px));
        bottom: var(--cpd-space-0-5x);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WidgetAvatar {
    /* !important override compound avatar */
    border-radius: 4px !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WithPresenceIndicator {
    position: relative;
    contain: content;
    line-height: 0;
}

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon {
        position: absolute;
        right: -2px;
        bottom: -2px;
    }

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon::before {
        content: "";
        width: 100%;
        height: 100%;
        right: 0;
        bottom: 0;
        position: absolute;
        border: 2px solid var(--cpd-color-bg-canvas-default);
        border-radius: 50%;
    }

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_offline::before {
        background-color: #e3e8f0;
    }

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_online::before {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
    }

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_away::before {
        background-color: #d9b072;
    }

    .mx_WithPresenceIndicator .mx_WithPresenceIndicator_icon_busy::before {
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BetaCard {
    padding: 24px;
    background-color: var(--cpd-color-bg-subtle-secondary);
    border-radius: 8px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: var(--cpd-color-text-secondary);
}

    .mx_BetaCard .mx_BetaCard_columns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        gap: 20px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

        .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_title {
                font-weight: var(--cpd-font-weight-semibold);
                font-size: 1.125rem;
                line-height: 1.375rem;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                margin: 4px 0 14px;

                display: -webkit-box;

                display: -ms-flexbox;

                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                -webkit-column-gap: 12px;
                   -moz-column-gap: 12px;
                        column-gap: 12px;
            }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_caption {
                font-size: 0.9375rem;
                line-height: 1.25rem;
            }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_buttons {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -ms-flex-wrap: wrap-reverse;
                    flex-wrap: wrap-reverse;
                gap: 12px;
                margin: 20px auto 0;
            }

                .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_buttons .mx_AccessibleButton {
                    padding: 7px 40px;
                    width: auto;
                    -webkit-box-flex: 1;
                        -ms-flex: 1;
                            flex: 1;
                    white-space: nowrap; /* text might overflow */
                }

                    .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_buttons .mx_AccessibleButton:nth-child(1) {
                        -webkit-box-ordinal-group: 3;
                            -ms-flex-order: 2;
                                order: 2; /* Place feedback button top and right */
                    }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_refreshWarning {
                margin-top: 8px;
                font-size: 0.625rem;
                text-align: center;
            }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_faq {
                margin-top: 20px;
                font: var(--cpd-font-body-xs-regular);
            }

                .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_faq > h4 {
                    margin: 12px 0 0;
                }

                .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_description .mx_BetaCard_faq > p {
                    margin: 0;
                }

        .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_image_wrapper {
            margin: auto 0;
        }

            .mx_BetaCard .mx_BetaCard_columns .mx_BetaCard_columns_image_wrapper .mx_BetaCard_columns_image {
                width: 100%;
                max-width: 300px;
                -o-object-fit: contain;
                   object-fit: contain;
                height: 100%;
                border-radius: 4px;
            }
        .mx_BetaCard .mx_BetaCard_relatedSettings .mx_SettingsFlag {
            margin: 16px 0 0;
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

            .mx_BetaCard .mx_BetaCard_relatedSettings .mx_SettingsFlag .mx_SettingsFlag_microcopy {
                margin-top: 4px;
                font: var(--cpd-font-body-sm-regular);
            }

.mx_BetaCard_betaPill {
    background-color: var(--cpd-color-text-link-external);
    padding: 4px 10px;
    border-radius: 8px;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: var(--cpd-font-weight-semibold);
    line-height: 15px;
    color: var(--cpd-color-bg-canvas-default);
    display: inline-block;
    vertical-align: text-bottom;
    word-break: keep-all; /* avoid multiple lines on CJK language */
}

    .mx_BetaCard_betaPill.mx_AccessibleButton {
        cursor: pointer;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeviceContextMenu {
    max-width: 252px;
}

    .mx_DeviceContextMenu .mx_IconizedContextMenu_label {
        padding-left: 0 !important;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020-2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* A context menu that largely fits the | [icon]    [label] | format. */
.mx_IconizedContextMenu {
    min-width: 146px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    /* override default ul styles */
    margin: 0;
    padding: 0;
}

    .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList {

        /* the notFirst class is for cases where the optionList might be under a header of sorts. */

        /* round the top corners of the top button for the hover effect to be bounded */

        /* round the bottom corners of the bottom button for the hover effect to be bounded */

        /* round all corners of the only button for the hover effect to be bounded */
    }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList > * {
            padding-left: 20px;
            padding-right: 20px;
        }

        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_optionList_label {
            font-size: 0.9375rem;
            font-weight: var(--cpd-font-weight-semibold);
        }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:nth-child(n + 2),
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_optionList_notFirst {
            border-top: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
        }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:first-child .mx_IconizedContextMenu_item:first-child {
            border-radius: 8px 8px 0 0; /* radius matches .mx_ContextualMenu */
        }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:last-child .mx_IconizedContextMenu_item:last-child {
            border-radius: 0 0 8px 8px; /* radius matches .mx_ContextualMenu */
        }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList:first-child:last-child .mx_IconizedContextMenu_item:first-child:last-child {
            border-radius: 8px; /* radius matches .mx_ContextualMenu */
        }

        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item {
            /* pad the inside of the button so that the hover background is padded too */
            padding-top: 12px;
            padding-bottom: 12px;
            text-decoration: none;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
            font: var(--cpd-font-body-md-regular);

            /* Create a flexbox to more easily define the list items */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item:hover,
            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item:focus-visible {
                background-color: var(--cpd-color-bg-action-secondary-hovered);
            }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item.mx_AccessibleButton_disabled {
                opacity: 0.5;
                cursor: not-allowed;
            }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item span.mx_IconizedContextMenu_label {
                /* labels */
                width: 100%;
                -webkit-box-flex: 1;
                    -ms-flex: 1;
                        flex: 1;

                /* Ellipsize any text overflow */
                text-overflow: ellipsis;
                overflow: hidden;
                white-space: nowrap;
            }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item svg {
                width: 16px;
                height: 16px;
                display: block;
                -ms-flex-negative: 0;
                    flex-shrink: 0;
            }

                .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item svg + .mx_IconizedContextMenu_label {
                    padding-left: 14px;
                }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList .mx_IconizedContextMenu_item .mx_BetaCard_betaPill {
                margin-left: 16px;
            }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList_red .mx_IconizedContextMenu_item {
            color: #e0454b !important;
            color: var(--cpd-color-text-critical-primary) !important;
        }

        .mx_IconizedContextMenu .mx_IconizedContextMenu_optionList_red svg {
            color: var(--cpd-color-icon-critical-primary);
        }

    .mx_IconizedContextMenu .mx_IconizedContextMenu_option_red {
        color: #e0454b !important;
        color: var(--cpd-color-text-critical-primary) !important;
    }

        .mx_IconizedContextMenu .mx_IconizedContextMenu_option_red svg {
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
        }
        .mx_IconizedContextMenu .mx_IconizedContextMenu_active.mx_IconizedContextMenu_item,
        .mx_IconizedContextMenu .mx_IconizedContextMenu_active .mx_IconizedContextMenu_item {
            color: #2e80de !important;
            color: var(--cpd-color-text-action-accent) !important;
        }

            .mx_IconizedContextMenu .mx_IconizedContextMenu_active.mx_IconizedContextMenu_item svg, .mx_IconizedContextMenu .mx_IconizedContextMenu_active .mx_IconizedContextMenu_item svg {
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }
        .mx_IconizedContextMenu.mx_IconizedContextMenu_compact .mx_IconizedContextMenu_optionList > * {
            padding: 8px 16px 8px 12px;
        }

    .mx_IconizedContextMenu svg.mx_IconizedContextMenu_checked {
        margin-left: 16px;
        margin-right: -5px;
    }

    .mx_IconizedContextMenu .mx_IconizedContextMenu_sublabel {
        margin-left: 20px;
        color: var(--cpd-color-gray-800);
    }

.mx_IconizedContextMenu_item.mx_IconizedContextMenu_itemDestructive {
    color: #e0454b !important;
    color: var(--cpd-color-text-critical-primary) !important;
}
}
@layer app-web{

/*
Copyright 2020-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallContextMenu_item {
    width: 205px;
    height: 40px;
    padding-left: 16px;
    line-height: 40px;
    vertical-align: center;
}
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_AddExistingToSpaceDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .mx_AddExistingToSpace .mx_SearchBox {
        /* To match the space around the title */
        margin: 0 0 15px 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
    }

    .mx_AddExistingToSpace .mx_AddExistingToSpace_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

    .mx_AddExistingToSpace .mx_AddExistingToSpace_noResults {
        display: block;
        margin-top: 24px;
    }

    .mx_AddExistingToSpace .mx_AddExistingToSpace_section {
        margin-right: 12px;

        /* provides space for scrollbar so that checkbox and scrollbar do not collide*/
    }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_section ul {
            list-style: none;
            padding-left: 0;
        }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_section:not(:first-child) {
            margin-top: 24px;
        }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_section > h3 {
            margin: 0;
            color: var(--cpd-color-text-secondary);
            font-size: 0.75rem;
            font-weight: var(--cpd-font-weight-semibold);
            line-height: 0.9375rem;
        }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_section .mx_AccessibleButton_kind_link {
            font-size: 0.75rem;
            line-height: 0.9375rem;
            margin-top: 8px;
        }

    .mx_AddExistingToSpace .mx_AddExistingToSpace_footer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 20px;
    }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar {
                height: 8px;
                width: 100%;

                border-radius: 8px;
            }

                .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar::-moz-progress-bar {
        border-radius: 8px;
    }

                .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar::-webkit-progress-bar,
    .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_ProgressBar::-webkit-progress-value {
        border-radius: 8px;
    }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span .mx_AddExistingToSpaceDialog_progressText {
                margin-top: 8px;
                font-size: 0.9375rem;
                line-height: 1.5rem;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer > span > * {
                vertical-align: middle;
            }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error {
            padding-left: 12px;
        }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error > img {
                -ms-flex-item-align: center;
                    align-self: center;
            }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error .mx_AddExistingToSpace_errorHeading {
                font-weight: var(--cpd-font-weight-semibold);
                font-size: 0.9375rem;
                line-height: 1.125rem;
                color: #e0454b;
                color: var(--cpd-color-text-critical-primary);
            }

            .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpace_error .mx_AddExistingToSpace_errorCaption {
                margin-top: 4px;
                font-size: 0.75rem;
                line-height: 0.9375rem;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AccessibleButton {
            display: inline-block;
            -ms-flex-item-align: center;
                align-self: center;
        }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AccessibleButton_kind_primary {
            padding: 8px 36px;
        }

        .mx_AddExistingToSpace .mx_AddExistingToSpace_footer .mx_AddExistingToSpaceDialog_retryButton svg {
            color: #ffffff;
            color: var(--cpd-color-text-primary);
            width: 18px;
            height: 18px;
            margin-right: var(--cpd-space-2x);
        }

.mx_AddExistingToSpaceDialog {
    width: 480px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
    height: 80vh;
}

    .mx_AddExistingToSpaceDialog .mx_AddExistingToSpace {
        display: contents;
    }

.mx_SubspaceSelector {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

    .mx_SubspaceSelector .mx_BaseAvatar {
        margin: auto 16px auto 5px;
    }
        .mx_SubspaceSelector > div > h1 {
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.125rem;
            line-height: 1.375rem;
            margin: 0;
        }

    .mx_SubspaceSelector .mx_Dropdown_input {
        border: none;
    }

        .mx_SubspaceSelector .mx_Dropdown_input > .mx_Dropdown_option {
            padding-left: 0;
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            height: auto;
            height: initial;
            color: var(--cpd-color-text-secondary);
            font-size: 0.9375rem;
            line-height: 1.5rem;
        }

            .mx_SubspaceSelector .mx_Dropdown_input > .mx_Dropdown_option .mx_BaseAvatar {
                display: none;
            }

        .mx_SubspaceSelector .mx_Dropdown_input .mx_SubspaceSelector_dropdownOptionActive {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
            padding-right: 24px;
            position: relative;
        }

            .mx_SubspaceSelector .mx_Dropdown_input .mx_SubspaceSelector_dropdownOptionActive svg {
                width: 20px;
                height: 20px;
                right: 0;
                position: absolute;
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }

    .mx_SubspaceSelector .mx_SubspaceSelector_onlySpace {
        color: var(--cpd-color-text-secondary);
        font-size: 0.9375rem;
        line-height: 1.5rem;
    }

.mx_AddExistingToSpace_entry {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 12px;

    /* we can't target .mx_BaseAvatar here as it'll break the decorated avatar styling */
}

    .mx_AddExistingToSpace_entry form {
        /* Align checkboxes. */
        margin-top: auto;
        margin-bottom: auto;
    }
    .mx_AddExistingToSpace_entry .mx_DecoratedRoomAvatar {
        margin-right: 12px;
    }

    .mx_AddExistingToSpace_entry .mx_AddExistingToSpace_entry_name {
        font-size: 0.9375rem;
        line-height: 30px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        margin-right: 12px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AnalyticsLearnMoreDialog {
    max-width: 500px;
}
    .mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_image_holder {
        background-image: url(../../img/element-shiny.2a0c06b.svg);
        background-repeat: no-repeat;
        background-position: center top;
        height: 112px;
        padding: 20px 0px;
    }

    .mx_AnalyticsLearnMoreDialog .mx_Dialog_content {
        margin-bottom: 0px;
    }

    .mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_copy {
        border-bottom: 1px solid #e7e7e7;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .mx_AnalyticsLearnMoreDialog a {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
        text-decoration: none;
    }

    .mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_bullets {
        padding-left: 0px;
    }

    .mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_bullets li {
        list-style-type: none;
        padding: 2px 0 0 32px;
        margin-bottom: 20px;
        vertical-align: middle;
        position: relative;
    }

        .mx_AnalyticsLearnMoreDialog .mx_AnalyticsLearnMore_bullets li svg {
            position: absolute;
            width: 26px;
            height: 26px;
            left: 0;
            top: 0;
            color: #0dbd8b;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
        .mx_BugReportDialog .mx_BugReportDialog_download .mx_AccessibleButton_kind_link {
            margin-right: 18px; /* Space between "Downloading logs..." */
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 Aviral Dasgupta

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ChangelogDialog_content {
    max-height: 300px;
    overflow: auto;
}

.mx_ChangelogDialog_li {
    padding: 0.2em;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* -------------------------------------------------------------------------------- */
/* DEV NOTE: This stylesheet covers dialogs listed by the compound, including */
/* over multiple React components. The actual inner contents of the dialog should */
/* be in their respective stylesheets. */
/* -------------------------------------------------------------------------------- */

/* Override legacy/default styles for dialogs */
.mx_Dialog_wrapper.mx_CompoundDialog .mx_Dialog {
    padding: 0; /* we'll manage it ourselves */
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}
    .mx_CompoundDialog .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mx_CompoundDialog .mx_CompoundDialog_header {
        padding: 32px 32px 16px 32px;
    }

        .mx_CompoundDialog .mx_CompoundDialog_header h1 {
            display: inline-block;
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.5rem;
            margin: 0; /* managed by header class */
        }

    .mx_CompoundDialog .mx_CompoundDialog_cancelButton {
        width: 20px;
        height: 20px;
        padding: var(--cpd-space-1x);
        border-radius: 14px;
        background-color: var(--cpd-color-bg-subtle-secondary);
        /* Align with corner radius of dialog */
    }
        .mx_CompoundDialog .mx_CompoundDialog_cancelButton:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
        .mx_CompoundDialog .mx_CompoundDialog_cancelButton svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
        .mx_CompoundDialog .mx_CompoundDialog_cancelButton{
        position: absolute;
        top: var(--cpd-space-4x);
        right: var(--cpd-space-4x);
}

    .mx_CompoundDialog .mx_CompoundDialog_form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        min-height: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

    .mx_CompoundDialog .mx_CompoundDialog_content {
        overflow: auto;
        padding: 8px 32px;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

    .mx_CompoundDialog .mx_CompoundDialog_footer {
        padding: 20px 32px;
        text-align: right;
    }

        .mx_CompoundDialog .mx_CompoundDialog_footer .mx_AccessibleButton {
            margin-left: 24px;
        }

.mx_ScrollableBaseDialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    width: 544px; /* fixed */
    height: 516px; /* fixed */
    max-width: 100%;
    min-height: 0;
    max-height: 80%;
}

    .mx_ScrollableBaseDialog .mx_CompoundDialog_footer {
        -webkit-box-shadow: 0px -4px 4px rgb(0, 0, 0, 0.05);
                box-shadow: 0px -4px 4px rgb(0, 0, 0, 0.05); /* hardcoded colour for both themes */
        z-index: 1; /* needed to make footer & shadow appear above dialog content */
    }
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ConfirmKeyStorageOffDialog .mx_Dialog_border {
        width: 600px;
    }

    .mx_ConfirmKeyStorageOffDialog .mx_EncryptionCard {
        text-align: center;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ConfirmSpaceUserActionDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 24px 32px;
    }

.mx_ConfirmSpaceUserActionDialog {
    width: 440px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    height: 520px;
}

    .mx_ConfirmSpaceUserActionDialog .mx_Dialog_content {
        margin: 12px 0;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        overflow-y: auto;
    }

    .mx_ConfirmSpaceUserActionDialog .mx_ConfirmUserActionDialog_reasonField {
        margin-bottom: 12px;
    }

    .mx_ConfirmSpaceUserActionDialog .mx_ConfirmSpaceUserActionDialog_warning {
        border-radius: 8px;
        padding: 12px 8px;
        background-color: var(--cpd-color-bg-subtle-primary);

        font-size: 0.75rem;
        line-height: 0.9375rem;
        color: var(--cpd-color-text-secondary);
    }

        .mx_ConfirmSpaceUserActionDialog .mx_ConfirmSpaceUserActionDialog_warning svg {
            height: 16px;
            width: 16px;
            vertical-align: -4px;
            margin-right: var(--cpd-space-1-5x);
            color: var(--cpd-color-text-secondary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ConfirmUserActionDialog .mx_Dialog_content .mx_ConfirmUserActionDialog_user {
    min-height: 48px;
    margin-bottom: 24px;
}

.mx_ConfirmUserActionDialog_avatar {
    float: left;
    margin-right: 20px;
}

.mx_ConfirmUserActionDialog_name {
    padding-top: 2px;
    font-size: 1.125rem;
}

.mx_ConfirmUserActionDialog_userId {
    font-size: 0.8125rem;
}

.mx_ConfirmUserActionDialog_reasonField {
    font: var(--cpd-font-body-md-regular);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-canvas-default);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CreateRoomDialog_details {
    margin-top: 15px;
}

    .mx_CreateRoomDialog_details .mx_CreateRoomDialog_details_summary {
        list-style: none;
        font-weight: var(--cpd-font-weight-semibold);
        cursor: pointer;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        text-decoration: underline;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;

        /* list-style doesn't do it for webkit */
    }
        .mx_CreateRoomDialog_details .mx_CreateRoomDialog_details_summary::-webkit-details-marker {
            display: none;
        }

        .mx_CreateRoomDialog_details .mx_CreateRoomDialog_details_summary:not(:focus-visible) {
            outline: none;
        }

    .mx_CreateRoomDialog_details > div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        margin: 5px 0;
    }

        .mx_CreateRoomDialog_details > div input[type="checkbox"] {
            margin-right: 10px;
        }

.mx_CreateRoomDialog_label {
    text-align: left;
    padding-bottom: 12px;
}

.mx_CreateRoomDialog_input_container {
    padding-right: 20px;
}

.mx_CreateRoomDialog_input {
    font-size: 0.9375rem;
    border-radius: 3px;
    border: 1px solid var(--cpd-color-text-secondary);
    padding: 9px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-canvas-default);
    width: 100%;
}

.mx_CreateRoomDialog_aliasContainer {
    /* needed to make the alias field only grow as wide as needed as opposed to full width */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
    .mx_CreateRoomDialog.mx_Dialog_fixedWidth {
        width: 450px;
    }

    .mx_CreateRoomDialog .mx_Dialog_content {
        margin-bottom: 40px;
    }

    .mx_CreateRoomDialog p,
    .mx_CreateRoomDialog .mx_Field_input label {
        color: #61708b;
    }

    .mx_CreateRoomDialog .mx_SettingsFlag {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .mx_CreateRoomDialog .mx_SettingsFlag_label {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
        min-width: 0;
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_CreateRoomDialog .mx_ToggleSwitch {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin-left: 30px;
    }

    .mx_CreateRoomDialog .mx_Dialog_content > .mx_SettingsFlag {
        margin-top: 24px;
    }

    .mx_CreateRoomDialog .mx_Field {
        margin: 0;
    }

    .mx_CreateRoomDialog form {
        gap: var(--cpd-space-4x);
    }

    .mx_CreateRoomDialog p {
        margin: 0 85px 0 0;
        font-size: 0.75rem;
    }

.mx_CreateRoomDialog_labelledCheckbox {
    color: #61708b;
    margin-top: var(--cpd-space-6x);
}
}
@layer app-web{

/*
 * Copyright 2026 Element Creations Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_CreateSectionDialog {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

    .mx_CreateSectionDialog.mx_Dialog_fixedWidth {
        /* 576px coming from Figma and remove external padding */
        max-width: calc(576px - var(--cpd-space-20x));
    }

    .mx_CreateSectionDialog .mx_CreateSectionDialog_content {
        min-height: 346px;
    }

    .mx_CreateSectionDialog .mx_CreateSectionDialog_form {
        width: 100%;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_CreateSubspaceDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_CreateSubspaceDialog {
    width: 480px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
}

    .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

        .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content .mx_CreateSubspaceDialog_betaNotice {
            padding: 12px 16px;
            border-radius: 8px;
            background-color: var(--cpd-color-bg-subtle-primary);
        }

            .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content .mx_CreateSubspaceDialog_betaNotice .mx_BetaCard_betaPill {
                margin-right: 8px;
                vertical-align: middle;
            }

        .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_content .mx_JoinRuleDropdown + p {
            color: #61708b;
            font-size: 0.75rem;
        }

    .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 20px;
    }

        .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_CreateSubspaceDialog_footer_prompt {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

            .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_CreateSubspaceDialog_footer_prompt > * {
                vertical-align: middle;
            }

        .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_AccessibleButton {
            display: inline-block;
            -ms-flex-item-align: center;
                align-self: center;
        }

        .mx_CreateSubspaceDialog .mx_CreateSubspaceDialog_footer .mx_AccessibleButton_kind_primary {
            margin-left: 16px;
            padding: 8px 36px;
        }
}
@layer app-web{

/*
 * Copyright 2025 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */
    .mx_Crypto table {
        margin: var(--cpd-space-4x) 0;
        text-align: left;
        border-spacing: var(--cpd-space-2x) 0;
    }

        .mx_Crypto table thead {
            font: var(--cpd-font-heading-sm-semibold);
        }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DeactivateAccountDialog .mx_Dialog_content {
    margin-bottom: 30px;
}

.mx_DeactivateAccountDialog .mx_DeactivateAccountDialog_input_section .mx_Field {
    width: 300px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_DevtoolsDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mx_DevtoolsDialog_wrapper .mx_Dialog_fixedWidth {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        min-height: 0;
        max-height: 100%;
    }

        .mx_DevtoolsDialog_wrapper .mx_Dialog_fixedWidth .mx_Dialog_buttons button {
            margin-bottom: 0;
        }

    .mx_DevtoolsDialog_wrapper .mx_DevTools_toggleForm {
        gap: var(--cpd-space-2x);
    }

.mx_DevTools_toolHeading {
    color: var(--cpd-color-text-secondary);
    font: var(--cpd-font-heading-sm-semibold);
}

.mx_DevTools_content {
    overflow-y: auto;
}

.mx_DevTools_RoomStateExplorer_query {
    margin-bottom: 10px;
}

.mx_DevTools_button {
    font-family: monospace !important;
    margin-bottom: 8px !important;
}

.mx_DevTools_RoomStateExplorer_button_hasSpaces {
    text-decoration: underline;
}

.mx_DevTools_button.mx_DevTools_RoomStateExplorer_button_emptyString {
    font-style: italic;
}

.mx_DevTools_label_left {
    float: left;
}

.mx_DevTools_label_right {
    float: right;
}

.mx_DevTools_label_bottom {
    clear: both;
    border-bottom: 1px solid #e5e5e5;
}

.mx_DevTools_inputRow {
    display: table-row;
}

.mx_DevTools_inputLabelCell {
    display: table-cell;
    font-weight: bold;
    padding-right: 24px;
}

.mx_DevTools_textarea {
    font-size: 0.75rem;
    max-width: 684px;
    min-height: 250px;
    padding: 10px;
}

.mx_DevTools_eventTypeStateKeyGroup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.mx_DevTools_content .mx_Field_input:first-of-type {
    margin-right: 42px;
}

.mx_DevTools_VerificationRequest {
    border: 1px solid #cccccc;
    border-radius: 3px;
    padding: 1px 5px;
    margin-bottom: 6px;
    font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji";
    font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji";
}

    .mx_DevTools_VerificationRequest dl {
        display: grid;
        grid-template-columns: -webkit-max-content auto;
        grid-template-columns: max-content auto;
        margin: 0;
    }

    .mx_DevTools_VerificationRequest dd {
        grid-column-start: 2;
    }

    .mx_DevTools_VerificationRequest dd:empty {
        color: #666666;
    }
        .mx_DevTools_VerificationRequest dd:empty::after {
            content: "(empty)";
        }

    .mx_DevTools_VerificationRequest dt {
        font-weight: bold;
        grid-column-start: 1;
    }

    .mx_DevTools_VerificationRequest dt::after {
        content: ":";
    }
    .mx_DevTools_SettingsExplorer table {
        width: 100%;
        table-layout: fixed;
        border-collapse: collapse;
    }

        .mx_DevTools_SettingsExplorer table th {
            /* Colour choice: first one autocomplete gave me. */
            border-bottom: 1px solid #2e80de;
            border-bottom: 1px solid var(--cpd-color-text-action-accent);
            text-align: left;
        }

        .mx_DevTools_SettingsExplorer table td,
        .mx_DevTools_SettingsExplorer table th {
            width: 360px; /* "feels right" number */

            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
        }

        .mx_DevTools_SettingsExplorer table td + td,
        .mx_DevTools_SettingsExplorer table th + th {
            width: auto;
        }

        .mx_DevTools_SettingsExplorer table tr:hover {
            /* Colour choice: first one autocomplete gave me. */
            background-color: #2e80de;
            background-color: var(--cpd-color-text-action-accent);
        }

    .mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_mutable {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
    }

    .mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_immutable {
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }

    .mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_edit {
        float: right;
        margin-right: 16px;
    }

    .mx_DevTools_SettingsExplorer .mx_DevTools_SettingsExplorer_warning {
        border: 2px solid #e0454b;
        border: 2px solid var(--cpd-color-text-critical-primary);
        border-radius: 4px;
        padding: 4px;
        margin-bottom: 8px;
    }

.mx_DevTools_SettingsExplorer_setting {
    /* override default link button color */
    /* as it is the same as the background highlight */
    /* used on focus */
    color: var(--cpd-color-text-link-external) !important;
}
    .mx_DevTools_sticky_explorer table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
        margin-top: var(--cpd-space-3x);
    }

        .mx_DevTools_sticky_explorer table th {
            text-align: left;
            padding: var(--cpd-space-2x) var(--cpd-space-3x);
        }

        .mx_DevTools_sticky_explorer table th#user_header {
            width: 35%;
        }
        .mx_DevTools_sticky_explorer table th#sticky_key_header {
            width: 50%;
        }
        .mx_DevTools_sticky_explorer table th#expires_in_header {
            width: 15%;
        }

        .mx_DevTools_sticky_explorer table tr {
            cursor: pointer;
            border-bottom: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-primary);
            background: transparent;
        }

        .mx_DevTools_sticky_explorer table tr:hover {
            color: var(--cpd-color-text-secondary);
            background: var(--cpd-color-bg-action-secondary-hovered);
        }

        .mx_DevTools_sticky_explorer table tr:focus-visible {
            outline: var(--cpd-border-width-2) solid var(--cpd-color-border-focused);
        }

        .mx_DevTools_sticky_explorer table td {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            padding: var(--cpd-space-2x) var(--cpd-space-3x);
        }

        .mx_DevTools_sticky_explorer table td.remaining_time_column {
            text-align: right;
        }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ExportDialog .mx_ExportDialog_subheading {
        font-size: 1rem;
        display: block;
        font-family: "Inter", "", "Apple Color Emoji", "Segoe UI Emoji", "Arial", "Helvetica", sans-serif,
    "Noto Color Emoji";
        font-family: "Inter", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Arial", "Helvetica", sans-serif,
    "Noto Color Emoji";
        font-weight: var(--cpd-font-weight-semibold);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin-top: 18px;
        margin-bottom: 12px;
    }
        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_ExportDialog_options {
            pointer-events: none;
        }

        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_select::before {
            display: none;
        }

        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_StyledRadioButton input[type="radio"]:checked + div > div {
            background: var(--cpd-color-gray-900);
        }

        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_StyledRadioButton input[type="radio"]:checked + div {
            border-color: currentcolor;
            border-color: initial;
        }

        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field label,
        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field:focus-within label {
            color: inherit;
        }

        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field,
        .mx_ExportDialog.mx_ExportDialog_Exporting .mx_Field_valid.mx_Field:focus-within {
            border-color: var(--cpd-color-text-secondary);
        }
        .mx_ExportDialog .mx_ExportDialog_progress .mx_Dialog_buttons {
            margin-top: 0;
            margin-top: initial;
            margin-left: 18px;
        }

        .mx_ExportDialog .mx_ExportDialog_progress .mx_Spinner {
            width: auto;
            width: initial;
            height: auto;
            height: initial;
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            margin-right: 10px;
        }

        .mx_ExportDialog .mx_ExportDialog_progress{

        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-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
}

    .mx_ExportDialog .mx_StyledRadioButton > .mx_StyledRadioButton_content {
        margin-top: 5px;
        margin-bottom: 5px;
    }

    .mx_ExportDialog .mx_Field {
        width: 256px;
    }

    .mx_ExportDialog .mx_Field_postfix {
        padding: 9px 10px;
    }

.mx_ExportDialog_attachments-checkbox {
    margin-top: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_FeedbackDialog hr {
        margin: 24px 0;
        border-color: var(--cpd-color-text-secondary);
    }

    .mx_FeedbackDialog .mx_Dialog_content {
        margin-bottom: 24px;
    }

        .mx_FeedbackDialog .mx_Dialog_content > h2 {
            margin-bottom: 32px;
        }

    .mx_FeedbackDialog .mx_FeedbackDialog_section {
        position: relative;
        padding: 12px 52px 12px 68px;
        border-radius: 8px;
        border: 1px solid var(--cpd-color-gray-400);
    }

        .mx_FeedbackDialog .mx_FeedbackDialog_section + .mx_FeedbackDialog_section {
            margin-top: 16px;
        }

        .mx_FeedbackDialog .mx_FeedbackDialog_section > h3 {
            margin-top: 0;
            margin-bottom: 8px;
            font-weight: var(--cpd-font-weight-semibold);
            font-size: 1.125rem;
            line-height: 1.375rem;
        }

        .mx_FeedbackDialog .mx_FeedbackDialog_section > p {
            color: var(--cpd-color-text-secondary);
            font-size: 0.9375rem;
            line-height: 1.5rem;
            margin: 8px 0 0;
        }

        .mx_FeedbackDialog .mx_FeedbackDialog_section .mx_FeedbackDialog_section_microcopy {
            font-size: 0.75rem;
            line-height: 0.9375rem;
        }

        .mx_FeedbackDialog .mx_FeedbackDialog_section a,
        .mx_FeedbackDialog .mx_FeedbackDialog_section .mx_AccessibleButton_kind_link {
            text-decoration: underline;
        }

        .mx_FeedbackDialog .mx_FeedbackDialog_section > svg {
            position: absolute;
            left: 16px;
            top: 12px;
            padding: var(--cpd-space-2x);
            width: 24px;
            height: 24px;
            background-color: var(--cpd-color-icon-tertiary);
            color: var(--cpd-color-bg-canvas-default);
            border-radius: 8px;
        }
        .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
            font-size: 20px;
            -webkit-transition:
                font-size 1s,
                border 0.5s;
            transition:
                font-size 1s,
                border 0.5s;
            border-radius: 50%;
            border: 2px solid transparent;
            margin-top: 12px;
            margin-bottom: 24px;
            vertical-align: top;
            cursor: pointer;
        }

            .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton input[type="radio"] + div {
                display: none;
            }

            .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton .mx_StyledRadioButton_content {
                background: var(--cpd-color-icon-tertiary);
                width: 40px;
                height: 40px;
                text-align: center;
                line-height: 40px;
                border-radius: 20px;
                margin: 5px;
            }

            .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton .mx_StyledRadioButton_spacer {
                display: none;
            }

            .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton + .mx_StyledRadioButton {
                margin-left: 16px;
            }

        .mx_FeedbackDialog .mx_FeedbackDialog_rateApp .mx_StyledRadioButton_checked {
            font-size: 24px;
            border-color: #2e80de;
            border-color: var(--cpd-color-bg-action-primary-rest);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Robin Townsend <robin@robin.town>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ForwardDialog {
    width: 520px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
    height: 80vh;
}

    .mx_ForwardDialog > h3 {
        margin: 0 0 6px;
        color: var(--cpd-color-text-secondary);
        font-size: 0.75rem;
        font-weight: var(--cpd-font-weight-semibold);
        line-height: 0.9375rem;
    }

    .mx_ForwardDialog > .mx_ForwardDialog_preview {
        max-height: 30%;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        overflow-y: auto;

        /* When forwarding messages from encrypted rooms, EventTile will complain */
        /* that our preview is unencrypted, which doesn't actually matter */
        /* We also hide download links to not encourage users to try interacting */
    }

        .mx_ForwardDialog > .mx_ForwardDialog_preview .mx_EventTile[data-layout="bubble"] {
            margin-top: 20px;
        }

        .mx_ForwardDialog > .mx_ForwardDialog_preview div {
            pointer-events: none;
        }
        .mx_ForwardDialog > .mx_ForwardDialog_preview .mx_EventTile_msgOption,
        .mx_ForwardDialog > .mx_ForwardDialog_preview .mx_EventTile_e2eIcon,
        .mx_ForwardDialog > .mx_ForwardDialog_preview .mx_MFileBody [data-type="download"] {
            display: none;
        }

    .mx_ForwardDialog > hr {
        width: 100%;
        border: none;
        border-top: 1px solid var(--cpd-color-text-secondary);
        margin: 12px 0;
    }

    .mx_ForwardDialog > .mx_ForwardList {
        display: contents;
    }

        .mx_ForwardDialog > .mx_ForwardList .mx_SearchBox {
            /* To match the space around the title */
            margin: 0 0 15px 0;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
        }

            .mx_ForwardDialog > .mx_ForwardList .mx_SearchBox:not(:focus-within) + .mx_ForwardList_content {
                /* Inhibit the styling if focus is not within the input which handles keyboard accessibility */
                --mx_ForwardList_entry_selectedBgColor: transparent;
            }

        .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_content {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }

        .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_noResults {
            display: block;
            margin-top: 24px;
        }
            .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results:not(:first-child) {
                margin-top: 24px;
            }

            .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_resultsList {
                padding-right: 8px;
            }

            .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: justify;
                    -ms-flex-pack: justify;
                        justify-content: space-between;
                height: 32px;
                padding: 6px;
                border-radius: 8px;
            }

                .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry:hover,
                .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry.mx_ForwardList_entry_active {
                    background-color: rgba(232, 232, 232, 0.77);
                    background-color: var(--mx_ForwardList_entry_selectedBgColor, rgba(232, 232, 232, 0.77));
                }

                .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    margin-right: 12px;
                    min-width: 0;
                }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_DecoratedRoomAvatar {
                        margin-right: 12px;
                    }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_name,
                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_detail {
                        line-height: 30px;
                        overflow: hidden;
                        white-space: nowrap;
                        text-overflow: ellipsis;
                    }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_name {
                        font-size: 0.9375rem;
                    }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_roomButton .mx_ForwardList_entry_detail {
                        font-size: 0.75rem;
                        margin-left: 8px;
                        color: var(--cpd-color-gray-800);
                    }

                .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton {
                    position: relative;
                    margin-left: 12px;
                }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton:not(.mx_ForwardList_canSend) .mx_ForwardList_sendLabel {
                        /* Hide the "Send" label while preserving button size */
                        visibility: hidden;
                    }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton > svg {
                        position: absolute;
                        width: 14px;
                        height: 14px;
                        color: #2e80de;
                        color: var(--cpd-color-text-action-accent);
                    }

                    .mx_ForwardDialog > .mx_ForwardList .mx_ForwardList_results .mx_ForwardList_entry .mx_ForwardList_sendButton .mx_NotificationBadge {
                        /* Match the failed to send indicator's color with the disabled button */
                        background-color: var(--cpd-color-bg-canvas-default);
                    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_GenericFeatureFeedbackDialog .mx_GenericFeatureFeedbackDialog_subheading {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font: var(--cpd-font-body-md-regular);
        line-height: 1.25rem;
        margin-bottom: 24px;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_IncomingSasDialog_opponentProfile_image {
    position: relative;
}

.mx_IncomingSasDialog_opponentProfile h2 {
    display: inline-block;
    margin-left: 10px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InviteDialog_flexWrapper .mx_Dialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_InviteDialog_transferWrapper .mx_Dialog {
    padding-bottom: 16px;
}

.mx_InviteDialog_addressBar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    /* Right margin for the design. We could apply this to the whole dialog, but then the scrollbar */
    /* for the user section gets weird. */
    margin: 8px 45px 0 0;
}

    .mx_InviteDialog_addressBar .mx_InviteDialog_editor {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin-left: var(--cpd-space-0-5x);
    }

    .mx_InviteDialog_addressBar .mx_InviteDialog_goButton {
        min-width: 86px;
        -webkit-margin-start: 10px;
                margin-inline-start: 10px;
        height: 41px;
        line-height: 1.5625rem;
    }

.mx_InviteDialog_section {
    padding-bottom: 4px;
}

    .mx_InviteDialog_section .mx_InviteDialog_section_showMore {
        margin: 7px 18px;
        display: block;
    }

.mx_InviteDialog_section_hidden_suggestions_disclaimer {
    padding: 8px 0 16px 0;
    font: var(--cpd-font-body-md-regular);
}

    .mx_InviteDialog_section_hidden_suggestions_disclaimer > span {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_InviteDialog_section_hidden_suggestions_disclaimer > p {
        margin: 0;
    }

.mx_InviteDialog_footer {
    border-top: 1px solid var(--cpd-color-text-secondary);
}

    .mx_InviteDialog_footer > h3 {
        margin: 12px 0;
        font-size: 0.75rem;
        color: #61708b;
        font-weight: bold;
        text-transform: uppercase;
    }

    .mx_InviteDialog_footer .mx_CopyableText.mx_CopyableText_border {
        width: auto;
        width: initial; /* full width */
        margin-bottom: 0;
    }

        .mx_InviteDialog_footer .mx_CopyableText.mx_CopyableText_border > a {
            text-decoration: none;
            -ms-flex-negative: 1;
                flex-shrink: 1;
            overflow: hidden;
            text-overflow: ellipsis;
        }

.mx_InviteDialog_other {
    /* Prevent the dialog from jumping around randomly when elements change. */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 600px;
    overflow: hidden;
}

    .mx_InviteDialog_other h2 {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: pre-wrap;
        overflow: hidden;
    }

    .mx_InviteDialog_other .mx_InviteDialog_addressBar {
        -webkit-margin-end: 0;
                margin-inline-end: 0;
    }

    .mx_InviteDialog_other .mx_InviteDialog_userSections {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-padding-end: 0;
                padding-inline-end: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: var(--cpd-space-3x);
        gap: var(--cpd-space-3x);
    }

        .mx_InviteDialog_other .mx_InviteDialog_userSections .mx_InviteDialog_section {
            padding-bottom: 0;
        }

.mx_InviteDialog_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    overflow: hidden;
}

    .mx_InviteDialog_content .mx_InviteProgressBody {
        margin-top: var(--cpd-space-12x);
    }

.mx_InviteDialog_transfer {
    width: auto;
}

    .mx_InviteDialog_transfer .mx_InviteDialog_content {
        width: 496px;
        height: 430px;
        overflow: visible;
    }

        .mx_InviteDialog_transfer .mx_InviteDialog_content .mx_TabbedView {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -ms-flex-negative: 1;
                flex-shrink: 1;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            min-height: 0;
        }

            .mx_InviteDialog_transfer .mx_InviteDialog_content .mx_TabbedView .mx_TabbedView_tabPanel {
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
            }

                .mx_InviteDialog_transfer .mx_InviteDialog_content .mx_TabbedView .mx_TabbedView_tabPanel .mx_TabbedView_tabPanelContent {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-orient: vertical;
                    -webkit-box-direction: normal;
                        -ms-flex-direction: column;
                            flex-direction: column;
                }

    .mx_InviteDialog_transfer .mx_InviteDialog_addressBar {
        margin-top: 8px;
    }

    .mx_InviteDialog_transfer input[type="checkbox"] {
        -webkit-margin-end: 8px;
                margin-inline-end: 8px;
    }

.mx_InviteDialog_userSections {
    overflow-y: auto;
    padding: 0 45px 4px 0;
}

.mx_InviteDialog_helpText {
    margin: 0;
}

.mx_InviteDialog_dialPad {
    width: 224px;
    margin-top: 16px;
    margin-inline: auto;
}

    .mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField {
        border-top: 0;
        border-inline: 0;
        border-radius: 0;
        margin-top: 0;
        border-color: var(--cpd-color-gray-600);
    }

        .mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField:focus-within {
            border-color: #2e80de;
            border-color: var(--cpd-color-text-action-accent);
        }

        .mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField input {
            font-size: 18px;
            font-weight: var(--cpd-font-weight-semibold);
            padding-top: 0;
        }

        .mx_InviteDialog_dialPad .mx_InviteDialog_dialPadField .mx_Field_postfix {
            /* Remove border separator between postfix and field content */
            border-left: none;
        }

    .mx_InviteDialog_dialPad .mx_DialPad {
        row-gap: 16px;
        -webkit-column-gap: 48px;
           -moz-column-gap: 48px;
                column-gap: 48px;
        margin-inline: auto;
    }

.mx_InviteDialog_transferConsultConnect {
    padding-top: 16px;
    /* This wants a drop shadow the full width of the dialog, so use negative margin to make it full width,
     * then compensate with padding
     */
    padding-inline: 24px;
    margin-inline: calc(-1 * 24px);
    border-top: 1px solid var(--cpd-color-gray-400);

    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;
}

.mx_InviteDialog_transferConsultConnect_pushRight {
    -webkit-margin-start: auto;
            margin-inline-start: auto;
}

.mx_InviteDialog_tile {
    cursor: pointer;
    display: grid;
    grid-gap: 8px 12px;
    gap: 8px 12px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

    .mx_InviteDialog_tile.mx_InviteDialog_tile--inviterError {
        grid-template-columns: -webkit-max-content auto;
        grid-template-columns: max-content auto; /* max-content = avatar width */
        margin-bottom: 24px;
    }

        .mx_InviteDialog_tile.mx_InviteDialog_tile--inviterError:last-child {
            margin-bottom: 0;
        }

        .mx_InviteDialog_tile.mx_InviteDialog_tile--inviterError .mx_InviteDialog_tile--inviterError_errorText {
            grid-row-start: 2;
            grid-column-start: 2;

            font-size: 0.9375rem;
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
        }

    .mx_InviteDialog_tile * {
        vertical-align: middle;
    }

    .mx_InviteDialog_tile .mx_InviteDialog_tile_avatarStack {
        width: 36px;
        height: 36px;
        display: inline-block;
        position: relative;
        grid-row-start: 1;
        grid-column-start: 1;
    }

        .mx_InviteDialog_tile .mx_InviteDialog_tile_avatarStack > * {
            position: absolute;
            top: 0;
            left: 0;
        }

    .mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack {
        grid-row-start: 1;
        grid-column-start: 2;

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
        align-self: center;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline;
        gap: 2px 0;
        overflow: hidden;
    }

        .mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_name,
        .mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_userId {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            max-width: 100%;
        }

        .mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_name {
            font-size: 0.9375rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

        .mx_InviteDialog_tile .mx_InviteDialog_tile_nameStack .mx_InviteDialog_tile_nameStack_userId {
            font-size: 0.75rem;
            color: #61708b;
        }
    .mx_InviteDialog_multiInviterError > h4 {
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--cpd-color-text-secondary);
        font-weight: normal;
    }

.mx_InviteDialog_identityServer {
    margin-top: 1em;
}

.mx_InviteDialog_oneThreepid {
    font-size: 0.75rem;
    margin: 8px 0;
}
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InviteProgressBody {
    text-align: center;
    font: var(--cpd-font-body-lg-regular);
}

    .mx_InviteProgressBody h1 {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font: var(--cpd-font-heading-sm-semibold);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_JoinRuleDropdown {
    margin-bottom: 8px;
    font: var(--cpd-font-body-md-regular);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

    .mx_JoinRuleDropdown .mx_Dropdown_option {
        font: var(--cpd-font-body-md-regular);
        line-height: 2rem;
        height: 32px;
        min-height: 32px;
    }

        .mx_JoinRuleDropdown .mx_Dropdown_option > div {
            padding-left: var(--cpd-space-1-5x);
        }

            .mx_JoinRuleDropdown .mx_Dropdown_option > div svg {
                width: 16px;
                height: 16px;
                color: var(--cpd-color-text-secondary);
                vertical-align: -2px;
                margin-right: var(--cpd-space-1-5x);
            }

            .mx_JoinRuleDropdown .mx_Dropdown_option > div.mx_JoinRuleDropdown_knock::before {
                content: normal;
            }

    .mx_JoinRuleDropdown .mx_JoinRuleDropdown_icon {
        color: var(--cpd-color-text-secondary);
        position: absolute;
        left: 6px;
        top: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_LeaveSpaceDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 24px 32px;
    }

        .mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog {
            width: 440px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap;
            height: 520px;
        }

            .mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content {
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                margin: 0;
                overflow-y: auto;
            }

                .mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content .mx_LeaveSpaceDialog_section_warning {
                    border-radius: 8px;
                    margin: 12px 0 0;
                    padding: 12px 8px;
                    background-color: var(--cpd-color-bg-subtle-primary);

                    font-size: 0.75rem;
                    line-height: 0.9375rem;
                    color: var(--cpd-color-text-secondary);
                }

                    .mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content .mx_LeaveSpaceDialog_section_warning svg {
                        height: 16px;
                        width: 16px;
                        color: var(--cpd-color-text-secondary);
                        vertical-align: middle;
                        margin: 0 var(--cpd-space-1x);
                    }

                .mx_LeaveSpaceDialog_wrapper .mx_Dialog .mx_LeaveSpaceDialog .mx_Dialog_content > p {
                    color: #ffffff;
                    color: var(--cpd-color-text-primary);
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LocationViewDialog_wrapper .mx_Dialog {
    padding: 0px;
}

.mx_LocationViewDialog {
    /* subtract 0.5px to prevent single-pixel margin due to rounding */
    width: calc(80vw - 0.5px);
    height: calc(80vh - 0.5px);
    overflow: hidden;
}

    .mx_LocationViewDialog .mx_Dialog_header {
        margin: 0px;
        padding: 0px;
        position: static;
        position: initial;
    }

        .mx_LocationViewDialog .mx_Dialog_header .mx_Dialog_title {
            display: none;
        }

    .mx_LocationViewDialog .mx_Dialog_cancelButton {
        z-index: 4010;
        position: absolute;
        left: var(--cpd-space-4x);
        top: var(--cpd-space-4x);
    }

.mx_LocationViewDialog_map {
    width: 80vw;
    height: 80vh;
    border-radius: 8px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Manan Sadana <manancodes.dev@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LogoutDialog {
    width: 26rem;
}

    .mx_LogoutDialog .mx_EncryptionCard {
        gap: 0;
    }
        .mx_LogoutDialog .mx_EncryptionCard h2 {
            text-align: center;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }
        .mx_LogoutDialog .mx_EncryptionCard .mx_EncryptionCard_emphasisedContent {
            text-align: center;
            margin-top: var(--cpd-space-2x);
            margin-bottom: var(--cpd-space-12x);
        }
            .mx_LogoutDialog .mx_EncryptionCard .mx_EncryptionCard_emphasisedContent p {
                margin: 0;
            }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ManageRestrictedJoinRuleDialog_wrapper .mx_Dialog {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

.mx_ManageRestrictedJoinRuleDialog {
    width: 480px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    min-height: 0;
    height: 60vh;
}

    .mx_ManageRestrictedJoinRuleDialog .mx_SearchBox {
        /* To match the space around the title */
        margin: 0 0 15px 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
    }

    .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

    .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_noResults {
        display: block;
        margin-top: 24px;
    }
        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section:not(:first-child) {
            margin-top: 24px;
        }

        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section > h3 {
            margin: 0;
            color: var(--cpd-color-text-secondary);
            font-size: 0.75rem;
            font-weight: var(--cpd-font-weight-semibold);
            line-height: 0.9375rem;
        }

        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            margin-top: 12px;
        }

            .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry > div {
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
            }

            .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry .mx_ManageRestrictedJoinRuleDialog_entry_name {
                margin: 0 8px;
                font-size: 0.9375rem;
                line-height: 30px;
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
            }

            .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section .mx_ManageRestrictedJoinRuleDialog_entry .mx_ManageRestrictedJoinRuleDialog_entry_description {
                margin-top: 8px;
                font-size: 0.75rem;
                line-height: 0.9375rem;
                color: var(--cpd-color-gray-800);
            }
        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section_spaces .mx_BaseAvatar {
            margin-right: 12px;
        }

    .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section_info {
        position: relative;
        border-radius: 8px;
        margin: 12px 0;
        padding: 8px;
        background-color: var(--cpd-color-bg-subtle-primary);

        font-size: 0.75rem;
        line-height: 0.9375rem;
        color: var(--cpd-color-text-secondary);
    }

        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_section_info svg {
            height: 16px;
            width: 16px;
            color: var(--cpd-color-text-secondary);
            vertical-align: middle;
            margin: 0 var(--cpd-space-1x);
        }

    .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer {
        margin-top: 20px;
    }

        .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer .mx_ManageRestrictedJoinRuleDialog_footer_buttons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content;
            margin-left: auto;
        }

            .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer .mx_ManageRestrictedJoinRuleDialog_footer_buttons .mx_AccessibleButton {
                display: inline-block;
            }

                .mx_ManageRestrictedJoinRuleDialog .mx_ManageRestrictedJoinRuleDialog_footer .mx_ManageRestrictedJoinRuleDialog_footer_buttons .mx_AccessibleButton + .mx_AccessibleButton {
                    margin-left: 24px;
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageEditHistoryDialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 60vh;
}

.mx_MessageEditHistoryDialog_scrollPanel {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
}

.mx_MessageEditHistoryDialog_error {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    text-align: center;
}

.mx_MessageEditHistoryDialog_edits {
    list-style-type: none;
    font: var(--cpd-font-body-md-regular);
    padding: 0;
    color: #ffffff;
    color: var(--cpd-color-text-primary);

    /* Emulate mx_EventTile[data-layout="group"] */
}

    .mx_MessageEditHistoryDialog_edits .mx_EditHistoryMessage_emoteSender {
        cursor: pointer;
    }

    .mx_MessageEditHistoryDialog_edits span.mx_EditHistoryMessage_deletion,
    .mx_MessageEditHistoryDialog_edits span.mx_EditHistoryMessage_insertion {
        padding: 0px 2px;
    }

    .mx_MessageEditHistoryDialog_edits .mx_EditHistoryMessage_deletion {
        color: rgb(255, 76, 85);
        background-color: rgb(255, 76, 85, 0.1);
        text-decoration: line-through;
    }

    .mx_MessageEditHistoryDialog_edits .mx_EditHistoryMessage_insertion {
        color: rgb(26, 169, 123);
        background-color: rgb(26, 169, 123, 0.1);
        text-decoration: underline;
    }
    .mx_MessageEditHistoryDialog_edits .mx_EventTile {
        padding-top: 0;
    }

        .mx_MessageEditHistoryDialog_edits .mx_EventTile .mx_MessageTimestamp {
            position: absolute;
            left: 0;
            text-align: center;
        }

        .mx_MessageEditHistoryDialog_edits .mx_EventTile .mx_EventTile_line {
            padding-top: var(--EventTile_group_line-spacing-block-start);
            padding-bottom: var(--EventTile_group_line-spacing-block-end);
            padding-left: var(--EventTile_group_line-spacing-inline-start);
            line-height: var(--EventTile_group_line-line-height);
        }

            .mx_MessageEditHistoryDialog_edits .mx_EventTile .mx_EventTile_line .mx_EventTile_content {
                margin-right: 0px;
            }
        .mx_MessageEditHistoryDialog_edits .mx_EventTile::before {
            content: "";
            position: absolute;
            top: -1px;
            bottom: -1px;
            left: -10px;
            right: -10px;
            z-index: -1;
            border-radius: 4px;
        }
            .mx_MessageEditHistoryDialog_edits .mx_EventTile:hover::before {
                background: var(--cpd-color-bg-subtle-secondary);
            }

    .mx_MessageEditHistoryDialog_edits .mx_HistoryActionBar {
        border-radius: 0 !important;
    }

    .mx_MessageEditHistoryDialog_edits .mx_HistoryActionBar [data-presentation="label"] {
        line-height: 24px !important;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ModalWidgetDialog .mx_ModalWidgetDialog_warning {
        margin-bottom: 24px;
    }

        .mx_ModalWidgetDialog .mx_ModalWidgetDialog_warning > img {
            vertical-align: middle;
            margin-right: 8px;
        }

    .mx_ModalWidgetDialog .mx_ModalWidgetDialog_buttons {
        float: right;
        margin-top: 24px;
    }

        .mx_ModalWidgetDialog .mx_ModalWidgetDialog_buttons .mx_AccessibleButton + .mx_AccessibleButton {
            margin-left: 8px;
        }

    .mx_ModalWidgetDialog iframe {
        width: 100%;
        height: 450px;
        border: 0;
        border-radius: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_PollCreateDialog .mx_PollCreateDialog_busy {
        position: absolute;
        inset: 0;
        background-color: var(--cpd-color-alpha-gray-1300);
        z-index: 1;
    }

    .mx_PollCreateDialog h2 {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        margin-top: 0;
        margin-bottom: 8px;
    }

        .mx_PollCreateDialog h2:nth-child(n + 2) {
            margin-top: 20px;
        }

    .mx_PollCreateDialog p {
        color: var(--cpd-color-text-secondary);
    }

    .mx_PollCreateDialog .mx_PollCreateDialog_option {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-top: 11px;
        margin-bottom: 16px; /* 11px from the top will collapse, so this creates a 16px gap between options */
    }

        .mx_PollCreateDialog .mx_PollCreateDialog_option .mx_Field {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            margin: 0;
        }

        .mx_PollCreateDialog .mx_PollCreateDialog_option .mx_PollCreateDialog_removeOption {
            margin-left: 12px;
            width: 16px;
            height: 16px;
            padding: var(--cpd-space-0-5x);
            border-radius: 50%;
            background-color: var(--cpd-color-gray-400);
            cursor: pointer;
        }

            .mx_PollCreateDialog .mx_PollCreateDialog_option .mx_PollCreateDialog_removeOption svg {
                width: inherit;
                height: inherit;
                color: var(--cpd-color-text-secondary);
            }

    .mx_PollCreateDialog .mx_PollCreateDialog_addOption {
        padding: 0;
        margin-bottom: 40px; /* arbitrary to create scrollable area under the poll */
    }

    .mx_PollCreateDialog .mx_AccessibleButton_disabled {
        opacity: 0.4;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RegistrationEmailPromptDialog {
    width: 417px;
}

    .mx_RegistrationEmailPromptDialog .mx_Dialog_content {
        margin-bottom: 24px;
        color: var(--cpd-color-gray-800);
    }

    .mx_RegistrationEmailPromptDialog .mx_Dialog_primary {
        width: 100%;
    }
}
@layer app-web{

/*
 * Copyright 2026 Element Creations Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_RemoveSectionDialog {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReportRoomDialog,
.mx_DeclineAndBlockInviteDialog {

    /*
      Workaround to fix labels appearing with the wrong color.

      .mx_Dialog (in res/css/_common.pcss) redefines the body color
      as $light-fg-color rather than the standard primary color.

      This forces the colour to match the Compound style, but
      in the future the Dialogs should not force a color.
    */
}
    .mx_ReportRoomDialog textarea, .mx_DeclineAndBlockInviteDialog textarea {
        font: var(--cpd-font-body-md-regular);
        border: 1px solid var(--cpd-color-border-interactive-primary);
        background: var(--cpd-color-bg-canvas-default);
        border-radius: 0.5rem;
        padding: var(--cpd-space-3x) var(--cpd-space-4x);
    }
    .mx_ReportRoomDialog form label, .mx_DeclineAndBlockInviteDialog form label {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }
    .mx_DeclineAndBlockInviteDialog div[aria-disabled="true"] > label {
        color: var(--cpd-color-text-secondary);
    }

    .mx_DeclineAndBlockInviteDialog .mx_SettingsFlag_label {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font-weight: var(--cpd-font-weight-semibold);
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSettingsDialog .mx_Dialog_title {
    -ms-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    margin: 0 auto;
    padding-right: 80px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSettingsDialog_BridgeList {
    padding: 0;
}

    .mx_RoomSettingsDialog_BridgeList li {
        list-style-type: none;
    }

        .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            gap: 8px;
            padding: 5px;
            margin-bottom: 8px;

            /* border-style around each bridge list item */
            border-width: 1px 1px;
            border-color: transparent;
            border-style: solid;
            border-radius: 5px;
        }
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon span,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_noProtocolIcon {
                    -webkit-box-sizing: border-box;
                            box-sizing: border-box;
                    border-radius: 5px;
                    border: 1px solid var(--cpd-color-gray-400);
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_noProtocolIcon,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon img {
                    border-radius: 5px;
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_noProtocolIcon {
                    width: 48px;
                    height: 48px;
                    background: var(--cpd-color-gray-400);
                }
                    .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon img {
                        border-width: 1px 1px;
                        border-color: transparent;
                    }

                    .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_icon .mx_RoomSettingsDialog_protocolIcon span {
                        /* Correct letter placement */
                        left: auto;
                    }

            .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data {
                display: inline-block;
                width: 85%;
            }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_details,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata li,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_protocolName {
                    margin-bottom: 0;
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_details,
                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata {
                    margin-top: 4px;
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_metadata li {
                    margin-top: 8px;
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_column_data_protocolName {
                    margin-top: 0;
                    font-size: 16pt;
                    color: #ffffff;
                    color: var(--cpd-color-text-primary);
                }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_workspace_channel_details {
                    color: #ffffff;
                    color: var(--cpd-color-text-primary);
                    font-weight: var(--cpd-font-weight-semibold);
                }

                    .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_workspace_channel_details .mx_RoomSettingsDialog_channel {
                        -webkit-margin-start: 5px;
                                margin-inline-start: 5px;
                    }

                .mx_RoomSettingsDialog_BridgeList li.mx_RoomSettingsDialog_BridgeList_listItem .mx_RoomSettingsDialog_column_data .mx_RoomSettingsDialog_metadata {
                    color: #61708b;
                    margin-bottom: 0;
                    overflow-y: visible;
                    text-overflow: ellipsis;
                    white-space: normal;
                    padding: 0;
                }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomUpgradeDialog {
    padding-right: 70px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomUpgradeWarningDialog {
    max-width: 38vw;
    width: 38vw;
}
        .mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar {
            height: 8px;
            width: 100%;

            border-radius: 8px;
        }

            .mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar::-moz-progress-bar {
        border-radius: 8px;
    }

            .mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar::-webkit-progress-bar,
    .mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_ProgressBar::-webkit-progress-value {
        border-radius: 8px;
    }

        .mx_RoomUpgradeWarningDialog .mx_RoomUpgradeWarningDialog_progress .mx_RoomUpgradeWarningDialog_progressText {
            margin-top: 8px;
            font-size: 0.9375rem;
            line-height: 1.5rem;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

.mx_RoomUpgradeWarningDialog .mx_SettingsFlag {
    font-weight: 700;
}

    .mx_RoomUpgradeWarningDialog .mx_SettingsFlag .mx_ToggleSwitch {
        display: inline-block;
        vertical-align: middle;
        margin-left: 8px;
        float: right;
    }

    .mx_RoomUpgradeWarningDialog .mx_SettingsFlag .mx_SettingsFlag_label {
        display: inline-block;
        vertical-align: middle;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content {
        padding-right: 85px;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

        .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content hr {
            border-color: #ffffff;
            border-color: var(--cpd-color-text-primary);
            opacity: 0.1;
            border-bottom: none;
        }

        .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content ul {
            padding: 16px;
        }

            .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content ul li:nth-child(n + 2) {
                margin-top: 16px;
            }
            .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timestamp {
                display: inline-block;
                width: 115px;
                color: #61708b;
                line-height: 24px; /* same as avatar */
                vertical-align: top;
            }

            .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline {
                display: inline-block;
                width: calc(100% - 155px); /* 115px timestamp width + 40px right margin */
            }
                    .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_timeline_header span {
                        margin-left: 8px;
                        vertical-align: middle;
                    }

                .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_txn {
                    position: relative;
                    margin-top: 8px;
                }

                    .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_txn .mx_ServerOfflineDialog_content_context_txn_desc {
                        width: calc(100% - 100px); /* 100px is an arbitrary margin for the button */
                    }

                    .mx_ServerOfflineDialog .mx_ServerOfflineDialog_content .mx_ServerOfflineDialog_content_context .mx_ServerOfflineDialog_content_context_timeline .mx_ServerOfflineDialog_content_context_txn .mx_AccessibleButton {
                        float: right;
                    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ServerPickerDialog {
    width: 468px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

    .mx_ServerPickerDialog .mx_Dialog_content {
        margin-bottom: 0;
    }

        .mx_ServerPickerDialog .mx_Dialog_content > p {
            color: var(--cpd-color-text-secondary);
            font: var(--cpd-font-body-md-regular);

            margin: 16px 0;
        }

            .mx_ServerPickerDialog .mx_Dialog_content > p:first-of-type {
                margin-bottom: 40px;
            }

            .mx_ServerPickerDialog .mx_Dialog_content > p:last-of-type {
                margin: 0 24px 24px;
            }

        .mx_ServerPickerDialog .mx_Dialog_content > h2 {
            font-size: 0.9375rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: var(--cpd-color-text-secondary);
            margin: 16px 0 16px 8px;
        }

        .mx_ServerPickerDialog .mx_Dialog_content > a {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
            margin-left: 8px;
        }
        .mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserverRadio input[type="radio"] + div {
            margin-top: auto;
            margin-bottom: auto;
        }

    .mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserver {
        border-top: none;
        border-left: none;
        border-right: none;
        border-radius: 0;
        border-radius: initial;
    }

        .mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserver > input {
            padding-left: 0;
        }

        .mx_ServerPickerDialog .mx_ServerPickerDialog_otherHomeserver > label {
            margin-left: 0;
        }

    .mx_ServerPickerDialog .mx_AccessibleButton_kind_primary {
        width: calc(100% - 26px);
        margin: 0 8px;
        padding: 15px 18px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SetEmailDialog_email_input {
    border-radius: 3px;
    border: 1px solid var(--cpd-color-text-secondary);
    padding: 9px;
    color: rgba(74, 74, 74, 0.9);
    background-color: var(--cpd-color-bg-canvas-default);
    font-size: 0.9375rem;
    width: 100%;
    max-width: 280px;
    margin-bottom: 10px;
}

.mx_SetEmailDialog_email_input:focus {
    outline: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    border: 1px solid #2e80de;
    border: 1px solid var(--cpd-color-text-action-accent);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Not actually a component but things shared by settings components */
.mx_UserSettingsDialog,
.mx_RoomSettingsDialog,
.mx_SpaceSettingsDialog,
.mx_SpacePreferencesDialog {
    width: 90vw;
    max-width: 980px;
    /* set the height too since tabbed view scrolls itself. */
    height: 80vh;
}

    .mx_UserSettingsDialog .mx_TabbedView, .mx_RoomSettingsDialog .mx_TabbedView, .mx_SpaceSettingsDialog .mx_TabbedView, .mx_SpacePreferencesDialog .mx_TabbedView {
        top: 90px;
    }

    .mx_UserSettingsDialog .mx_TabbedView .mx_SettingsTab, .mx_RoomSettingsDialog .mx_TabbedView .mx_SettingsTab, .mx_SpaceSettingsDialog .mx_TabbedView .mx_SettingsTab, .mx_SpacePreferencesDialog .mx_TabbedView .mx_SettingsTab {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        min-width: 580px;
        padding-right: 100px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;

        /* Put some padding on the bottom to avoid the settings tab from */
        /* colliding harshly with the dialog when scrolled down. */
        padding-bottom: 100px;
    }

    .mx_UserSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_RoomSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_SpaceSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_SpacePreferencesDialog .mx_SettingsDialog_tabLabelsAlert::after {
        display: inline-block;
        content: "";
        width: 8px;
        height: 8px;
        background-color: var(--cpd-color-icon-critical-primary);
        clip-path: circle(4px);
        position: absolute;
        right: var(--cpd-space-4x);
    }

/* On narrow viewports, the tab labels are hidden, so we need to shift the indicator so it isn't over the tab icon. */
@media (max-width: 1024px) {
        .mx_UserSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_RoomSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_SpaceSettingsDialog .mx_SettingsDialog_tabLabelsAlert::after, .mx_SpacePreferencesDialog .mx_SettingsDialog_tabLabelsAlert::after {
            right: var(--cpd-space-1x);
            top: var(--cpd-space-1x);
        }
}
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ShareDialog {
    /* Value from figma design */
    width: 416px;
}

    .mx_ShareDialog .mx_Dialog_header {
        text-align: center;
        margin-bottom: var(--cpd-space-6x);
        /* Override dialog header padding to able to center it */
        -webkit-padding-end: 0;
                padding-inline-end: 0;
    }

    .mx_ShareDialog .mx_ShareDialog_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-6x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_top {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: var(--cpd-space-4x);
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            width: 100%;
        }

            .mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_top span {
                text-align: center;
                font: var(--cpd-font-body-sm-semibold);
                color: var(--cpd-color-text-secondary);
                text-overflow: ellipsis;
                white-space: nowrap;
                overflow: hidden;
                width: 100%;
            }

        .mx_ShareDialog .mx_ShareDialog_content label {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
            gap: var(--cpd-space-3x);
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            font: var(--cpd-font-body-md-medium);
        }

        .mx_ShareDialog .mx_ShareDialog_content button {
            width: 100%;
        }

        .mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_social {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--cpd-space-3x);
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

            .mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_social a {
                width: 48px;
                height: 48px;
                border-radius: 99px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                border: 1px solid var(--cpd-color-border-interactive-secondary);
                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;
            }

                .mx_ShareDialog .mx_ShareDialog_content .mx_ShareDialog_social a img {
                    width: 24px;
                    height: 24px;
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SlashCommandHelpDialog .mx_SlashCommandHelpDialog_headerRow h2 {
    margin-bottom: 2px;
}

.mx_SlashCommandHelpDialog .mx_Dialog_content {
    margin-top: 12px;
    margin-bottom: 34px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpacePreferencesDialog {
    width: 700px;
    height: 400px;
}

    .mx_SpacePreferencesDialog > h4 {
        margin: -12px 0 0;
        font-weight: normal;
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--cpd-color-text-secondary);
    }

    .mx_SpacePreferencesDialog .mx_TabbedView {
        top: 80px;
    }

        .mx_SpacePreferencesDialog .mx_TabbedView .mx_SettingsTab {
            min-width: 0;
            min-width: initial;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceSettingsDialog {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

    .mx_SpaceSettingsDialog .mx_SpaceSettings_errorText {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.75rem;
        line-height: 0.9375rem;
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
        margin-bottom: 28px;
    }

    .mx_SpaceSettingsDialog .mx_ToggleSwitch {
        display: inline-block;
        vertical-align: middle;
        margin-left: 16px;
    }
        .mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_SettingsTab_section_caption {
            margin-top: 12px;
            margin-bottom: 20px;
        }

        .mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_StyledRadioButton {
            margin-top: 8px;
            margin-bottom: 4px;
        }

            .mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_StyledRadioButton .mx_StyledRadioButton_content {
                font-weight: var(--cpd-font-weight-semibold);
                line-height: 1.125rem;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

            .mx_SpaceSettingsDialog .mx_SettingsTab_section .mx_StyledRadioButton + span {
                font-size: 0.9375rem;
                line-height: 1.125rem;
                color: var(--cpd-color-text-secondary);
                margin-left: 26px;
            }

    .mx_SpaceSettingsDialog .mx_SpaceSettingsDialog_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 64px;
    }

        .mx_SpaceSettingsDialog .mx_SpaceSettingsDialog_buttons .mx_AccessibleButton {
            display: inline-block;
        }

        .mx_SpaceSettingsDialog .mx_SpaceSettingsDialog_buttons .mx_AccessibleButton_kind_link {
            margin-left: auto;
        }
        .mx_SpaceSettingsDialog .mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link {
            font: var(--cpd-font-body-md-semibold);
            margin: 7px 18px;
        }

            .mx_SpaceSettingsDialog .mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link.mx_SettingsTab_showAdvanced {
                margin: 18px 0;
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SpotlightDialog_wrapper .mx_Dialog_border {
        /* Disable the glass border as this dialog wasn't designed with it in mind */
        display: contents;
    }

    .mx_SpotlightDialog_wrapper .mx_Dialog {
        /* !important because it's overriding compound  */
        width: -webkit-fit-content !important;
        width: -moz-fit-content !important;
        width: fit-content !important;
        border-radius: 8px !important;
        height: 60% !important;
        overflow-y: visible;
        overflow-y: initial;
        position: relative;
        padding: 0;
        contain: unset; /* needed for #mx_SpotlightDialog_keyboardPrompt to not be culled */
    }

        .mx_SpotlightDialog_wrapper .mx_Dialog #mx_SpotlightDialog_keyboardPrompt {
            position: absolute;
            padding: 8px;
            border-radius: 8px;
            background-color: var(--cpd-color-bg-canvas-default);
            top: -60px; /* relative to the top of the modal */
            left: 50%;
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

            .mx_SpotlightDialog_wrapper .mx_Dialog #mx_SpotlightDialog_keyboardPrompt kbd {
                display: inline-block;
                padding: 2px 4px;
                margin: 0 4px;
                border-radius: 6px;
                background-color: var(--cpd-color-gray-400);
                vertical-align: middle;
                color: var(--cpd-color-gray-800);
                /* To avoid any styling inherent with <kbd> elements */
                font-family: inherit;
                font-weight: inherit;
                font-size: inherit;
            }

.mx_SpotlightDialog {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

    .mx_SpotlightDialog .mx_Dialog_header {
        display: none;
    }

    .mx_SpotlightDialog .mx_SpotlightDialog_searchBox {
        margin: 0;
        border: none;
        border-radius: 8px 8px 0 0;
        padding: 12px 16px;
        border-bottom: 1px solid var(--cpd-color-bg-subtle-primary);
    }

        .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-line-pack: center;
                align-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            border-radius: 8px;
            margin-right: 8px;
            background-color: var(--cpd-color-gray-400);
            vertical-align: middle;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
            position: relative;
            padding: 4px 8px 4px 37px;
        }

            .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter > svg {
                color: var(--cpd-color-text-secondary);
                width: 18px;
                height: 18px;
                position: absolute;
                left: 8px;
                top: 50%;
                -webkit-transform: translateY(-50%);
                        transform: translateY(-50%);
            }

            .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter .mx_SpotlightDialog_filter--close {
                display: inline-block;
                width: 14px;
                height: 14px;
                padding: 1px;
                background: var(--cpd-color-bg-subtle-primary);
                border-radius: 8px;
                margin-left: 8px;
                text-align: center;
                line-height: 16px;
                color: var(--cpd-color-text-secondary);
            }

                .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_SpotlightDialog_filter .mx_SpotlightDialog_filter--close svg {
                    color: var(--cpd-color-text-secondary);
                    width: inherit;
                    height: inherit;
                }

        .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > input {
            display: block;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            background-color: transparent;
            width: 100%;
            height: 32px;
            padding: 0;
            color: var(--cpd-color-gray-800);
            font-weight: normal;
            font-size: 0.9375rem;
            line-height: 1.5rem;
        }

        .mx_SpotlightDialog .mx_SpotlightDialog_searchBox > .mx_Spinner {
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
            width: auto;
            width: initial;
            height: auto;
            height: initial;
            margin-left: 16px;
        }

        .mx_SpotlightDialog .mx_SpotlightDialog_searchBox:not(:focus-within) + #mx_SpotlightDialog_content {
            /* Inhibit the styling if focus is not within the input which handles keyboard accessibility */
            --mx_SpotlightDialog_option_selectedBgColor: transparent;

            /* Hide the enter prompt as in this state pressing enter would not actuate that option */
        }
            .mx_SpotlightDialog .mx_SpotlightDialog_searchBox:not(:focus-within) + #mx_SpotlightDialog_content .mx_SpotlightDialog_enterPrompt {
                visibility: hidden;
            }

    .mx_SpotlightDialog #mx_SpotlightDialog_content {
        height: 100%;
        overflow-y: auto;
        padding: 16px;
    }

        .mx_SpotlightDialog #mx_SpotlightDialog_content ul {
            padding: 0;
            margin: 0;
        }
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section > h4,
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section > .mx_SpotlightDialog_sectionHeader > h4 {
                font-weight: var(--cpd-font-weight-semibold);
                font-size: 0.75rem;
                line-height: 0.9375rem;
                color: var(--cpd-color-text-secondary);
                margin: 0;
            }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section > h4 {
                margin-bottom: 8px;
            }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section .mx_SpotlightDialog_sectionHeader {
                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;
                margin-bottom: 8px;
            }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section .mx_SpotlightDialog_sectionHeader .mx_SpotlightDialog_options {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    gap: 4px;
                }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_section + .mx_SpotlightDialog_section {
                margin-top: 24px;
            }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_option {
            border-radius: 8px;
            overflow: hidden;
            text-overflow: ellipsis;
        }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_option:hover,
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_option[aria-selected="true"] {
                background-color: var(--mx_SpotlightDialog_option_selectedBgColor, var(--cpd-color-gray-400));
            }
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed > div {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                white-space: nowrap;
                overflow-x: hidden;
                margin-right: 1px; /* occlude the 1px visible of the very next tile to prevent it looking broken */
            }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option {
                padding: 4px;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                font-size: 0.75rem;
                line-height: 0.9375rem;
                display: inline-block;
                width: 58px;
                height: 58px;
                min-width: 58px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                text-align: center;
            }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option .mx_DecoratedRoomAvatar {
                    margin: 0 9px 4px; /* maintain centering */
                }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentlyViewed .mx_SpotlightDialog_option + .mx_SpotlightDialog_option {
                    margin-left: 16px;
                }
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option {
                --mx_SpotlightDialog_option_selectedBgColor: var(--cpd-color-bg-subtle-primary);

                padding: 6px 4px;
                font-size: 0.9375rem;
                line-height: 1.5rem;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                position: relative;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                white-space: nowrap;
            }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--endAdornment {
                    display: -webkit-inline-box;
                    display: -ms-inline-flexbox;
                    display: inline-flex;
                    -webkit-box-orient: horizontal;
                    -webkit-box-direction: normal;
                        -ms-flex-direction: row;
                            flex-direction: row;
                    margin-left: auto;
                    -webkit-box-align: start;
                        -ms-flex-align: start;
                            align-items: flex-start;
                }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline {
                    -webkit-box-align: start;
                        -ms-flex-align: start;
                            align-items: flex-start;
                }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_AccessibleButton {
                        padding: 4px 20px;
                        margin: 2px 4px;
                    }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option.mx_SpotlightDialog_result_multiline .mx_SpotlightDialog_enterPrompt {
                        margin-top: 9px;
                        margin-right: 8px;
                    }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_BaseAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_BaseAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_BaseAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_BaseAvatar {
                    margin-right: 8px;
                    width: 24px;
                    height: 24px;
                    -ms-flex-negative: 0;
                        flex-shrink: 0;
                }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_SpotlightDialog_metaspaceResult .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_DecoratedRoomAvatar .mx_BaseAvatar, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option > .mx_BaseAvatar .mx_BaseAvatar {
                        width: inherit;
                        height: inherit;
                    }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-orient: vertical;
                    -webkit-box-direction: normal;
                        -ms-flex-direction: column;
                            flex-direction: column;
                    -webkit-box-flex: 1;
                        -ms-flex-positive: 1;
                            flex-grow: 1;
                    min-width: 0;
                }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader {
                        display: -webkit-box;
                        display: -ms-flexbox;
                        display: flex;
                        -webkit-box-orient: horizontal;
                        -webkit-box-direction: normal;
                            -ms-flex-direction: row;
                                flex-direction: row;
                        line-height: 1.5rem;
                        margin-right: 8px;
                    }

                        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomName {
                            color: #ffffff;
                            color: var(--cpd-color-text-primary);
                            font-size: 0.9375rem;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }
                        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomHeader .mx_SpotlightDialog_result_publicRoomAlias {
                            color: var(--cpd-color-gray-800);
                            font-size: 0.75rem;
                            margin-left: 8px;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_result_publicRoomDetails .mx_SpotlightDialog_result_publicRoomDescription {
                        color: var(--cpd-color-text-secondary);
                        font-size: 0.75rem;
                        white-space: normal;
                        word-wrap: break-word;
                        line-height: 1.25rem;
                        display: -webkit-box;
                        -webkit-box-orient: vertical;
                        -webkit-line-clamp: 3;
                        overflow: hidden;
                    }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_NotificationBadge, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_NotificationBadge {
                    margin-left: 8px;
                }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu,
                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications {
                    width: 16px;
                    height: 16px;
                    padding: var(--cpd-space-0-5x);
                    -ms-flex-negative: 0;
                        flex-shrink: 0;
                    margin-top: auto;
                    margin-bottom: auto;
                    position: relative;
                    display: none;
                }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications svg {
                        width: inherit;
                        height: inherit;
                        display: block;
                        color: var(--cpd-color-gray-800);
                    }

                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--menu:focus-visible svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:hover svg,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option .mx_SpotlightDialog_option--notifications:focus-visible svg {
                        color: var(--cpd-color-text-secondary);
                    }
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option:hover .mx_SpotlightDialog_option--notifications,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--menu,
                    .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_option--notifications {
                        display: block;
                    }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_results .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_hiddenResults .mx_SpotlightDialog_option[aria-selected="true"] .mx_SpotlightDialog_enterPrompt {
                    display: inline-block;
                }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_inviteLink,
        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_createRoom {
            margin-top: 8px;
        }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_inviteLink .mx_AccessibleButton, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_createRoom .mx_AccessibleButton {
                position: relative;
                margin: 0;
                padding: 3px 8px 3px 28px;
            }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_inviteLink .mx_AccessibleButton svg, .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_createRoom .mx_AccessibleButton svg {
                    display: block;
                    position: absolute;
                    left: 8px;
                    width: 16px;
                    height: 16px;
                    color: var(--cpd-color-icon-primary);
                }
            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option {
                padding-left: 32px;
                position: relative;
            }

                .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_option svg {
                    color: var(--cpd-color-text-secondary);
                    width: 24px;
                    height: 24px;
                    position: absolute;
                    left: 4px;
                    top: 50%;
                    -webkit-transform: translateY(-50%);
                            transform: translateY(-50%);
                }

            .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_otherSearches .mx_SpotlightDialog_otherSearches_messageSearchText {
                font-size: 0.9375rem;
                line-height: 1.5rem;
            }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_result_details {
            margin-left: 8px;
            margin-right: 8px;
            color: var(--cpd-color-gray-800);
            font-size: 0.75rem;
            line-height: 0.9375rem;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_recentSearches > h4 > .mx_AccessibleButton_kind_link {
            float: right;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-text-secondary);
        }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_enterPrompt {
            padding: 2px 4px;
            /* To avoid any styling inherent with <kbd> elements */
            font-family: inherit;
            font-weight: inherit;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-gray-800);
            border-radius: 6px;
            background-color: var(--cpd-color-gray-400);
            margin-right: 4px;
            display: none;
        }

        .mx_SpotlightDialog #mx_SpotlightDialog_content .mx_SpotlightDialog_metaspaceResult svg {
            color: var(--cpd-color-text-secondary);
            width: inherit;
            height: inherit;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * To avoid visual glitching of two modals stacking briefly, we customise the
 * terms dialog sizing when it will appear for the integration manager so that
 * it gets the same basic size as the IM's own modal.
 */
.mx_TermsDialog_forIntegrationManager .mx_Dialog_border {
    width: 60%;
    height: 70%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.mx_TermsDialog_termsTableHeader {
    font-weight: bold;
    text-align: left;
}

.mx_TermsDialog_termsTable {
    font-size: 0.75rem;
    width: 100%;
}

.mx_TermsDialog_service,
.mx_TermsDialog_summary {
    padding-right: 10px;
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_UnpinAllDialog {
    /* 396 is coming from figma and we remove the left and right paddings of the dialog */
    width: calc(396px - (var(--cpd-space-10x) * 2));
    padding-bottom: var(--cpd-space-2x);
}

    .mx_UnpinAllDialog .mx_UnpinAllDialog_title {
        /* Override the default heading style */
        font: var(--cpd-font-heading-sm-semibold) !important;
        margin-bottom: var(--cpd-space-3x);
    }

    .mx_UnpinAllDialog .mx_UnpinAllDialog_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        margin: var(--cpd-space-8x) var(--cpd-space-2x) 0 var(--cpd-space-2x);
    }

        .mx_UnpinAllDialog .mx_UnpinAllDialog_buttons button {
            width: 100%;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_UntrustedDeviceDialog .mx_Dialog_title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_UntrustedDeviceDialog .mx_Dialog_title .mx_E2EIcon {
            margin-left: 0;
        }

    .mx_UntrustedDeviceDialog .mx_Dialog_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 8px;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UploadConfirmDialog_fileIcon {
    margin-right: 5px;
}

.mx_UploadConfirmDialog_previewOuter {
    text-align: center;
}

.mx_UploadConfirmDialog_previewInner {
    display: inline-block;
    text-align: left;
}

.mx_UploadConfirmDialog_imagePreview {
    max-height: 300px;
    max-width: 100%;
    border-radius: 4px;
    border: 1px solid var(--cpd-color-icon-tertiary);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsDialog_toastContainer {
    position: absolute;
    bottom: var(--cpd-space-10x);
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_UserSettingsDialog_title {
    /* Override default dialog font style */
    font: var(--cpd-font-heading-md-regular) !important;
}

    .mx_UserSettingsDialog_title .mx_UserSettingsDialog_title_strong {
        font: var(--cpd-font-heading-md-semibold);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VerifyEMailDialog {
    height: auto;
    top: 300px;
}

    .mx_VerifyEMailDialog .mx_Dialog {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font: var(--cpd-font-body-md-regular);
        padding: 24px 24px 16px;
        text-align: center;
        /* !important override compound  */
        width: 485px !important;
    }

        .mx_VerifyEMailDialog .mx_Dialog h1 {
            font-size: 1.5rem;
            font-weight: var(--cpd-font-weight-semibold);
        }

        .mx_VerifyEMailDialog .mx_Dialog .mx_VerifyEMailDialog_text-light {
            color: var(--cpd-color-text-secondary);
            line-height: 20px;
        }

        .mx_VerifyEMailDialog .mx_Dialog .mx_AuthBody_did-not-receive {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            margin-bottom: 8px;
        }

        .mx_VerifyEMailDialog .mx_Dialog .mx_Dialog_cancelButton {
            right: 10px;
        }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_WidgetCapabilitiesPromptDialog .text-muted {
        font-size: 0.75rem;
    }

    .mx_WidgetCapabilitiesPromptDialog .mx_Dialog_content {
        margin-bottom: 16px;
    }

    .mx_WidgetCapabilitiesPromptDialog .mx_WidgetCapabilitiesPromptDialog_cap {
        margin-top: 20px;
        font-size: 0.9375rem;
        line-height: 0.9375rem;
    }

    .mx_WidgetCapabilitiesPromptDialog .mx_Dialog_buttons {
        margin-top: 40px; /* double normal */
    }

    .mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag {
        line-height: calc(0.875rem + 7px + 7px); /* 7px top & bottom padding */
        color: #61708b;
        font-size: 0.75rem;
    }

        .mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag .mx_ToggleSwitch {
            /* downsize the switch + ball */
            width: 2rem;
            height: 0.9375rem;
        }

            .mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag .mx_ToggleSwitch.mx_ToggleSwitch_on > .mx_ToggleSwitch_ball {
                left: calc(100% - 0.9375rem);
            }

            .mx_WidgetCapabilitiesPromptDialog .mx_SettingsFlag .mx_ToggleSwitch .mx_ToggleSwitch_ball {
                width: 0.9375rem;
                height: 0.9375rem;
                border-radius: 0.9375rem;
            }
}
@layer app-web{

/*
 Copyright 2026 Element Creations Ltd.

 SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 Please see LICENSE files in the repository root for full details.
*/

.mx_UnknownIdentityUsersWarningDialog {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 600px; /* Consistency with InviteDialog */
}

.mx_UnknownIdentityUsersWarningDialog_headerContainer {
    /* Centre the PageHeader component horizontally */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    /* Styling for the regular text inside the header */
    font: var(--cpd-font-body-lg-regular);

    /* Space before the list */
    padding-bottom: var(--cpd-space-6x);
}

.mx_UnknownIdentityUsersWarningDialog_userList {
    width: 100%;
    overflow: auto;

    /* Fill available vertical space, but don't allow it to shrink to less than 60px (about the height of a single tile) */
    -webkit-box-flex: 1;
        -ms-flex: 1 0 60px;
            flex: 1 0 60px;

    /* Remove browser default ul padding/margin */
    padding: 0;
    margin: 0;
}

.mx_UnknownIdentityUsersWarningDialog_buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-4x);
}

    .mx_UnknownIdentityUsersWarningDialog_buttons > button {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2018, 2019 , 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_AccessSecretStorageDialog.mx_EncryptionCard {
        /* override some styles that we don't need */
        border: 0px none;
        -webkit-box-shadow: none;
                box-shadow: none;
        padding: 0px;
    }
        .mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyEntry {
            /*
             * Be specific here to avoid "margin: 9px" from _common.pcss
             */
        }
                .mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyEntry :not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) input {
                    /*
                     * From figma: https://www.figma.com/design/ZodBLtGnKmRTGJo5SGLnH3/ER-137--Excluding-Insecure-Devices?node-id=102-43729&t=QmewENUd7f6Tmw9U-1
                     */
                    width: 448px;
                    height: 70px;
                    margin: 0px;
                    border: 1px solid;
                }
            .mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyFeedback svg {
                display: inline-block;
                vertical-align: bottom;
                width: 20px;
                height: 20px;
                -webkit-mask-size: 20px;
                        mask-size: 20px;
                -webkit-margin-end: 5px;
                        margin-inline-end: 5px;
            }

            .mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyFeedback.mx_AccessSecretStorageDialog_recoveryKeyFeedback--invalid {
                color: #e0454b;
                color: var(--cpd-color-text-critical-primary);
            }

                .mx_AccessSecretStorageDialog .mx_AccessSecretStorageDialog_primaryContainer .mx_AccessSecretStorageDialog_recoveryKeyFeedback.mx_AccessSecretStorageDialog_recoveryKeyFeedback--invalid svg {
                    color: #e0454b;
                    color: var(--cpd-color-text-critical-primary);
                }

    .mx_AccessSecretStorageDialog .mx_EncryptionCard_buttons {
        margin-top: var(--cpd-space-20x);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CreateCrossSigningDialog {
    /* Why you ask? Because CompleteSecurityBody is 600px so this is the width */
    /* we end up when in there, but when in our own dialog we set our own width */
    /* so need to fix it to something sensible as otherwise we'd end up either */
    /* really wide or really narrow depending on the phase. I bet you wish you */
    /* never asked. */
    width: 560px;
}

    .mx_CreateCrossSigningDialog details .mx_AccessibleButton {
        margin: 1em 0; /* emulate paragraph spacing because we can't put this button in a paragraph due to HTML rules */
    }

.mx_CreateCrossSigningDialog .mx_Dialog_title {
    /* TODO: Consider setting this for all dialog titles. */
    margin-bottom: 1em;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
Copyright 2018 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CreateSecretStorageDialog {
    /* Why you ask? Because CompleteSecurityBody is 600px so this is the width */
    /* we end up when in there, but when in our own dialog we set our own width */
    /* so need to fix it to something sensible as otherwise we'd end up either */
    /* really wide or really narrow depending on the phase. I bet you wish you */
    /* never asked. */
    width: 560px;
}

    .mx_CreateSecretStorageDialog.mx_SuccessDialog {
        padding: 56px; /* 80px from design - 24px wrapper padding */
    }

        .mx_CreateSecretStorageDialog.mx_SuccessDialog .mx_Dialog_title {
            margin-bottom: 16px;
        }

    .mx_CreateSecretStorageDialog .mx_SettingsFlag {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .mx_CreateSecretStorageDialog .mx_SettingsFlag_label {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
        min-width: 0;
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_CreateSecretStorageDialog .mx_ToggleSwitch {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin-left: 30px;
    }

    .mx_CreateSecretStorageDialog details .mx_AccessibleButton {
        margin: 1em 0; /* emulate paragraph spacing because we can't put this button in a paragraph due to HTML rules */
    }

.mx_CreateSecretStorageDialog .mx_Dialog_title {
    /* TODO: Consider setting this for all dialog titles. */
    margin-bottom: 1em;
}

.mx_CreateSecretStorageDialog_centeredTitle,
.mx_CreateSecretStorageDialog_centeredBody {
    text-align: center;
}

.mx_CreateSecretStorageDialog_primaryContainer {
    /* FIXME: plinth colour in new theme(s). background-color: $accent; */
    padding-top: 20px;
}

    .mx_CreateSecretStorageDialog_primaryContainer.mx_CreateSecretStorageDialog_recoveryKeyPrimarycontainer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

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

.mx_CreateSecretStorageDialog_primaryContainer .mx_StyledRadioButton {
    margin-bottom: 16px;
    padding: 11px;
}

.mx_CreateSecretStorageDialog_optionTitle {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    font-weight: var(--cpd-font-weight-semibold);
    font-size: 1.125rem;
    padding-bottom: 10px;
}

.mx_CreateSecretStorageDialog_passPhraseContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

.mx_Field.mx_CreateSecretStorageDialog_passPhraseField {
    margin-top: 0px;
}

.mx_CreateSecretStorageDialog_passPhraseMatch {
    width: 200px;
    margin-left: 20px;
}

.mx_CreateSecretStorageDialog_recoveryKeyContainer {
    display: inline-block;
}

.mx_CreateSecretStorageDialog_recoveryKey {
    font-weight: bold;
    text-align: center;
    padding: 20px;
    color: var(--cpd-color-gray-900);
    background-color: #f7f7f7;
    border-radius: 6px;
    word-spacing: 1em;
    margin-bottom: 20px;
}

    .mx_CreateSecretStorageDialog_recoveryKey code {
        display: inline-block;
        width: 30rem;
    }

.mx_CreateSecretStorageDialog_recoveryKeyButtons {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
}

.mx_CreateSecretStorageDialog_recoveryKeyButtons_copyBtn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_CreateSecretStorageDialog_recoveryKeyButtons .mx_AccessibleButton {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    white-space: nowrap;
}

.mx_CreateSecretStorageDialog_continueSpinner {
    margin-top: 33px;
    text-align: right;
}

.mx_CreateSecretStorageDialog_continueSpinner img {
    width: 20px;
    height: 20px;
}
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_KeyBackupFailedDialog .mx_Dialog_title {
    margin-bottom: 32px;
}

.mx_KeyBackupFailedDialog_title {
    padding-bottom: 10px;
}

    .mx_KeyBackupFailedDialog_title svg {
        margin-right: var(--cpd-space-2x);
        vertical-align: -2px;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

.mx_KeyBackupFailedDialog .mx_Dialog_buttons {
    margin-top: 36px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2018 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RestoreKeyBackupDialog_keyStatus {
    height: 30px;
}

.mx_RestoreKeyBackupDialog_primaryContainer {
    /* FIXME: plinth colour in new theme(s). background-color: $accent; */
    padding: 20px;
}

.mx_RestoreKeyBackupDialog_passPhraseInput,
.mx_RestoreKeyBackupDialog_recoveryKeyInput {
    width: 300px;
    border: 1px solid #2e80de;
    border: 1px solid var(--cpd-color-text-action-accent);
    border-radius: 5px;
    padding: 10px;
}

.mx_RestoreKeyBackupDialog_content > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    min-height: 110px; /* Empirically measured */
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
        .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--header {
            padding-top: 12px;
            padding-bottom: 4px;
            min-width: 160px;
        }

        .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item {
            padding-top: 4px;
            padding-bottom: 4px;
        }

            .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option.mx_GenericDropdownMenu_Option--item > .mx_GenericDropdownMenu_Option--label span:first-child {
                font-weight: normal;
            }

        .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: baseline;
                -ms-flex-align: baseline;
                    align-items: baseline;
            -ms-flex-line-pack: baseline;
                align-content: baseline;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

            .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_Option > .mx_GenericDropdownMenu_Option--label span:not(:first-child) {
                margin-left: 4px;
                color: var(--cpd-color-text-secondary);
            }

    .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_divider {
        margin-top: 4px;
        margin-bottom: 4px;
    }

        .mx_NetworkDropdown_wrapper .mx_ContextualMenu .mx_GenericDropdownMenu_divider + .mx_GenericDropdownMenu_Option .mx_GenericDropdownMenu_Option--label {
            font-size: 0.9375rem;
        }

.mx_NetworkDropdown_removeServer {
    position: relative;
    display: inline-block;
    width: 14px;
    height: 14px;
    padding: 1px;
    background: var(--cpd-color-gray-400);
    border-radius: 8px;
    text-align: center;
    line-height: 16px;
    color: var(--cpd-color-text-secondary);
    margin-left: auto;
}

    .mx_NetworkDropdown_removeServer svg {
        color: var(--cpd-color-text-secondary);
        height: inherit;
        width: inherit;
    }

.mx_NetworkDropdown_dialog .mx_Dialog {
    width: 45vw;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AccessibleButton {
    cursor: pointer;
}

    .mx_AccessibleButton:where(button) {
        /* Clear default button styling */
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        background: none;
        border: none;
        padding: 0;
        margin: 0;
        font-size: inherit;
        font-family: inherit;
        line-height: inherit;
        -webkit-box-sizing: content-box;
                box-sizing: content-box;
    }

    .mx_AccessibleButton.mx_AccessibleButton_disabled {
        cursor: not-allowed;
    }

        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_icon_primary,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_icon_primary_outline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_primary,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_primary_outline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_primary_sm,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link_accent,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link_inline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_danger_inline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_content_inline,
        .mx_AccessibleButton.mx_AccessibleButton_disabled.mx_AccessibleButton_kind_link_sm {
            opacity: 0.4;
        }

    .mx_AccessibleButton.mx_AccessibleButton_hasKind {
        padding: 7px 18px;
        text-align: center;
        border-radius: 24px;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        font: var(--cpd-font-body-md-semibold);
        border: none; /* override default <button /> styles */
        word-break: keep-all; /* prevent button text in Chinese/Japanese/Korean (CJK) from being collapsed */
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_primary_sm,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_danger_sm,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link_sm {
            padding: 5px 12px;
        }

        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_primary_sm {
            color: var(--cpd-color-text-on-solid-primary);
            background-color: #2e80de;
            background-color: var(--cpd-color-bg-action-primary-rest);
            border: 1px solid #2e80de;
            border: 1px solid var(--cpd-color-bg-action-primary-rest);
        }

        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_danger_sm {
            color: var(--cpd-color-text-on-solid-primary);
            background-color: var(--cpd-color-bg-critical-primary);
            border: 1px solid var(--cpd-color-bg-critical-primary);
        }

        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_link_sm {
            color: #ffffff;
            color: var(--cpd-color-text-primary);
            text-decoration: underline;
            font-weight: var(--cpd-font-weight-semibold);
        }

        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_icon,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_icon_primary,
        .mx_AccessibleButton.mx_AccessibleButton_hasKind.mx_AccessibleButton_kind_icon_primary_outline {
            padding: 0;
            height: 32px;
            width: 32px;
        }

    .mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary,
    .mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary_outline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary_outline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_secondary {
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary {
        border: 1px solid #2e80de;
        border: 1px solid var(--cpd-color-bg-action-primary-rest);
        color: var(--cpd-color-text-on-solid-primary);
        background-color: #2e80de;
        background-color: var(--cpd-color-bg-action-primary-rest);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_icon_primary_outline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_primary_outline {
        border: 1px solid var(--cpd-color-border-interactive-secondary);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_secondary {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        text-decoration: underline;
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_danger {
        color: var(--cpd-color-text-on-solid-primary);
        background-color: var(--cpd-color-bg-critical-primary);
        border: 1px solid var(--cpd-color-bg-critical-primary);
    }

        .mx_AccessibleButton.mx_AccessibleButton_kind_danger.mx_AccessibleButton_disabled {
            color: var(--cpd-color-text-on-solid-primary);
            background-color: var(--cpd-color-bg-critical-primary);
        }

    .mx_AccessibleButton.mx_AccessibleButton_kind_danger_outline {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
        background-color: transparent;
        border: 1px solid var(--cpd-color-border-critical-subtle);
    }

        .mx_AccessibleButton.mx_AccessibleButton_kind_danger_outline.mx_AccessibleButton_disabled {
            color: var(--cpd-color-text-disabled);
            border-color: var(--cpd-color-border-disabled);
        }
        .mx_AccessibleButton.mx_AccessibleButton_kind_danger_sm.mx_AccessibleButton_disabled {
            color: var(--cpd-color-text-disabled);
            background-color: var(--cpd-color-bg-subtle-primary);
        }

    .mx_AccessibleButton.mx_AccessibleButton_kind_link,
    .mx_AccessibleButton.mx_AccessibleButton_kind_link_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_danger_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_content_inline {
        font-size: inherit;
        font-weight: var(--cpd-font-weight-semibold);
        line-height: inherit;
        padding: 0;
        text-decoration: underline;
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_link,
    .mx_AccessibleButton.mx_AccessibleButton_kind_link_inline {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_danger_inline {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_content_inline {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_AccessibleButton.mx_AccessibleButton_kind_link_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_danger_inline,
    .mx_AccessibleButton.mx_AccessibleButton_kind_content_inline {
        display: inline;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CopyableText {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
}

    .mx_CopyableText.mx_CopyableText_border {
        overflow: auto;
        border-radius: 5px;
        border: solid 1px #747474;
        margin-bottom: 10px;
        margin-top: 10px;
        padding: 10px 0 10px 10px;
    }

    .mx_CopyableText .mx_CopyableText_copyButton {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        /* using em here to adapt to the local font size */
        width: 1em;
        height: 1em;
        padding-left: 12px;
        padding-right: 10px;
        display: block;
        /* If the copy button is used within a scrollable div, make it stick to the right while scrolling */
        position: sticky;
        right: 0;
        /* center to first line */
        top: 0.15em;
        background-color: var(--cpd-color-bg-canvas-default);
    }

        .mx_CopyableText .mx_CopyableText_copyButton svg {
            width: 1em;
            height: 1em;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
            display: block;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_desktopCapturerSourcePicker {
    overflow: hidden;
}

    .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab {
        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;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        height: 500px;
        overflow: overlay;
    }

        .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source {
            width: 50%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }

            .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail {
                margin: 4px;
                padding: 4px;
                border-width: 2px;
                border-radius: 8px;
                border-style: solid;
                border-color: transparent;
            }

                .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail.mx_desktopCapturerSourcePicker_source_thumbnail_selected,
                .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail:hover,
                .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_thumbnail:focus {
                    border-color: #2e80de;
                    border-color: var(--cpd-color-text-action-accent);
                }

            .mx_desktopCapturerSourcePicker .mx_desktopCapturerSourcePicker_tab .mx_desktopCapturerSourcePicker_source .mx_desktopCapturerSourcePicker_source_name {
                margin: 0 4px;
                white-space: nowrap;
                text-overflow: ellipsis;
                overflow: hidden;
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialPadBackspaceButton {
    height: 20px;
    width: 20px;
    padding: var(--cpd-space-1x);
}

    .mx_DialPadBackspaceButton svg {
        color: #8d97a5;
        width: inherit;
        height: inherit;
        display: inline-block;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Dropdown {
    position: relative;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_Dropdown_disabled {
    opacity: 0.3;
}

.mx_Dropdown_input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    border-radius: 8px;
    border: 1px solid var(--cpd-color-border-interactive-secondary);
    font: var(--cpd-font-body-sm-regular);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.mx_Dropdown_input.mx_AccessibleButton_disabled {
    cursor: not-allowed;
}

.mx_Dropdown_input:focus {
    border-color: var(--cpd-color-text-link-external);
}

/* Disable dropdown highlight on focus */
.mx_Dropdown_input.mx_AccessibleButton:focus {
    -webkit-filter: none;
            filter: none;
}

svg.mx_Dropdown_arrow {
    width: 18px;
    height: 18px;
    margin-right: 3px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_Dropdown_option {
    height: 35px;
    line-height: 2.1875rem;
    /* Overwrites the default padding for any li elements */
    padding: 0 8px;
}

.mx_Dropdown_input > .mx_Dropdown_option {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_Dropdown_option div {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mx_Dropdown_option img,
.mx_Dropdown_option .mx_Dropdown_option_emoji {
    margin: 5px;
    width: 16px;
    vertical-align: middle;
}

.mx_Dropdown_option_emoji {
    font-size: 1rem;
    line-height: 1rem;
}

input.mx_Dropdown_option,
input.mx_Dropdown_option:focus {
    font-weight: normal;
    border: 0;
    padding-top: 0;
    padding-bottom: 0;
    /* XXX: hack to prevent text box being too big and pushing */
    /* its parent out / overlapping the dropdown arrow. Only really */
    /* works in the Country dropdown. */
    width: 60%;
}

.mx_Dropdown_menu {
    position: absolute;
    left: -1px;
    right: -1px;
    top: 100%;
    z-index: 2;
    margin: 0;
    padding: 0px;
    border-radius: 4px;
    border: 1px solid var(--cpd-color-text-link-external);
    background-color: var(--cpd-color-bg-canvas-default);
    max-height: 200px;
    overflow-y: auto;
}

.mx_Dropdown_menu .mx_Dropdown_option {
    height: auto;
    min-height: 35px;
}

ul.mx_Dropdown_menu li.mx_Dropdown_option {
    list-style: none;
}

.mx_Dropdown_menu .mx_Dropdown_option_highlight {
    background-color: var(--cpd-color-bg-subtle-primary);
}

.mx_Dropdown_searchPrompt {
    font-weight: normal;
    margin-left: 5px;
    margin-bottom: 5px;
}
}
@layer app-web{

/*
Copyright 2017-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EditableItemList {
    margin-top: 12px;
    margin-bottom: 10px;
}

.mx_EditableItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 5px;
}

.mx_EditableItem_delete {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}
    .mx_EditableItem_delete:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
    .mx_EditableItem_delete svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
    .mx_EditableItem_delete{
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    vertical-align: middle;
    width: 28px;
    height: 28px;
    -webkit-mask-size: 100%;
            mask-size: 100%;
}

.mx_EditableItem_email {
    vertical-align: middle;
}

.mx_EditableItem_promptText {
    margin-right: 10px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
}

.mx_EditableItem_confirmBtn {
    margin-right: 5px;
}

.mx_EditableItem_item {
    -webkit-box-flex: 1;
        -ms-flex: auto 1 0px;
            flex: auto 1 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: calc(100% - 28px); /* leave space for the remove button */
    overflow-x: hidden;
    text-overflow: ellipsis;
}

.mx_EditableItemList_label {
    margin-bottom: 5px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ErrorBoundary {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.mx_ErrorBoundary_body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 400px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

    .mx_ErrorBoundary_body .mx_AccessibleButton {
        margin-top: 5px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ExternalLink {
    color: var(--cpd-color-text-link-external);
}

.mx_ExternalLink_icon {
    display: inline-block;
    width: 0.6875rem;
    height: 0.6875rem;
    margin-left: 0.3rem;
    vertical-align: middle;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FacePile_more {
    /* Needed to calculate the offset on the face pile */
    --cpd-avatar-size: 28px;
    position: relative;
    border-radius: 100%;
    width: 28px;
    height: 28px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: var(--cpd-space-1x);
    background-color: var(--cpd-color-bg-subtle-secondary);
    color: var(--cpd-color-gray-800);
    display: inline-block;
    z-index: 1;
    /* For enhanced visibility under contrast control */
    outline: 1px solid transparent;
}

.mx_FacePile_summary {
    margin-left: 12px;
    font: var(--cpd-font-body-md-regular);
    line-height: 1.5rem;
    color: var(--cpd-color-gray-800);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* TODO: Consider unifying with general input styles in _light.pcss */

.mx_Field {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    position: relative;
    margin: 1em 0;
    border-radius: 8px;
    -webkit-transition: border-color 0.25s;
    transition: border-color 0.25s;
    border: 1px solid var(--cpd-color-border-interactive-secondary);
}

.mx_Field_prefix {
    border-right: 1px solid var(--cpd-color-border-interactive-secondary);
}

.mx_Field_postfix {
    border-left: 1px solid var(--cpd-color-border-interactive-secondary);
}

.mx_Field input,
.mx_Field select,
.mx_Field textarea {
    font: var(--cpd-font-body-md-regular);
    border: none;
    /* Even without a border here, we still need this avoid overlapping the rounded */
    /* corners on the field above. */
    border-radius: 8px;
    padding: 8px 9px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-canvas-default);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
}

.mx_Field select {
    -moz-appearance: none;
    -webkit-appearance: none;
    text-overflow: ellipsis;
}

.mx_Field_select_chevron {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 4px;
    width: 18px;
    height: 18px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    z-index: 1;
    pointer-events: none;
}

.mx_Field:focus-within {
    border-color: var(--cpd-color-text-link-external);
}

.mx_Field input:focus,
.mx_Field select:focus,
.mx_Field textarea:focus {
    outline: 0;
}

.mx_Field input::-webkit-input-placeholder, .mx_Field textarea::-webkit-input-placeholder {
    -webkit-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input::-moz-placeholder, .mx_Field textarea::-moz-placeholder {
    -moz-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input:-ms-input-placeholder, .mx_Field textarea:-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input::-ms-input-placeholder, .mx_Field textarea::-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input::placeholder,
.mx_Field textarea::placeholder {
    -webkit-transition: color 0.25s ease-in 0s;
    transition: color 0.25s ease-in 0s;
    color: transparent;
}

.mx_Field input:placeholder-shown:focus::-webkit-input-placeholder, .mx_Field textarea:placeholder-shown:focus::-webkit-input-placeholder, .mx_Field.mx_Field_placeholderIsHint input::-webkit-input-placeholder {
    -webkit-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:placeholder-shown:focus::-moz-placeholder, .mx_Field textarea:placeholder-shown:focus::-moz-placeholder, .mx_Field.mx_Field_placeholderIsHint input::-moz-placeholder {
    -moz-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:placeholder-shown:focus:-ms-input-placeholder, .mx_Field textarea:placeholder-shown:focus:-ms-input-placeholder, .mx_Field.mx_Field_placeholderIsHint input:-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:placeholder-shown:focus::-ms-input-placeholder, .mx_Field textarea:placeholder-shown:focus::-ms-input-placeholder, .mx_Field.mx_Field_placeholderIsHint input::-ms-input-placeholder {
    -ms-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:-moz-placeholder:focus::placeholder, .mx_Field textarea:-moz-placeholder:focus::placeholder {
    -moz-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:-ms-input-placeholder:focus::placeholder, .mx_Field textarea:-ms-input-placeholder:focus::placeholder {
    -ms-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field input:placeholder-shown:focus::placeholder,
.mx_Field textarea:placeholder-shown:focus::placeholder,
.mx_Field.mx_Field_placeholderIsHint input::placeholder {
    -webkit-transition: color 0.25s ease-in 0.1s;
    transition: color 0.25s ease-in 0.1s;
    color: var(--cpd-color-gray-900);
}

.mx_Field label {
    -webkit-transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s,
        -webkit-transform 0.25s ease-out 0.1s;
    transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s,
        -webkit-transform 0.25s ease-out 0.1s;
    transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        transform 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s;
    transition:
        font-size 0.25s ease-out 0.1s,
        color 0.25s ease-out 0.1s,
        transform 0.25s ease-out 0.1s,
        background-color 0.25s ease-out 0.1s,
        -webkit-transform 0.25s ease-out 0.1s;
    background-color: transparent;
    font: var(--cpd-font-body-md-regular);
    color: var(--cpd-color-text-secondary);
    -webkit-transform: translateY(0);
            transform: translateY(0);
    position: absolute;
    left: 0px;
    margin: 7px 8px;
    padding: 2px;
    pointer-events: none; /* Allow clicks to fall through to the input */
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: calc(100% - 20px); /* 100% of parent minus margin and padding */
}

.mx_Field input:not(:-moz-placeholder) + label, .mx_Field textarea:not(:-moz-placeholder) + label {
    -moz-transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    font-size: 0.625rem;
    transform: translateY(-13px);
    padding: 0 2px;
    background-color: var(--cpd-color-bg-canvas-default);
    pointer-events: initial;
}

.mx_Field input:not(:-ms-input-placeholder) + label, .mx_Field textarea:not(:-ms-input-placeholder) + label {
    -ms-transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    font-size: 0.625rem;
    transform: translateY(-13px);
    padding: 0 2px;
    background-color: var(--cpd-color-bg-canvas-default);
    pointer-events: initial;
}

.mx_Field_labelAlwaysTopLeft label,
.mx_Field select + label /* Always show a select's label on top to not collide with the value */,
.mx_Field input:focus + label,
.mx_Field input:not(:placeholder-shown) + label,
.mx_Field textarea:focus + label,
.mx_Field textarea:not(:placeholder-shown) + label {
    -webkit-transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s,
        -webkit-transform 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s,
        -webkit-transform 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s;
    transition:
        font-size 0.25s ease-out 0s,
        color 0.25s ease-out 0s,
        transform 0.25s ease-out 0s,
        background-color 0.25s ease-out 0s,
        -webkit-transform 0.25s ease-out 0s;
    font-size: 0.625rem;
    -webkit-transform: translateY(-13px);
            transform: translateY(-13px);
    padding: 0 2px;
    background-color: var(--cpd-color-bg-canvas-default);
    pointer-events: initial;
}

.mx_Field input:focus + label,
.mx_Field select:focus + label,
.mx_Field textarea:focus + label {
    color: var(--cpd-color-text-link-external);
}

.mx_Field select:disabled,
.mx_Field select:disabled + label,
.mx_Field input:disabled,
.mx_Field input:disabled + label,
.mx_Field textarea:disabled,
.mx_Field textarea:disabled + label {
    background-color: var(--cpd-color-bg-canvas-default);
    color: var(--cpd-color-gray-900);
}
    .mx_Field_valid.mx_Field,
    .mx_Field_valid.mx_Field:focus-within {
        border-color: #2e80de;
        border-color: var(--cpd-color-text-action-accent);
    }

    .mx_Field_valid.mx_Field label,
    .mx_Field_valid.mx_Field:focus-within label {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }
    .mx_Field_invalid.mx_Field,
    .mx_Field_invalid.mx_Field:focus-within {
        border-color: #e0454b;
        border-color: var(--cpd-color-text-critical-primary);
    }

    .mx_Field_invalid.mx_Field label,
    .mx_Field_invalid.mx_Field:focus-within label {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }

/* Customise other components when placed inside a Field */

.mx_Field .mx_Dropdown_input {
    border: medium none currentcolor;
    border: initial;
    border-radius: 0;
    border-radius: initial;
}

.mx_Field .mx_CountryDropdown {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_GenericEventListSummary {
    position: relative;

    /* Make all state events one order smaller than the other events */
}

    .mx_GenericEventListSummary .mx_GenericEventListSummary_avatars {
        margin-right: 8px;
    }

    .mx_GenericEventListSummary .mx_GenericEventListSummary_spacer {
        border-bottom: 1px solid transparent;
        margin-left: 63px;
        line-height: 1.875rem; /* TODO: Use a variable */
    }

        .mx_IRCLayout .mx_GenericEventListSummary .mx_GenericEventListSummary_spacer {
            line-height: var(--line-height);
        }

    .mx_GenericEventListSummary .mx_GenericEventListSummary_toggle {
        /* We reuse a title cased translation */
        text-transform: lowercase;
    }
        .mx_GenericEventListSummary[data-layout="irc"] .mx_GenericEventListSummary_toggle, .mx_GenericEventListSummary[data-layout="group"] .mx_GenericEventListSummary_toggle {
            float: right;
            margin-inline: 0 10px;
        }

    .mx_GenericEventListSummary[data-layout="group"] {
        margin-top: 8px;
    }

    .mx_GenericEventListSummary[data-layout="bubble"] {
        --maxWidth: 70%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-left: calc(var(--avatarSize) + var(--gutterSize));

        /* ideally we'd use display=contents here for the layout to all work regardless of the *ELS but */
        /* that breaks ScrollPanel's reliance upon offsetTop so we have to have a bit more finesse. */
    }

        .mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_toggle {
            margin-block: 0;
        }

            .mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_toggle[aria-expanded="false"] {
                -webkit-box-ordinal-group: 10;
                    -ms-flex-order: 9;
                        order: 9; /* TODO: Remove */
            }

            .mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_toggle[aria-expanded="true"] {
                -webkit-margin-start: auto;
                        margin-inline-start: auto; /* reduce clickable area */
                -webkit-margin-end: var(--EventTile_bubble-margin-inline-end);
                        margin-inline-end: var(--EventTile_bubble-margin-inline-end); /* as the parent has zero margin */
            }

        .mx_GenericEventListSummary[data-layout="bubble"] .mx_GenericEventListSummary_spacer {
            display: none;
        }

        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-column-gap: 5px;
               -moz-column-gap: 5px;
                    column-gap: 5px;
        }
        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            margin: 0;
        }

        .mx_GenericEventListSummary[data-layout="bubble"]::after {
            content: "";
            clear: both;
        }
            .mx_GenericEventListSummary[data-layout="bubble"]:hover::before {
                background: transparent;
            }

    .mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary {
        font-size: 0.8125rem;
        margin-top: 4px;
    }

        .mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary .mx_EventTile_line {
            line-height: 1.25;
        }

        .mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary .mx_GenericEventListSummary_spacer {
            line-height: 1.375;
        }

        .mx_MatrixChat_useCompactLayout .mx_GenericEventListSummary .mx_TextualEvent.mx_GenericEventListSummary_summary {
            font: var(--cpd-font-body-sm-regular);
        }
    .mx_GenericEventListSummary .mx_EventTile {
        font: var(--cpd-font-body-sm-regular);
        color: var(--cpd-color-text-secondary);
    }

.mx_GenericEventListSummary_unstyledList {
    list-style: none;
    padding: 0;
}

.mx_TextualEvent.mx_GenericEventListSummary_summary {
    font: var(--cpd-font-body-sm-regular);
    display: inline;
    color: var(--cpd-color-text-secondary);
}

.mx_GenericEventListSummary_avatars {
    display: inline-block;
    line-height: 0.75rem;
}

    .mx_GenericEventListSummary_avatars .mx_BaseAvatar {
        margin-right: -4px;
        cursor: pointer;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
    --image-view-panel-height: 68px;
}

.mx_ImageView {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_ImageView_image_wrapper {
    pointer-events: initial;
    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;
    height: 100%;
    overflow: hidden;
}

.mx_ImageView_image {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

    .mx_ImageView_image.mx_ImageView_image_animating {
        -webkit-transition: -webkit-transform 200ms ease 0s;
        transition: -webkit-transform 200ms ease 0s;
        transition: transform 200ms ease 0s;
        transition: transform 200ms ease 0s, -webkit-transform 200ms ease 0s;
    }

    .mx_ImageView_image.mx_ImageView_image_animatingLoading {
        -webkit-transition: -webkit-transform 300ms ease 0s;
        transition: -webkit-transform 300ms ease 0s;
        transition: transform 300ms ease 0s;
        transition: transform 300ms ease 0s, -webkit-transform 300ms ease 0s;
    }

.mx_ImageView_panel {
    width: 100%;
    height: 68px;
    height: var(--image-view-panel-height);
    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;
    -webkit-animation-name: mx_ImageView_panel_keyframes;
            animation-name: mx_ImageView_panel_keyframes;
    -webkit-animation-duration: 300ms;
            animation-duration: 300ms;
}

.mx_ImageView_info_wrapper {
    pointer-events: initial;
    padding-left: 32px;
    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;
    color: #fff;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
}

.mx_ImageView_info {
    padding-left: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_ImageView_info_sender {
    font-weight: bold;
}

.mx_ImageView_title {
    color: #fff;
    font-size: 0.75rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    text-align: center;
}

.mx_ImageView_toolbar {
    --icon-size: 24px;

    padding-right: 16px;
    pointer-events: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: var(--cpd-space-3x);
}

.mx_ImageView_button {
    padding: calc((32px - var(--icon-size)) / 2);
    width: var(--icon-size);
    height: var(--icon-size);
    display: block;
}

    .mx_ImageView_button svg {
        height: inherit;
        width: inherit;
        display: block;
        color: var(--cpd-color-icon-tertiary);
    }

.mx_ImageView_button_more {
    --icon-size: 28px;
}

.mx_ImageView_button_close {
    border-radius: 100%;
    background: #21262c; /* same on all themes */
}

@media (prefers-reduced-motion) {
    .mx_ImageView_image_animating {
        -webkit-transition: none !important;
        transition: none !important;
    }

    .mx_ImageView_image_animatingLoading {
        -webkit-transition: none !important;
        transition: none !important;
    }
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InfoTooltip_icon {
    width: 16px;
    height: 16px;
    display: inline-block;
}

    .mx_InfoTooltip_icon svg {
        height: inherit;
        width: inherit;
        color: #61708b;
    }

.mx_InfoTooltip_icon::before {
    display: inline-block;
    vertical-align: middle;
}
}
@layer app-web{

/*
Copyright 2017-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InlineSpinner {
    display: inline;
}

    .mx_InlineSpinner svg {
        margin: 0px 6px;
        vertical-align: -3px;
        display: inline-block;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InteractiveTooltip_wrapper {
    position: fixed;
    z-index: 3999;
}

.mx_InteractiveTooltip {
    border-radius: 8px;
    background-color: var(--cpd-color-bg-canvas-default);
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    position: absolute;
    z-index: 5001;
    -webkit-box-shadow:
        0 24px 8px rgb(17 17 26 / 4%),
        0 8px 32px rgb(17 17 26 / 4%);
            box-shadow:
        0 24px 8px rgb(17 17 26 / 4%),
        0 8px 32px rgb(17 17 26 / 4%);
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_top {
    top: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_left {
    left: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_right {
    right: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip.mx_InteractiveTooltip_withChevron_bottom {
    bottom: 10px; /* 8px chevron + 2px spacing */
}

.mx_InteractiveTooltip_chevron_top {
    position: absolute;
    left: calc(50% - 8px);
    top: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-bottom: 8px solid var(--cpd-color-bg-canvas-default);
    border-right: 8px solid transparent;
}

/* Adapted from https://codyhouse.co/blog/post/css-rounded-triangles-with-clip-path */
/* by Sebastiano Guerriero (@guerriero_se) */
@supports (clip-path: polygon(0% 0%, 100% 100%, 0% 100%)) {
    .mx_InteractiveTooltip_chevron_top {
        height: 16px;
        width: 16px;
        background-color: inherit;
        border: none;
        clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
        -webkit-transform: rotate(135deg);
                transform: rotate(135deg);
        border-radius: 0 0 0 3px;
        top: calc(-8px / 1.414); /* sqrt(2) because of rotation */
    }
}

.mx_InteractiveTooltip_chevron_bottom {
    position: absolute;
    left: calc(50% - 8px);
    bottom: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-top: 8px solid var(--cpd-color-bg-canvas-default);
    border-right: 8px solid transparent;
}

/* Adapted from https://codyhouse.co/blog/post/css-rounded-triangles-with-clip-path */
/* by Sebastiano Guerriero (@guerriero_se) */
@supports (clip-path: polygon(0% 0%, 100% 100%, 0% 100%)) {
    .mx_InteractiveTooltip_chevron_bottom {
        height: 16px;
        width: 16px;
        background-color: inherit;
        border: none;
        clip-path: polygon(0% 0%, 100% 100%, 0% 100%);
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg);
        border-radius: 0 0 0 3px;
        bottom: calc(-8px / 1.414); /* sqrt(2) because of rotation */
    }
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InviteReason {
    position: relative;
    margin-bottom: 1em;
}

    .mx_InviteReason .mx_InviteReason_reason {
        visibility: visible;
    }

    .mx_InviteReason .mx_InviteReason_view {
        display: none;
        position: absolute;
        inset: 0;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        cursor: pointer;
        color: var(--cpd-color-text-secondary);
    }

        .mx_InviteReason .mx_InviteReason_view svg {
            width: 16px;
            height: 16px;
            color: var(--cpd-color-text-secondary);
            display: inline-block;
            margin-right: 8px;
        }
    .mx_InviteReason_hidden .mx_InviteReason_reason {
        visibility: hidden;
    }

    .mx_InviteReason_hidden .mx_InviteReason_view {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LabelledCheckbox {
    margin-top: var(--cpd-space-2x);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_LanguageDropdown .mx_Dropdown_option > div {
        text-transform: capitalize;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MiniAvatarUploader {
    position: relative;
    width: -webkit-min-content;
    width: -moz-min-content;
    width: min-content;
}

    .mx_MiniAvatarUploader .mx_MiniAvatarUploader_indicator {
        position: absolute;

        height: 16px;
        width: 16px;
        padding: 5px;

        right: -6px;
        bottom: -6px;

        background-color: var(--cpd-color-bg-canvas-default);
        border-radius: 50%;

        line-height: 0;
    }

        .mx_MiniAvatarUploader .mx_MiniAvatarUploader_indicator .mx_MiniAvatarUploader_cameraIcon {
            height: inherit;
            width: inherit;
            color: var(--cpd-color-text-secondary);
        }

.mx_MiniAvatarUploader_input {
    display: none;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Pill {
    padding: 0.0625rem 0.4em 0.0625rem 0.4em;
    line-height: 1.0625rem;
    border-radius: 1rem;
    vertical-align: text-top;
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 100%;
    overflow: hidden;
    cursor: pointer;

    color: var(--cpd-color-text-on-solid-primary) !important; /* To override .markdown-body */
    background-color: #2e80de !important;
    background-color: var(--cpd-color-bg-action-primary-rest) !important; /* To override .markdown-body */
    /* For enhanced visibility under contrast control */
    outline: 1px solid transparent;

    /* We don't want to indicate clickability */
}

    .mx_Pill > * {
        pointer-events: none;
    }

    .mx_Pill.mx_UserPill_me,
    .mx_Pill.mx_AtRoomPill,
    .mx_Pill.mx_KeywordPill {
        background-color: var(--cpd-color-bg-critical-primary) !important; /* To override .markdown-body */
    }

    .mx_Pill:hover {
        background-color: #3a8fe6 !important;
        background-color: var(--cpd-color-bg-action-primary-hovered) !important; /* To override .markdown-body */
    }

    .mx_Pill:active {
        background-color: #175fb0 !important;
        background-color: var(--cpd-color-bg-action-primary-pressed) !important; /* To override .markdown-body */
    }

    .mx_Pill.mx_UserPill_me:hover {
        background-color: var(
            --cpd-color-bg-critical-hovered
        ) !important; /* To override .markdown-body | same on both themes */
    }
    .mx_Pill.mx_AtRoomPill:hover,
    .mx_Pill.mx_KeywordPill:hover {
        background-color: var(--cpd-color-bg-critical-primary) !important; /* To override .markdown-body */
        cursor: inherit;
    }

    .mx_Pill::before,
    .mx_Pill .mx_BaseAvatar {
        -webkit-margin-start: -0.3em;
                margin-inline-start: -0.3em; /* Otherwise the gap is too large */
        -webkit-margin-end: 0.2em;
                margin-inline-end: 0.2em;
        min-width: 1rem; /* ensure the avatar is not compressed */
        -webkit-user-select: text;
           -moz-user-select: text;
            -ms-user-select: text;
                user-select: text;
        vertical-align: top;
    }

    .mx_Pill .mx_Pill_text {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    a.mx_Pill {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        text-decoration: none !important; /* To override .markdown-body */
    }

    .mx_Pill .mx_Pill_LinkIcon {
        background-color: var(--cpd-color-text-link-external);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        color: var(--cpd-color-bg-canvas-default);
        height: 16px;
        padding: 1px;
        width: 16px;
        border-radius: 50%;
    }

    .mx_Pill .mx_Pill_UserIcon {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        color: var(--cpd-color-text-secondary);
        height: 16px;
        width: 16px;
    }

    .mx_Pill.mx_SpacePill {
        border-top-left-radius: 8px;
        border-bottom-left-radius: 8px;
        padding-left: 4px;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PowerSelector {
    width: 100%;
}

.mx_PowerSelector .mx_Field select,
.mx_PowerSelector .mx_Field input {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

progress.mx_ProgressBar {
    height: 6px;
    width: 60px;
    overflow: hidden;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);

    border-radius: 6px;
}

    progress.mx_ProgressBar::-moz-progress-bar {
        border-radius: 6px;
    }

    progress.mx_ProgressBar::-webkit-progress-bar,
    progress.mx_ProgressBar::-webkit-progress-value {
        border-radius: 6px;
    }

    progress.mx_ProgressBar{
    color: var(--cpd-color-icon-accent-tertiary);
}
    progress.mx_ProgressBar::-moz-progress-bar {
        background-color: var(--cpd-color-icon-accent-tertiary);
    }
    progress.mx_ProgressBar::-webkit-progress-value {
        background-color: var(--cpd-color-icon-accent-tertiary);
    }
    progress.mx_ProgressBar{
    background-color: var(--cpd-color-gray-200);
}
    progress.mx_ProgressBar::-webkit-progress-bar {
        background-color: var(--cpd-color-gray-200);
    }
    progress.mx_ProgressBar::-webkit-progress-value {
        -webkit-transition: width 1s;
        transition: width 1s;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_QRCode img {
        border-radius: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2018 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReplyChain {
    margin: 0; /* Reset default blockquote margin */
    padding-left: 10px;
    border-left: 2px solid var(--username-color);
    border-radius: 2px;
}
        .mx_ReplyChain .mx_ReplyChain_show.mx_AccessibleButton_kind_link_inline {
            white-space: nowrap; /* Enforce 'In reply to' to be a single line */
            color: var(--cpd-color-text-secondary);
            -webkit-transition: color ease 0.15s;
            transition: color ease 0.15s;
            font-weight: var(--cpd-font-weight-regular);
            text-decoration: inherit;
        }

            .mx_ReplyChain .mx_ReplyChain_show.mx_AccessibleButton_kind_link_inline:hover {
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

    .mx_ReplyChain.mx_ReplyChain_color1 {
        --username-color: var(--cpd-color-text-decorative-1);
    }

    .mx_ReplyChain.mx_ReplyChain_color2 {
        --username-color: var(--cpd-color-text-decorative-2);
    }

    .mx_ReplyChain.mx_ReplyChain_color3 {
        --username-color: var(--cpd-color-text-decorative-3);
    }

    .mx_ReplyChain.mx_ReplyChain_color4 {
        --username-color: var(--cpd-color-text-decorative-4);
    }

    .mx_ReplyChain.mx_ReplyChain_color5 {
        --username-color: var(--cpd-color-text-decorative-5);
    }

    .mx_ReplyChain.mx_ReplyChain_color6 {
        --username-color: var(--cpd-color-text-decorative-6);
    }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ResizeHandle {
    cursor: row-resize;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    z-index: 100;
}

    .mx_ResizeHandle.mx_ResizeHandle--horizontal {
        margin: 0 -5px;
        padding: 0 5px;
        cursor: col-resize;
    }

        .mx_ResizeHandle.mx_ResizeHandle--horizontal > div {
            width: 1px;
            height: 100%;
        }

    .mx_ResizeHandle.mx_ResizeHandle--vertical {
        margin: -5px 0;
        padding: 5px 0;
    }

        .mx_ResizeHandle.mx_ResizeHandle--vertical > div {
            height: 1px;
        }
}
@layer app-web{
/* XXX: bleurgh, what is this? These classes totally break the component */
/* naming scheme; it's completely unclear where or how they're being used */
/* --Matthew */

.mx_Markdown_BOLD {
    font-weight: bold;
}

.mx_Markdown_ITALIC {
    font-style: italic;
    /*
    // interestingly, *not* using the explicit italic font
    // variant seems yield better results.

    // compensate for Nunito italics being terrible
    // https://github.com/google/fonts/issues/172
    transform: skewX(-14deg);
    display: inline-block;
    */
}

.mx_Markdown_CODE {
    padding: 0.2em 0;
    margin: 0;
    font-size: 85%;
    background-color: rgba(0, 0, 0, 0.04);
    border-radius: 3px;
}

.mx_Markdown_HR {
    display: block;
    background: #e9e9e9;
}

.mx_Markdown_STRIKETHROUGH {
    text-decoration: line-through;
}

.mx_Emoji {
    /* Should be 1.8rem for our default message bodies, and scale with the */
    /* surrounding text */
    font-size: max(1.125rem, 1em);
    vertical-align: bottom;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomAliasField {
    /* if parent is a flex container, this allows the */
    /* width to be as wide as needed, and not 100% */
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    min-width: 0;
    max-width: 100%;
}

    .mx_RoomAliasField input {
        width: 150px;
        padding-left: 0;
        padding-right: 0;
    }

    .mx_RoomAliasField input::-webkit-input-placeholder {
        color: var(--cpd-color-gray-900);
        font-weight: normal;
    }

    .mx_RoomAliasField input::-moz-placeholder {
        color: var(--cpd-color-gray-900);
        font-weight: normal;
    }

    .mx_RoomAliasField input:-ms-input-placeholder {
        color: var(--cpd-color-gray-900);
        font-weight: normal;
    }

    .mx_RoomAliasField input::-ms-input-placeholder {
        color: var(--cpd-color-gray-900);
        font-weight: normal;
    }

    .mx_RoomAliasField input::placeholder {
        color: var(--cpd-color-gray-900);
        font-weight: normal;
    }

    .mx_RoomAliasField .mx_Field_prefix,
    .mx_RoomAliasField .mx_Field_postfix {
        color: var(--cpd-color-gray-900);
        border-left: none;
        border-right: none;
        font-weight: var(--cpd-font-weight-semibold);
        padding: 9px 10px;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_RoomAliasField .mx_Field_postfix {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        /* this allows the domain name to show */
        /* as long as it doesn't make the input shrink */
        /* if it's too big, it shows an ellipsis */
        /* 180: 28 for prefix, 152 for input */
        max-width: calc(100% - 180px);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SSOButtons {
    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;
}

    .mx_SSOButtons .mx_SSOButtons_row + .mx_SSOButtons_row {
        margin-top: 16px;
    }

    .mx_SSOButtons .mx_SSOButton {
        position: relative;
        width: 100%;
        display: inline-block;
    }

        .mx_SSOButtons .mx_SSOButton svg,
        .mx_SSOButtons .mx_SSOButton img {
            width: 24px;
            height: 24px;
            -o-object-fit: contain;
               object-fit: contain;
            position: absolute;
            left: 8px;
            top: 4px;
            color: var(--cpd-color-icon-primary);
        }
        .mx_SSOButtons .mx_SSOButton_mini svg,
        .mx_SSOButtons .mx_SSOButton_mini img {
            /* 30px parent, 24px self */
            padding: 3px;
            position: static;
            position: initial;
        }

        .mx_SSOButtons .mx_SSOButton_mini + .mx_SSOButton_mini {
            margin-left: 16px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SearchWarning {
    text-align: center;
    padding: 0 16px;
}

    .mx_SearchWarning > * {
        vertical-align: middle;
    }

    .mx_SearchWarning > img {
        margin-right: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ServerPicker {
    margin-bottom: 14px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgb(141, 151, 165, 0.2);
    display: grid;
    grid-template-columns: auto -webkit-min-content;
    grid-template-columns: auto min-content;
    grid-template-rows: auto auto auto;
    font: var(--cpd-font-body-md-regular);
}

    .mx_ServerPicker > h2 {
        font-weight: var(--cpd-font-weight-semibold);
        margin: 0 0 20px;
        grid-column: 1;
        grid-row: 1;
    }

    .mx_ServerPicker .mx_ServerPicker_help {
        width: 24px;
        height: 24px;
        border-radius: 10px;
        grid-column: 2;
        grid-row: 1;
        margin-left: auto;
        margin-top: -2px;
        margin-right: -2px;
    }

        .mx_ServerPicker .mx_ServerPicker_help svg {
            width: inherit;
            height: inherit;
            color: var(--cpd-color-icon-tertiary);
        }

    .mx_ServerPicker .mx_ServerPicker_server {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        grid-column: 1;
        grid-row: 2;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-right: 8px;
    }

    .mx_ServerPicker .mx_ServerPicker_change {
        grid-column: 2;
        grid-row: 2;
    }

    .mx_ServerPicker .mx_ServerPicker_desc {
        margin-top: 4px;
        color: var(--cpd-color-gray-800);
        grid-column: 1 / 2;
        grid-row: 3;
    }
    .mx_ServerPicker_helpDialog .mx_Dialog_content {
        width: 456px;
    }
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsDropdown {
    margin-bottom: var(--cpd-space-1x);
    width: 100%;
}

    .mx_SettingsDropdown .mx_SettingsDropdown_label {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin: var(--cpd-space-1x) 0;
    }

    .mx_SettingsDropdown .mx_Dropdown_input {
        width: 360px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsFlag {
    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: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 4px;
    width: 100%;
}

    .mx_SettingsFlag .mx_ToggleSwitch {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }
        .mx_SettingsFlag.mx_SettingsFlag_toggleInFront .mx_ToggleSwitch {
            display: inline-block;
            vertical-align: middle;
            margin-right: 8px;
        }

        .mx_SettingsFlag.mx_SettingsFlag_toggleInFront .mx_SettingsFlag_label {
            display: inline-block;
            vertical-align: middle;
        }

.mx_SettingsFlag_label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    padding-right: 10px;
    padding-top: 4px;
}

.mx_SettingsFlag_microcopy {
    margin-top: 4px;
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);

    /* Support code/pre elements in settings flag descriptions */
}
    .mx_SettingsFlag_microcopy pre,
    .mx_SettingsFlag_microcopy code {
        font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
        font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
        background-color: rgba(0, 0, 0, 0.04);
    }

    .mx_SettingsFlag_microcopy .mx_SettingsTab_microcopy_warning::before {
        content: "⚠️ ";
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Spinner {
    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;
    width: 100%;
    height: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_MatrixChat_middlePanel .mx_Spinner {
    height: auto;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/**
* This component expects the parent to specify a positive padding and
* width
*/

.mx_StyledRadioButton {
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

    .mx_StyledRadioButton > .mx_StyledRadioButton_content {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;

        margin-left: 8px;
        margin-right: 8px;
    }

    .mx_StyledRadioButton .mx_StyledRadioButton_spacer {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;

        height: 1rem;
        width: 1rem;
    }

    .mx_StyledRadioButton input[type="radio"] {
        /* Remove the OS's representation */
        margin: 0;
        padding: 0;
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
    }

        .mx_StyledRadioButton input[type="radio"] + div {
            -ms-flex-negative: 0;
                flex-shrink: 0;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;

            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;

            -webkit-box-sizing: border-box;

                    box-sizing: border-box;
            height: 1rem;
            width: 1rem;
            margin-left: 2px; /* For the highlight on focus */

            border: 1px solid var(--cpd-color-border-interactive-primary);
            border-radius: 1rem;
        }

            .mx_StyledRadioButton input[type="radio"] + div > div {
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;

                height: 0.5rem;
                width: 0.5rem;

                border-radius: 0.5rem;
            }
            .mx_StyledRadioButton input[type="radio"]:focus-visible + div {
                outline-width: 2px;
                outline-style: solid;
                outline-color: Highlight;
                /* WebKit gets its native focus styles. */
            }
                @media (-webkit-min-device-pixel-ratio: 0) {
            .mx_StyledRadioButton input[type="radio"]:focus-visible + div {
        outline-color: -webkit-focus-ring-color;
        outline-style: auto;
            }
    }
            .mx_StyledRadioButton input[type="radio"]:checked + div {
                border-color: var(--cpd-color-bg-accent-rest);
            }

                .mx_StyledRadioButton input[type="radio"]:checked + div > div {
                    background: var(--cpd-color-bg-accent-rest);
                    /* For enhanced visibility under contrast control */
                    outline: 1px solid transparent;
                }
            .mx_StyledRadioButton input[type="radio"]:disabled + div,
            .mx_StyledRadioButton input[type="radio"]:disabled + div + span {
                opacity: 0.5;
                cursor: not-allowed;
            }

            .mx_StyledRadioButton input[type="radio"]:disabled + div {
                border-color: var(--cpd-color-border-interactive-primary);
            }
            .mx_StyledRadioButton input[type="radio"]:checked:disabled + div > div {
                background-color: var(--cpd-color-border-interactive-primary);
            }

    .mx_StyledRadioButton .mx_StyledRadioButton_innerLabel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        top: 4px;
    }

.mx_StyledRadioButton_outlined {
    border: 1px solid var(--cpd-color-gray-400);
    border-radius: 8px;
}

.mx_StyledRadioButton_checked {
    border-color: var(--cpd-color-bg-accent-rest);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Michael Telatynski <7t3chguy@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SyntaxHighlight {
    /* inhibit hljs styling */
    background: none !important;
    color: #747474 !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_TagComposer .mx_TagComposer_input {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }

        .mx_TagComposer .mx_TagComposer_input .mx_AccessibleButton {
            min-width: 70px;
            padding: 0 8px; /* override from button styles */
            -ms-flex-item-align: stretch;
                align-self: stretch; /* override default settingstab style */
        }

        .mx_TagComposer .mx_TagComposer_input .mx_Field,
        .mx_TagComposer .mx_TagComposer_input .mx_Field input,
        .mx_TagComposer .mx_TagComposer_input .mx_AccessibleButton {
            /* So they look related to each other by feeling the same */
            border-radius: 8px;
        }

    .mx_TagComposer .mx_TagComposer_tags {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        margin-top: 12px; /* this plus 12px from the tags makes 24px from the input */
    }

    .mx_TagComposer .mx_Tag {
        margin-right: 12px;
        margin-top: 12px;
    }

.mx_Tag {
    font-size: 0.9375rem;

    display: -webkit-inline-box;

    display: -ms-inline-flexbox;

    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    gap: 8px;
    padding: 8px;
    border-radius: 8px;

    color: #ffffff;

    color: var(--cpd-color-text-primary);
    background: var(--cpd-color-gray-400);
}

    .mx_Tag > svg:first-child {
        width: 1em;
        color: var(--cpd-color-text-secondary);
        -webkit-transform: scale(1.25);
                transform: scale(1.25);
        -webkit-transform-origin: center;
                transform-origin: center;
    }

    .mx_Tag .mx_Tag_delete {
        border-radius: 50%;
        text-align: center;
        width: 1.066666em; /* 16px; */
        height: 1.066666em;
        line-height: 1em;
        color: var(--cpd-color-text-secondary);
        background: var(--cpd-color-bg-subtle-primary);
        position: relative;
    }

        .mx_Tag .mx_Tag_delete svg {
            width: 16px;
            height: 16px;
        }
}
@layer app-web{
/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
.mx_TextWithTooltip_target {
    display: inline;
}

.mx_TextWithTooltip_tooltip {
    display: none;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ToggleSwitch {
    --ToggleSwitch-min-width: 2.75rem;

    -webkit-transition:
        background-color 0.2s ease-out 0.1s,
        border-color 0.2s ease-out 0.1s;

    transition:
        background-color 0.2s ease-out 0.1s,
        border-color 0.2s ease-out 0.1s;

    width: 2.75rem;
    height: 1.25rem;
    border-radius: 1.5rem;
    padding: 2px;

    background-color: var(--cpd-color-bg-canvas-disabled);
    border: 1px solid var(--cpd-color-border-disabled);
    cursor: not-allowed;
}

    .mx_ToggleSwitch.mx_ToggleSwitch_enabled {
        cursor: pointer;
        background-color: var(--cpd-color-bg-canvas-default);
        border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-primary);
    }

        .mx_ToggleSwitch.mx_ToggleSwitch_enabled.mx_ToggleSwitch_on {
            background-color: var(--cpd-color-bg-accent-rest);
            border-color: var(--cpd-color-bg-accent-rest);
        }

        .mx_ToggleSwitch.mx_ToggleSwitch_enabled > .mx_ToggleSwitch_ball {
            background-color: var(--cpd-color-icon-secondary);
        }

    .mx_ToggleSwitch.mx_ToggleSwitch_on {
        background-color: var(--cpd-color-bg-action-primary-disabled);
        border-color: var(--cpd-color-bg-action-primary-disabled);
    }

        .mx_ToggleSwitch.mx_ToggleSwitch_on > .mx_ToggleSwitch_ball {
            left: calc(100% - 1.25rem);
            background-color: var(--cpd-color-icon-on-solid-primary);
        }

.mx_ToggleSwitch_ball {
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 1.25rem;
    background-color: var(--cpd-color-bg-action-primary-disabled);
    -webkit-transition:
        left 0.15s ease-out 0.1s,
        background-color 0.15s ease-out 0.1s;
    transition:
        left 0.15s ease-out 0.1s,
        background-color 0.15s ease-out 0.1s;
    left: 0;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Validation {
    position: relative;
    max-width: 200px;
}

.mx_Validation_details {
    padding-left: 0;
    margin: 0;
}

.mx_Validation_description + .mx_Validation_details {
    margin: 1em 0 0;
}

.mx_Validation_detail {
    font-weight: normal;
    list-style: none;
    margin-bottom: 0.5em;
}

    .mx_Validation_detail:last-child {
        margin-bottom: 0;
    }

    .mx_Validation_detail svg {
        width: 14px;
        height: 14px;
        margin-right: var(--cpd-space-1x);
        vertical-align: text-bottom;
    }

    .mx_Validation_detail.mx_Validation_valid {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }

    .mx_Validation_detail.mx_Validation_invalid {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 Tulir Asokan <tulir@maunium.net>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EmojiPicker {
    width: 340px;
    height: min(450px, 80vh);
    max-height: 80vh;

    border-radius: 4px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_EmojiPicker_body {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow-y: scroll;
    scrollbar-width: thin;
    scrollbar-color: rgb(0, 0, 0, 0.2) transparent;
}

.mx_EmojiPicker_header {
    padding: 4px 8px 0;
    border-bottom: 1px solid #e9edf1;
}

.mx_EmojiPicker_anchor {
    border: none;
    padding: var(--cpd-space-1x) 0;
    /* We have to explicitly inherit the font as button browser styles are implicitly ignorant */
    font: inherit;
    font-size: 1.25rem;
    line-height: 1;
    border-bottom: 2px solid transparent;
    background-color: transparent;
    border-radius: 4px 4px 0 0;

    width: 36px;
    height: 36px;

    color: #ffffff;

    color: var(--cpd-color-text-primary);
    display: inline-block;
}

    .mx_EmojiPicker_anchor:not(:disabled) {
        cursor: pointer;
    }
    .mx_EmojiPicker_anchor:disabled {
        -webkit-filter: opacity(0.3);
                filter: opacity(0.3);
    }

    .mx_EmojiPicker_anchor:not(:disabled):hover {
        background-color: var(--cpd-color-bg-subtle-primary);
        border-bottom: 2px solid #2e80de;
        border-bottom: 2px solid var(--cpd-color-text-action-accent);
    }

.mx_EmojiPicker_anchor_visible {
    border-bottom: 2px solid #2e80de;
    border-bottom: 2px solid var(--cpd-color-text-action-accent);
}

.mx_EmojiPicker_search {
    margin: 8px;
    border-radius: 4px;
    border: 1px solid var(--cpd-color-text-secondary);
    background-color: var(--cpd-color-bg-canvas-default);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

    .mx_EmojiPicker_search input {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        border: none;
        padding: 8px 12px;
        border-radius: 4px 0;
    }

        .mx_EmojiPicker_search input::-webkit-input-placeholder {
            color: var(--cpd-color-text-secondary);
        }

        .mx_EmojiPicker_search input::-moz-placeholder {
            color: var(--cpd-color-text-secondary);
        }

        .mx_EmojiPicker_search input:-ms-input-placeholder {
            color: var(--cpd-color-text-secondary);
        }

        .mx_EmojiPicker_search input::-ms-input-placeholder {
            color: var(--cpd-color-text-secondary);
        }

        .mx_EmojiPicker_search input::placeholder {
            color: var(--cpd-color-text-secondary);
        }

    .mx_EmojiPicker_search button {
        border: none;
        background-color: inherit;
        margin: 0;
        padding: 8px;
        -ms-flex-item-align: center;
            align-self: center;
        width: 32px;
        height: 32px;
        cursor: pointer;
    }

        .mx_EmojiPicker_search button svg {
            width: 100%;
            height: 100%;
        }

.mx_EmojiPicker_search_icon {
    width: 18px;
    margin: 8px;
}

    .mx_EmojiPicker_search_icon svg {
        width: 100%;
        height: 100%;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

.mx_EmojiPicker_category {
    padding: 0 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_EmojiPicker_category_label {
    width: 304px;
    font: var(--cpd-font-heading-sm-semibold);
}

.mx_EmojiPicker_list {
    width: 304px;
    padding: 0;
    margin: 0;
}

.mx_EmojiPicker_item_wrapper {
    display: inline-block;
    list-style: none;
    width: 38px;
    cursor: pointer;
}

    .mx_EmojiPicker_item_wrapper:focus-within {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_EmojiPicker_body_showHighlight .mx_EmojiPicker_item_wrapper [tabindex="0"] .mx_EmojiPicker_item {
    background-color: var(--cpd-color-bg-subtle-primary);
}

.mx_EmojiPicker_item {
    display: inline-block;
    font-size: 1.25rem;
    padding: 5px;
    width: 100%;
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    border-radius: 4px;
}

    .mx_EmojiPicker_item:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_EmojiPicker_item_selected {
    color: rgb(0, 0, 0, 0.5);
    border: 1px solid #2e80de;
    border: 1px solid var(--cpd-color-text-action-accent);
    padding: 4px;
}

.mx_EmojiPicker_category_label,
.mx_EmojiPicker_preview_name {
    font-size: 1rem;
    font-weight: var(--cpd-font-weight-semibold);
    margin: 0;
}

.mx_EmojiPicker_footer {
    border-top: 1px solid #e9edf1;
    min-height: 72px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_EmojiPicker_preview_emoji {
    font-size: 2rem;
    padding: 8px 16px;
}

.mx_EmojiPicker_preview_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: hidden;
    padding-top: 1rem;
    padding-bottom: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_EmojiPicker_name {
    text-transform: capitalize;
}

.mx_EmojiPicker_shortcode {
    color: #747474;
    overflow-wrap: break-word;
    font: var(--cpd-font-body-md-regular);
}

    .mx_EmojiPicker_shortcode::before,
    .mx_EmojiPicker_shortcode::after {
        content: ":";
    }

.mx_EmojiPicker_quick {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-pack: distribute;
        justify-content: space-around;
}

.mx_EmojiPicker_quick_header .mx_EmojiPicker_name {
    margin-right: 4px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LocationPicker {
    border-radius: 8px;

    height: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    /* when there are errors loading the map */
    /* the canvas is still inserted */
    /* and can overlap error message/close buttons */
    /* hide it */
}
        .mx_LocationPicker.mx_LocationPicker_hasError .maplibregl-canvas-container,
        .mx_LocationPicker.mx_LocationPicker_hasError .maplibregl-control-container {
            display: none;
        }

    .mx_LocationPicker #mx_LocationPicker_map {
        border-top-left-radius: inherit;
        border-top-right-radius: inherit;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

        .mx_LocationPicker #mx_LocationPicker_map .maplibregl-ctrl.maplibregl-ctrl-group,
        .mx_LocationPicker #mx_LocationPicker_map .maplibregl-ctrl.maplibregl-ctrl-attrib {
            margin-right: 16px;
        }

        .mx_LocationPicker #mx_LocationPicker_map .maplibregl-ctrl.maplibregl-ctrl-group {
            /* place below the close button */
            /* padding-16 + 24px close button + padding-10 */
            margin-top: 50px;
        }

        .mx_LocationPicker #mx_LocationPicker_map .maplibregl-user-location-accuracy-circle {
            display: none;
        }

        .mx_LocationPicker #mx_LocationPicker_map .maplibregl-user-location-dot {
            display: none;
        }

    .mx_LocationPicker .mx_LocationPicker_footer {
        -webkit-box-flex: 0;
            -ms-flex: 0;
                flex: 0;
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 16px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: stretch;
            -ms-flex-pack: stretch;
                justify-content: stretch;

        border-bottom-left-radius: inherit;
        border-bottom-right-radius: inherit;

        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_LocationPicker_pinText {
    position: absolute;
    top: 16px;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    height: 0;
    pointer-events: none;
}

    .mx_LocationPicker_pinText span {
        -webkit-box-shadow: 0px 4px 15px rgb(0, 0, 0, 0.15);
                box-shadow: 0px 4px 15px rgb(0, 0, 0, 0.15);
        border-radius: 8px;
        padding: 8px;
        background-color: var(--cpd-color-bg-canvas-default);
        color: #ffffff;
        color: var(--cpd-color-text-primary);

        font-size: 0.75rem;
    }

.mx_LocationPicker_submitButton {
    width: 100%;
    height: 48px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CallEvent_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.mx_CallEvent {
    padding: 12px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-height: 60px;
    max-width: 600px;
    width: 100%;
    background-color: var(--cpd-color-bg-subtle-primary);
    border-radius: 8px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    gap: 8px;
}

    .mx_CallEvent > .mx_BaseAvatar,
    .mx_CallEvent > .mx_Icon {
        -ms-flex-item-align: start;
            align-self: flex-start;
    }

    .mx_CallEvent > .mx_Icon {
        padding: 0;
        margin: 4px 0;
        color: var(--cpd-color-text-secondary);
    }

    .mx_CallEvent .mx_LiveContentSummary {
        font-size: 0.75rem;
    }

    .mx_CallEvent{

    --facepile-background: var(--cpd-color-bg-subtle-primary);
}

.mx_CallEvent_title {
    font-size: 0.9375rem;
    line-height: 24px; /* in px to match the avatar */
}

.mx_CallEvent_inactive .mx_CallEvent_title svg {
    display: inline-block;
    vertical-align: middle;
    color: var(--cpd-color-text-secondary);
    width: 16px;
    height: 16px;
    margin-right: 8px;
}

.mx_CallEvent_active .mx_CallEvent_title {
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_CallEvent_columns {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.mx_TimelineCard .mx_CallEvent_columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8px;
}

.mx_CallEvent_details {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6px;
}

.mx_CallEvent_button {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-width: 120px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2018-2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTileBubble.mx_CreateEvent {
    margin: 10px auto;
    margin: var(--EventTileBubble_margin-block) auto;
}

    .mx_EventTileBubble.mx_CreateEvent svg {
        color: #91a1c0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/** Disambiguated profile needs to have a different layout in the member tile */
.mx_MemberTileView .mx_DisambiguatedProfile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

    .mx_MemberTileView .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
        -webkit-margin-start: 0;
                margin-inline-start: 0;
        font: var(--cpd-font-body-sm-regular);
        text-overflow: ellipsis;
        overflow: hidden;
    }

    .mx_MemberTileView .mx_DisambiguatedProfile span:not(.mx_DisambiguatedProfile_mxid) {
        /**
        In a member tile, this span element is a flex child and so
        we need the following for text overflow to work.
        **/
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallEvent_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

    .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 4px 0;

        position: relative;
        margin: 4px 0;
        padding: 12px 24px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--cpd-color-bg-subtle-secondary);
        border-radius: 8px;
        width: 65%;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
    }

        .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_iconButton {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
        }

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_iconButton svg {
                height: 16px;
                width: 16px;
                color: var(--cpd-color-text-secondary);
            }

        .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info {
            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;
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            max-width: 100%;
        }

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info .mx_LegacyCallEvent_info_basic {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
                gap: 4px;
                margin-left: 10px; /* To match mx_LegacyCallEvent */
                margin-right: 10px;
                min-width: 0;
            }

                .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info .mx_LegacyCallEvent_info_basic .mx_LegacyCallEvent_sender {
                    font-weight: var(--cpd-font-weight-semibold);
                    margin-bottom: 4px;

                    overflow: hidden;
                    white-space: nowrap;
                    text-overflow: ellipsis;
                }

                .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_info .mx_LegacyCallEvent_info_basic .mx_LegacyCallEvent_type {
                    font-weight: 400;
                    color: var(--cpd-color-text-secondary);
                }

        .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            color: var(--cpd-color-text-secondary);
            font-size: 0.75rem;
            gap: 12px; /* See mx_IncomingLegacyCallToast_buttons */
            -webkit-margin-start: 42px;
                    margin-inline-start: 42px; /* avatar (32px) + mx_LegacyCallEvent_info_basic margin (10px) */
            word-break: break-word;
            max-width: -webkit-fit-content;
            max-width: -moz-fit-content;
            max-width: fit-content;
        }

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button {
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                font-weight: var(--cpd-font-weight-semibold);
                height: 1.5rem;
                line-height: 1.5rem;
                margin-right: 0;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }
                .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button svg {
        width: 16px;
        height: 16px;
        display: inline-block;
        color: var(--cpd-color-bg-canvas-default);
        margin-right: 8px;
        vertical-align: middle;
    }
                .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_button{
                padding: 0 12px;
                font-size: inherit;
}

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent .mx_LegacyCallEvent_content .mx_LegacyCallEvent_content_tooltip {
                margin-right: 5px;
            }

        .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-align: initial;
                -ms-flex-align: initial;
                    align-items: initial;
            gap: 4px 16px;
            height: auto;
            height: initial;
            min-width: 290px;
        }

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow .mx_LegacyCallEvent_iconButton {
                position: absolute;
                margin-right: 0;
                top: 12px;
                right: 12px;
                height: 16px;
                width: 16px;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
            }

            .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow .mx_LegacyCallEvent_info {
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }

.mx_LegacyCallEvent_type_icon {
    height: 16px;
    width: 16px;
    margin-right: 6px;
    display: inline-block;
    vertical-align: -2px;
}

    .mx_LegacyCallEvent_type_icon svg {
        position: absolute;
        height: inherit;
        width: inherit;
        color: var(--cpd-color-gray-800);
    }
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_e2eIcon + .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
            position: relative;

            /* 5px (gap) + 14px (e2e icon size * mask-size) + 9px (margin-left of e2e icon) */
            right: calc(5px + 14px + 9px);
        }
            .mx_EventTile_leftAlignedBubble .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent.mx_LegacyCallEvent_narrow {
                gap: 8px 4px;
            }
        .mx_IRCLayout .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
            -webkit-margin-start: 4px;
                    margin-inline-start: 4px; /* display green line */
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 Tulir Asokan <tulir@maunium.net>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_MImageReplyBody .mx_MImageBody_banner, .mx_MStickerBody_wrapper .mx_MImageBody_banner {
        position: absolute;
        bottom: 4px;
        left: 4px;
        padding: 4px;
        border-radius: 8px;
        border-radius: var(--MBody-border-radius);
        font-size: 0.9375rem;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        pointer-events: none;
        max-width: min(100%, 350px);
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        background-color: rgb(0, 0, 0, 0.6);
        color: #ffffff;
    }

    .mx_MImageReplyBody .mx_MImageBody_placeholder, .mx_MStickerBody_wrapper .mx_MImageBody_placeholder {
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        background-color: var(--cpd-color-bg-canvas-default);
    }

        .mx_MImageReplyBody .mx_MImageBody_placeholder .mx_Blurhash > canvas, .mx_MStickerBody_wrapper .mx_MImageBody_placeholder .mx_Blurhash > canvas {
            -webkit-animation: mx--anim-pulse 1.75s infinite cubic-bezier(0.4, 0, 0.6, 1);
                    animation: mx--anim-pulse 1.75s infinite cubic-bezier(0.4, 0, 0.6, 1);
        }

    .mx_MImageReplyBody .mx_MImageBody_thumbnail_container, .mx_MStickerBody_wrapper .mx_MImageBody_thumbnail_container {
        border-radius: 8px;
        border-radius: var(--MBody-border-radius);
        overflow: hidden;
        contain: paint;
    }

    .mx_MImageReplyBody .mx_MImageBody_thumbnail, .mx_MStickerBody_wrapper .mx_MImageBody_thumbnail {
        display: block;
        height: 100%;
        width: 100%;
    }

    .mx_MImageReplyBody .mx_MImageBody_gifLabel, .mx_MStickerBody_wrapper .mx_MImageBody_gifLabel {
        position: absolute;
        display: block;
        top: 0px;
        left: 14px;
        padding: 5px;
        border-radius: 5px;
        background: rgba(0, 0, 0, 0.7);
        border: 2px solid rgba(0, 0, 0, 0.2);
        color: #f4f6fa;
        pointer-events: none;
    }

.mx_MImageReplyBody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
}

    .mx_MImageReplyBody .mx_MImageBody_thumbnail_container {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        min-width: 0; /* Prevent a blowout */
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MLocationBody {
    max-width: 100%;
}

    .mx_MLocationBody .mx_MLocationBody_map {
        max-width: 100%;
        width: 450px;
        height: 300px;
        z-index: 0; /* keeps the entire map under the message action bar */

        border-radius: 8px;

        border-radius: var(--MBody-border-radius);
        cursor: pointer;
    }

/* In the timeline, we fit the width of the container */
.mx_EventTile_line .mx_MLocationBody .mx_MLocationBody_map {
    max-width: 450px;
    width: 100%;
}

.mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MLocationBody .mx_MLocationBody_map {
    max-width: 100%;
    width: 450px;
}

.mx_DisambiguatedProfile ~ .mx_MLocationBody {
    margin-top: 6px; /* See: https://github.com/matrix-org/matrix-react-sdk/pull/8442 */
}

.mx_ReplyTile .mx_MLocationBody {
    /* Prevent clicking a location within a reply */
    pointer-events: none;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MPollBody {
    margin-top: var(--cpd-space-2x);
    min-width: 0; /* Override fieldset default min-width: min-content */
    width: 100%; /* Ensure fieldset takes full available width */
    border: none; /* Remove default fieldset border */
    padding: 0; /* Remove default fieldset padding */
}

    .mx_MPollBody legend {
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        margin-top: 0;
        margin-bottom: var(--cpd-space-2x);
        letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--cpd-space-3x);
    }

        .mx_MPollBody legend svg {
            -ms-flex-negative: 0;
                flex-shrink: 0;
            color: var(--cpd-color-icon-primary);
        }

        .mx_MPollBody legend .mx_MPollBody_edited {
            color: var(--cpd-color-text-secondary);
            font-size: 0.75rem;
            opacity: 0.6;
        }

    .mx_MPollBody .mx_MPollBody_totalVotes {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: inline;
                flex-direction: inline;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: start;
        color: var(--cpd-color-text-secondary);
        font-size: 0.75rem;
    }

        .mx_MPollBody .mx_MPollBody_totalVotes .mx_Spinner {
            -webkit-box-flex: 0;
                -ms-flex: 0;
                    flex: 0;
            margin-left: 8px;
        }

/* Prevent clicking a poll within a reply */
.mx_ReplyTile .mx_MPollBody {
    pointer-events: none;
}

.mx_MPollBody_allOptions {
    display: grid;
    grid-gap: 16px;
    gap: 16px;
    margin-bottom: 8px;
    max-width: 550px;
}
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MStickerBody_wrapper {
    padding: 12px 0px;
}

.mx_MStickerBody_hidden {
    max-width: 220px;
    text-decoration: none;
    text-align: center;

    /* To center the text in the middle of the frame */
    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;
}

.mx_MStickerBody_placeholder {
    /* centering */
    position: absolute;
    left: calc(50% - 40px);
    top: calc(50% - 40px);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageActionBar {
    --MessageActionBar-size-button: 28px;
    --MessageActionBar-size-margin: 3px;

    position: absolute;
    top: calc(
        -1 *
            (
                28px + 2 *
                    (3px + var(--cpd-border-width-1))
            )
    );
    top: calc(
        -1 *
            (
                var(--MessageActionBar-size-button) + 2 *
                    (var(--MessageActionBar-size-margin) + var(--cpd-border-width-1))
            )
    );
    right: 8px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    /* Ensure the action bar appears above other things like the read marker */
    /* and sender avatar (for small screens) */
    z-index: 10;

    /* Adds a previous event safe area so that you can't accidentally hover the */
    /* previous event while trying to mouse into the action bar or from the */
    /* react button to its tooltip. */
}
    .mx_MessageActionBar::before {
        content: "";
        position: absolute;
        /* tooltip safe mousing area + tooltip overhang + */
        /* action bar + action bar offset from event */
        width: calc(10px + 48px + 100% + 8px);
        /* safe area + action bar */
        height: calc(20px + 100%);
        top: -12px;
        left: -58px;
        z-index: -1;
        cursor: auto;
        cursor: initial;

        /* stylelint-disable-next-line max-line-length */
    }
        .mx_GenericEventListSummary[data-layout="bubble"]
            .mx_GenericEventListSummary_toggle
            ~ .mx_GenericEventListSummary_unstyledList
            .mx_EventTile_info:first-of-type
            .mx_MessageActionBar::before {
            /* improve clickability of "collapse" link button on bubble layout by reducing width and height values */
            /* mx_GenericEventListSummary_toggle ~: to apply rules to action bar when "collapse" button is available */
            /* mx_EventTile_info:first-of-type: to apply rules to the info event tile just under "collapse" button */
            /* TODO: use a new class name instead */
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }

        .mx_EventTile_info .mx_ViewSourceEvent ~ .mx_MessageActionBar::before {
            /* improve clickability of view source event toggle button by removing vertical safe area */
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_TextualEvent a {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }

    .mx_RoomView_searchResultsPanel .mx_TextualEvent {
        opacity: 1;
        opacity: initial; /* Unset the opacity value specified above on the search results panel */
    }

.mx_TextualBody_urlPreviews {
    /* Let shared-components own preview link colours instead of the app-wide anchor colour. */
}
    .mx_TextualBody_urlPreviews a:where(:not([data-kind])):hover,
    .mx_TextualBody_urlPreviews a:where(:not([data-kind])):link,
    .mx_TextualBody_urlPreviews a:where(:not([data-kind])):visited {
        color: revert-layer;
    }
}
@layer app-web{

/*
 * Copyright 2026 Element Creations Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_ThreadActionBar {
    position: absolute;
    visibility: hidden;
    top: calc(-1 * (28px + 2 * (3px + var(--cpd-border-width-1))));
    right: 8px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    /* Ensure the action bar appears above other things like the read marker */
    /* and sender avatar (for small screens) */
    z-index: 10;

    /* Adds a previous event safe area so that you can't accidentally hover the */
    /* previous event while trying to mouse into the action bar or from the */
    /* react button to its tooltip. */
}
    .mx_ThreadActionBar::before {
        content: "";
        position: absolute;
        /* tooltip safe mousing area + tooltip overhang + */
        /* action bar + action bar offset from event */
        width: calc(10px + 48px + 100% + 8px);
        /* safe area + action bar */
        height: calc(20px + 100%);
        top: -12px;
        left: -58px;
        z-index: -1;
        cursor: auto;
        cursor: initial;

        /* stylelint-disable-next-line max-line-length */
    }
        .mx_GenericEventListSummary[data-layout="bubble"]
            .mx_GenericEventListSummary_toggle
            ~ .mx_GenericEventListSummary_unstyledList
            .mx_EventTile_info:first-of-type
            .mx_ThreadActionBar::before {
            /* improve clickability of "collapse" link button on bubble layout by reducing width and height values */
            /* mx_GenericEventListSummary_toggle ~: to apply rules to action bar when "collapse" button is available */
            /* mx_EventTile_info:first-of-type: to apply rules to the info event tile just under "collapse" button */
            /* TODO: use a new class name instead */
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }

        .mx_EventTile_info .mx_ViewSourceEvent ~ .mx_ThreadActionBar::before {
            /* improve clickability of view source event toggle button by removing vertical safe area */
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTileBubble.mx_cryptoEvent {
    margin: 10px auto;
    margin: var(--EventTileBubble_margin-block) auto;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollHistory_content {
    height: 600px;
    width: 100%;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_PollHistory_header.mx_Heading_h2 {
    margin-bottom: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PollHistoryList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    max-height: 100%;
}

.mx_PollHistoryList_list {
    overflow: auto;
    list-style: none;
    margin-block: 0;
    padding-inline: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    display: grid;
    grid-gap: 20px;
    gap: 20px;
    padding-right: 64px;
    margin: 32px 0;
}

    .mx_PollHistoryList_list.mx_PollHistoryList_list_ENDED {
        gap: 32px;
    }

.mx_PollHistoryList_noResults {
    height: 100%;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 64px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;

    line-height: 1.5rem;
    color: var(--cpd-color-text-secondary);
}

    .mx_PollHistoryList_noResults .mx_PollHistoryList_loadMorePolls {
        margin-top: 16px;
    }

.mx_PollHistoryList_loading {
    color: var(--cpd-color-text-secondary);
    text-align: center;

    /* center in all free space*/
    /* when there are no results*/
}
    .mx_PollHistoryList_loading.mx_PollHistoryList_noResultsYet {
        margin: auto auto;
    }

.mx_PollHistoryList_loadMorePolls {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BaseCard {
    --BaseCard_EventTile_line-padding-block: 2px;
    --BaseCard_EventTile-spacing-inline: 36px;
    --BaseCard_header-button-size: 28px;

    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: var(--cpd-font-size-body-md);
}

    .mx_BaseCard .mx_BaseCard_header {
        height: 64px;
        padding: var(--cpd-space-4x);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        /* changing the color from $separator to transparent as it is
           the best visual output during the transition period. This will be
           reintroduced at a later stage. */
        border-bottom: 1px solid transparent;
        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;
        gap: var(--cpd-space-3x);
        -ms-flex-negative: 0;
            flex-shrink: 0;
        -webkit-border-after: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
                border-block-end: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
    }

        .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_spacer {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

        .mx_BaseCard .mx_BaseCard_header > h2 {
            margin: 0 44px;
            font: var(--cpd-font-body-sm-semibold);
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title {
            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;
            height: 24px;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

            .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_heading {
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
                font: var(--cpd-font-body-md-medium);
                color: var(--cpd-color-text-secondary);
            }

            .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_button--option {
                position: relative;
                width: calc(var(--BaseCard_header-button-size) - 4px);
                height: calc(var(--BaseCard_header-button-size) - 4px);
                padding: 2px;
            }

                .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_button--option svg {
                    width: inherit;
                    height: inherit;
                    display: block;
                    color: var(--cpd-color-text-secondary);
                }

                .mx_BaseCard .mx_BaseCard_header .mx_BaseCard_header_title .mx_BaseCard_header_title_button--option:hover svg {
                    color: #ffffff;
                    color: var(--cpd-color-text-primary);
                }

    .mx_BaseCard .mx_AutoHideScrollbar {
        min-height: 0;
        width: 100%;
        height: 100%;
        scrollbar-gutter: stable;
    }

    .mx_BaseCard .mx_BaseCard_footer {
        padding-top: 4px;
        text-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    }

        .mx_BaseCard .mx_BaseCard_footer .mx_AccessibleButton_kind_secondary {
            color: var(--cpd-color-text-secondary);
            background-color: rgb(141, 151, 165, 0.2);
            font: var(--cpd-font-body-md-semibold);
        }

        .mx_BaseCard .mx_BaseCard_footer .mx_AccessibleButton_disabled {
            cursor: not-allowed;
        }
    .mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu {
        position: static;
        position: initial;
    }

        .mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu span:first-of-type {
            font-weight: var(--cpd-font-weight-semibold);
            font-size: inherit;
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

        .mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu{

        font: var(--cpd-font-body-sm-regular);
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        padding-top: 10px;
        padding-bottom: 10px;

        border: var(--cpd-border-width-1) solid var(--cpd-color-border-interactive-secondary);
        -webkit-box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
                box-shadow: 0px 4px 24px rgb(0, 0, 0, 0.1);
}

    .mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu_chevron_top {
        left: auto;
        right: 22px;
        border-bottom-color: var(--cpd-color-border-interactive-secondary);
    }

        .mx_ContextualMenu_wrapper.mx_BaseCard_header_title .mx_ContextualMenu_chevron_top::after {
            content: "";
            border: inherit;
            border-bottom-color: var(--cpd-color-bg-canvas-default);
            position: absolute;
            top: 1px;
            left: -8px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EmptyState {
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: var(--cpd-space-4x);
    text-align: center;
}

    .mx_EmptyState svg {
        width: 56px;
        height: 56px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border-radius: 8px;
        padding: var(--cpd-space-3x);
        background-color: var(--cpd-color-alpha-gray-300);
    }

    .mx_EmptyState::before {
        /* Bloom using magic numbers directly out of Figma */
        content: "";
        position: absolute;
        z-index: -1;
        width: 642px;
        height: 775px;
        right: -253.77px;
        top: 0;
        background: radial-gradient(49.95% 49.95% at 50% 50%, rgb(13, 189, 139, 0.12) 0%, rgb(18, 115, 235, 0) 100%);
        -webkit-transform: rotate(-89.69deg);
                transform: rotate(-89.69deg);
        overflow: hidden;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_EncryptionInfo_spinner .mx_Spinner {
        margin-top: 25px;
        margin-bottom: 15px;
    }
    .mx_EncryptionInfo_spinner{

    text-align: center;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ExtensionsCard {
    --cpd-separator-spacing: var(--cpd-space-6x);
    --AddExtension-overlap: -76px;

    /* Set layout for everyone button */
}
    .mx_ExtensionsCard .mx_AutoHideScrollbar {
        padding: 0 var(--cpd-space-4x);
        margin-top: var(--cpd-space-6x);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;

        /* Styling for the "Add extensions" button */
    }
        .mx_ExtensionsCard .mx_AutoHideScrollbar > button {
            width: 100%;
        }

    .mx_ExtensionsCard .mx_ExtensionsCard_container {
        text-align: center;
        margin: 20px var(--cpd-space-4x) 0;
    }

    .mx_ExtensionsCard .mx_ExtensionsCard_Button {
        /* this button is special so we have to override some of the original styling */
        /* as we will be applying it in its children */
        padding: 0;
        height: auto;
        color: var(--cpd-color-gray-800);
        position: relative;
    }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_WidgetAvatar {
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_icon_app {
            padding: var(--cpd-space-2x) var(--cpd-space-12x) var(--cpd-space-2x) var(--cpd-space-3x);
            text-overflow: ellipsis;
            overflow: hidden;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

            .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_icon_app p {
                margin: 0 var(--cpd-space-3x);
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle,
        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options {
            position: absolute;
            top: 0;
            height: 100%; /* to give bigger interactive zone */
            width: 24px;
            padding: var(--cpd-space-3x) var(--cpd-space-1x);
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

            .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle svg, .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options svg {
                width: 16px;
                height: 16px;
                color: var(--cpd-color-icon-tertiary);
            }
                .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle:hover::after, .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options:hover::after {
                    content: "";
                    position: absolute;
                    height: 24px;
                    width: 24px;
                    top: var(--cpd-space-2x); /* equal to padding-top of parent */
                    left: 0;
                    border-radius: 12px;
                    background-color: rgb(141, 151, 165, 0.1);
                }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_pinToggle {
            right: 8px;
        }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button .mx_ExtensionsCard_app_options {
            right: 32px; /* 24 + 8 */
        }
            .mx_ExtensionsCard .mx_ExtensionsCard_Button.mx_ExtensionsCard_Button_pinned::after {
                opacity: 0.2;
            }

            .mx_ExtensionsCard .mx_ExtensionsCard_Button.mx_ExtensionsCard_Button_pinned .mx_ExtensionsCard_app_pinToggle svg {
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button::before {
            content: normal;
            content: initial;
        }

        .mx_ExtensionsCard .mx_ExtensionsCard_Button::after {
            top: var(--cpd-space-2x); /* re-align based on the height change */
            pointer-events: none; /* pass through to the real button */
        }
    .mx_ExtensionsCard a[data-kind="primary"] {
        margin-top: var(--cpd-space-10x);
    }

    .mx_ExtensionsCard .mx_EmptyState::before {
        /* Overlap the Add extensions button */
        top: var(--AddExtension-overlap);
    }

    .mx_ExtensionsCard .mx_EmptyState {
        /* Stop empty state scrolling */
        height: calc(100% + var(--AddExtension-overlap));
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PinnedMessagesCard {
    --unpin-height: 76px;
}

    .mx_PinnedMessagesCard .mx_PinnedMessagesCard_wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: var(--cpd-space-4x);
        gap: var(--cpd-space-6x);
        overflow-y: auto;
    }

        .mx_PinnedMessagesCard .mx_PinnedMessagesCard_wrapper .mx_PinnedMessagesCard_Separator {
            min-height: 1px;
            /* Override default compound value */
            margin-block: 0;
        }

    .mx_PinnedMessagesCard .mx_PinnedMessagesCard_wrapper_unpin_all {
        /* Remove the unpin all button height and the top and bottom padding  */
        height: calc(100% - var(--unpin-height) - calc(var(--cpd-space-4x) * 2));
    }

    .mx_PinnedMessagesCard .mx_PinnedMessagesCard_unpin {
        /* Make it float at the bottom of the unpin panel */
        position: absolute;
        bottom: 0;
        width: 100%;
        height: var(--unpin-height);
        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;
        -webkit-box-shadow: 0 4px 24px 0 rgb(27, 29, 34, 0.1);
                box-shadow: 0 4px 24px 0 rgb(27, 29, 34, 0.1);
        background: var(--cpd-color-bg-canvas-default);
    }

    .mx_PinnedMessagesCard .mx_EventTile_body {
        word-break: break-word;
    }
}
@layer app-web{

/*
Copyright 2024, 2025 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSummaryCard {
    --cpd-separator-inset: var(--cpd-space-4x);
    --cpd-separator-spacing: var(--cpd-space-4x);
}

    .mx_RoomSummaryCard .mx_RoomSummaryCard_container {
        text-align: center;
        margin: 20px var(--cpd-space-4x) 0;
    }

    .mx_RoomSummaryCard .mx_RoomSummaryCard_roomName,
    .mx_RoomSummaryCard .mx_RoomSummaryCard_alias {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: pre-wrap;
        overflow: hidden;
    }

    .mx_RoomSummaryCard .mx_RoomSummaryCard_alias {
        text-overflow: ellipsis;
    }

    .mx_RoomSummaryCard .mx_RoomSummaryCard_topic {
        padding: 0 12px;
        color: var(--cpd-color-text-secondary);
    }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_RoomSummaryCard_topic_box {
            width: 100%;
        }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_RoomSummaryCard_topic_container {
            text-align: start;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
        }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_RoomSummaryCard_topic_edit {
            width: -webkit-max-content;
            width: -moz-max-content;
            width: max-content;
        }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic p {
            white-space: pre-wrap;
            width: 100%;
            min-width: 0;
            margin: 0;
        }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic a {
            cursor: pointer;
        }

        .mx_RoomSummaryCard .mx_RoomSummaryCard_topic .mx_RoomSummaryCard_topic_chevron {
            -webkit-transition: -webkit-transform 0.3s;
            transition: -webkit-transform 0.3s;
            transition: transform 0.3s;
            transition: transform 0.3s, -webkit-transform 0.3s;
        }
            .mx_RoomSummaryCard .mx_RoomSummaryCard_topic.mx_RoomSummaryCard_topic_collapsed p {
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: normal;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 2;
            }

            .mx_RoomSummaryCard .mx_RoomSummaryCard_topic.mx_RoomSummaryCard_topic_collapsed .mx_RoomSummaryCard_topic_chevron {
                -webkit-transform: rotate(-90deg);
                        transform: rotate(-90deg);
            }

    .mx_RoomSummaryCard .mx_AccessibleButton_kind_link {
        margin-top: 12px;
        margin-bottom: 12px;
        font-size: 0.8125rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

.mx_RoomSummaryCard_badges {
    margin: var(--cpd-space-4x) 0;
}

.mx_RoomSummaryCard_search {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    min-width: 0;
}

    .mx_RoomSummaryCard_search input[type="search"]::-webkit-search-cancel-button {
        display: inline;
        display: initial; /* override _common.pcss which inhibits this */
    }

.mx_RoomSummaryCard_roomName {
    margin: 12px 0 4px;
}

.mx_RoomSummaryCard_bottomOptions {
    margin: 0 0 var(--cpd-space-8x);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021-2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ThreadPanel {
    height: 100px;
    overflow: visible;

    /* For style rules of EventTile in a thread, see _EventTile.pcss */
}

    .mx_ThreadPanel .mx_ThreadPanelHeader {
        height: 60px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 16px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        border-bottom: 1px solid var(--cpd-color-gray-400);
    }

        .mx_ThreadPanel .mx_ThreadPanelHeader .mx_AccessibleButton {
            font-size: 12px;
            color: var(--cpd-color-text-secondary);
        }

        .mx_ThreadPanel .mx_ThreadPanelHeader .mx_ThreadPanel_vertical_separator {
            height: 28px;
            margin-left: var(--cpd-space-3x);
            margin-right: var(--cpd-space-2x);
            border-left: 1px solid var(--cpd-color-gray-400);
        }

        .mx_ThreadPanel .mx_ThreadPanelHeader .mx_ThreadPanel_dropdown {
            font: var(--cpd-font-body-sm-regular);
            padding: 3px 4px 3px 8px;
            border-radius: 4px;
            line-height: 1.5;
            -webkit-user-select: none;
               -moz-user-select: none;
                -ms-user-select: none;
                    user-select: none;
        }

            .mx_ThreadPanel .mx_ThreadPanelHeader .mx_ThreadPanel_dropdown:hover,
            .mx_ThreadPanel .mx_ThreadPanelHeader .mx_ThreadPanel_dropdown[aria-expanded="true"] {
                background: var(--cpd-color-gray-400);
            }

            .mx_ThreadPanel .mx_ThreadPanelHeader .mx_ThreadPanel_dropdown svg {
                margin-left: 2px;
                height: 20px;
                width: 20px;
                display: inline-block;
                vertical-align: bottom;
            }

    .mx_ThreadPanel .mx_AutoHideScrollbar,
    .mx_ThreadPanel .mx_RoomView_messagePanelSpinner {
        background-color: var(--cpd-color-bg-canvas-default);
        border-radius: 8px;
        -webkit-padding-end: 0;
                padding-inline-end: 0;
        overflow-y: scroll; /* set gap between the thread tile and the right border */
        height: 100%;
    }
        .mx_ThreadPanel .mx_EventTile[data-layout="group"] .mx_MessageActionBar {
            right: 0;
            top: -36px; /* 2px above EventTile */
            z-index: 10; /* See _EventTile.pcss */
        }
    .mx_ThreadPanel.mx_ThreadView {
        max-height: 100%;

        /* Make use of the space above the composer buttons too*/
    }

        .mx_ThreadPanel.mx_ThreadView .mx_ThreadView_timelinePanelWrapper {
            position: relative;
            min-height: 0; /* don't displace the composer */
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }

            .mx_ThreadPanel.mx_ThreadView .mx_ThreadView_timelinePanelWrapper .mx_FileDropTarget {
                border-radius: 8px;
            }

        .mx_ThreadPanel.mx_ThreadView .mx_MessageComposer_sendMessage {
            margin-right: 0;
        }
        .mx_ThreadPanel.mx_ThreadView .mx_Autocomplete {
            width: calc(100% + 140px);
        }
        .mx_ThreadPanel.mx_ThreadView.mx_ThreadView_narrow .mx_Autocomplete {
            width: calc(100% + 108px);
        }
        .mx_ThreadPanel .mx_RoomView_messagePanel.mx_RoomView_messageListWrapper {
            position: static;
            position: initial;
        }

        .mx_ThreadPanel .mx_RoomView_messagePanel .mx_RoomView_messageListWrapper {
            width: calc(100% + 6px); /* 8px - 2px */
        }

        .mx_ThreadPanel .mx_RoomView_messagePanel .mx_RoomView_empty {
            display: contents;
        }

    .mx_ThreadPanel .mx_RoomView_MessageList {
        -webkit-padding-start: 8px;
                padding-inline-start: 8px;
        -webkit-padding-end: 8px;
                padding-inline-end: 8px;
        content-visibility: visible;
    }

    .mx_ThreadPanel .mx_EventTile,
    .mx_ThreadPanel .mx_GenericEventListSummary {
        /* Account for scrollbar when hovering */
        padding-top: 0;
    }

        .mx_ThreadPanel .mx_EventTile .mx_TimelineSeparator, .mx_ThreadPanel .mx_GenericEventListSummary .mx_TimelineSeparator {
            display: none;
        }

        .mx_ThreadPanel .mx_EventTile.mx_EventTile_clamp:hover, .mx_ThreadPanel .mx_GenericEventListSummary.mx_EventTile_clamp:hover {
            cursor: pointer;
        }

    .mx_ThreadPanel .mx_MessageComposer {
        background-color: var(--cpd-color-bg-canvas-default);
        border-radius: 8px;
        margin-top: 8px;
        padding: 0 8px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .mx_ThreadPanel .mx_BaseCard_footer {
        text-align: left;
        font-size: 0.75rem;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 4px;
        position: relative;
        top: 2px;
        padding-right: 8px;
    }

        .mx_ThreadPanel .mx_BaseCard_footer .mx_AccessibleButton_kind_link_inline {
            color: var(--cpd-color-text-secondary);
        }
    .mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 10px 20px 10px 30px;
        position: relative;
    }

        .mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem:hover {
            background-color: var(--cpd-color-bg-subtle-secondary);
        }
            .mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem[aria-checked="true"] span:first-child {
                margin-left: -20px;
            }

            .mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem[aria-checked="true"] svg {
                width: 12px;
                height: 12px;
                margin-right: 8px;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                display: inline-block;
                vertical-align: middle;
                position: absolute;
                top: 14px;
                left: 10px;
            }

        .mx_ContextualMenu_wrapper .mx_ThreadPanel_Header_FilterOptionItem span:last-child {
            color: var(--cpd-color-text-secondary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_TimelineCard .mx_TimelineCard_timeline {
        overflow: hidden;
        position: relative; /* offset parent for jump to bottom button */
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        border-radius: 8px;
    }

    .mx_TimelineCard .mx_NewRoomIntro {
        -webkit-margin-start: var(--BaseCard_EventTile-spacing-inline);
                margin-inline-start: var(--BaseCard_EventTile-spacing-inline);
        -webkit-margin-end: var(--BaseCard_EventTile-spacing-inline);
                margin-inline-end: var(--BaseCard_EventTile-spacing-inline);
    }

    .mx_TimelineCard .mx_EventTile_content {
        margin-right: 0;
    }
        .mx_TimelineCard .mx_EventTile .mx_ThreadSummary {
            position: relative;
            padding-right: 11px;
        }

            .mx_TimelineCard .mx_EventTile .mx_ThreadSummary::after {
                content: "";
                display: block;
                position: absolute;
                left: 0;
                bottom: -16px;
                height: 1px;
                width: 100%;
                border-bottom: 1px solid #e9edf1;
            }

        .mx_TimelineCard .mx_EventTile[data-layout="irc"],
        .mx_TimelineCard .mx_EventTile[data-layout="group"] {
            --TimelineCard_ReadReceiptGroup-inset-block-start: -6px;
            --EventTile_group_line-spacing-inline-start: var(--BaseCard_EventTile-spacing-inline);
        }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_line,
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_line,
            .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line,
            .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_line {
                padding: var(--BaseCard_EventTile_line-padding-block) var(--BaseCard_EventTile-spacing-inline);
                -webkit-padding-end: 46px;
                        padding-inline-end: 46px;
                -webkit-padding-end: var(--MessageTimestamp-width);
                        padding-inline-end: var(--MessageTimestamp-width); /* ensure timestamp is not hidden */
            }

                .mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_line .mx_EventTile_e2eIcon, .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_e2eIcon, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line .mx_EventTile_e2eIcon, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_line .mx_EventTile_e2eIcon {
                    inset-inline-start: 8px;
                }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info {

                /* Info events should have the same size as state events, those
                 * are usually wrapped in a generic event list summary */
            }
                .mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_avatar, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar {
                    inset-inline-start: 18px;
                }
                .mx_TimelineCard .mx_EventTile[data-layout="irc"].mx_EventTile_info, .mx_TimelineCard .mx_EventTile[data-layout="group"].mx_EventTile_info{
                font: var(--cpd-font-body-sm-regular);
}

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_avatar {
                inset-inline-start: -3px;
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption {
                -webkit-margin-end: 0;
                        margin-inline-end: 0;
            }

                .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption .mx_ReadReceiptGroup, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                    top: var(--TimelineCard_ReadReceiptGroup-inset-block-start);
                }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile,
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ThreadSummary,
            .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_DisambiguatedProfile,
            .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ThreadSummary {
                -webkit-margin-start: var(--BaseCard_EventTile-spacing-inline);
                        margin-inline-start: var(--BaseCard_EventTile-spacing-inline);
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_DisambiguatedProfile {
                max-width: calc(100% - var(--BaseCard_EventTile-spacing-inline)); /* instead of $left-gutter */
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ReplyTile .mx_DisambiguatedProfile, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ReplyTile .mx_DisambiguatedProfile {
                -webkit-margin-start: 0;
                        margin-inline-start: 0;
                max-width: none;
                max-width: initial;
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_MessageTimestamp, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_MessageTimestamp {
                inset-inline: auto 0;
                font-size: 0.75rem;
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ReactionsRow, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ReactionsRow {
                /* See: var(--ThreadView_group_spacing-end) for ReactionsRow on _EventTile.pcss */
                -webkit-margin-end: 8px;
                        margin-inline-end: 8px;
            }

            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_ThreadSummary, .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ThreadSummary {
                -webkit-margin-end: 0;
                        margin-inline-end: 0;
                max-width: min(calc(100% - 36px), 600px);
            }
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar,
            .mx_TimelineCard .mx_EventTile[data-layout="irc"] .mx_MessageTimestamp {
                position: absolute;
            }

        .mx_TimelineCard .mx_EventTile[data-layout="group"] {
            /* Read receipt group on compact modern layout */
            /* This is required because mx_TimelineCard is a child element wrapped by mx_MatrixChat_useCompactLayout, */
            /* which specifies the default position of mx_ReadReceiptGroup on compact modern layout. */
        }
            .mx_MatrixChat_useCompactLayout .mx_TimelineCard .mx_EventTile[data-layout="group"] .mx_ReadReceiptGroup {
                top: var(--TimelineCard_ReadReceiptGroup-inset-block-start);
            }
            .mx_TimelineCard .mx_EventTile[data-layout="bubble"]::before {
                z-index: auto; /* enable background color on hover */
            }

            .mx_TimelineCard .mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_MessageActionBar {
                /* 1px: border width */
                inset-inline-end: calc(8px + 1px);
                inset-inline-end: calc(var(--container-gap-width) + 1px);
            }

            .mx_TimelineCard .mx_EventTile[data-layout="bubble"] .mx_ReactionsRow {
                position: relative; /* display on hover */
            }

    .mx_TimelineCard .mx_LegacyCallEvent_wrapper {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: auto 5px;
    }
        .mx_TimelineCard .mx_LegacyCallEvent_wrapper .mx_LegacyCallEvent {
            margin: 4px;
        }
            .mx_TimelineCard .mx_GenericEventListSummary[data-layout="irc"] .mx_EventTile_line,
            .mx_TimelineCard .mx_GenericEventListSummary[data-layout="irc"] .mx_GenericEventListSummary_unstyledList > .mx_EventTile_info .mx_EventTile_avatar ~ .mx_EventTile_line,
            .mx_TimelineCard .mx_GenericEventListSummary[data-layout="group"] .mx_EventTile_line,
            .mx_TimelineCard .mx_GenericEventListSummary[data-layout="group"] .mx_GenericEventListSummary_unstyledList > .mx_EventTile_info .mx_EventTile_avatar ~ .mx_EventTile_line {
                -webkit-padding-start: var(--BaseCard_EventTile-spacing-inline);
                        padding-inline-start: var(--BaseCard_EventTile-spacing-inline);
                -webkit-padding-end: 46px;
                        padding-inline-end: 46px;
                -webkit-padding-end: var(--MessageTimestamp-width);
                        padding-inline-end: var(--MessageTimestamp-width); /* ensure timestamp is not hidden */
            }

    .mx_TimelineCard .mx_WhoIsTypingTile {
        margin-left: -12px; /* undo padding on the message list */
    }

    .mx_TimelineCard .mx_WhoIsTypingTile_avatars {
        -ms-flex-preferred-size: 48px;
            flex-basis: 48px; /* 12 (padding on message list) + 36 (padding on event lines) */
    }

    .mx_TimelineCard .mx_GenericEventListSummary_unstyledList, 
    .mx_TimelineCard .mx_RoomView_MessageList {
        /* RR next to a message on the messsge list */
    }
            .mx_TimelineCard .mx_GenericEventListSummary_unstyledList .mx_EventTile[data-layout="bubble"] .mx_ReadReceiptGroup, .mx_TimelineCard .mx_RoomView_MessageList .mx_EventTile[data-layout="bubble"] .mx_ReadReceiptGroup {
                /* 6px: scroll bar width (magic number) */
                /* stylelint-disable-next-line declaration-colon-space-after */
                inset-inline-end: calc(
                    -1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end) + 8px + 6px
                );
                inset-inline-end: calc(
                    -1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end) + var(--container-gap-width) + 6px
                );
            }
                .mx_TimelineCard .mx_GenericEventListSummary_unstyledList .mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_ReadReceiptGroup, .mx_TimelineCard .mx_RoomView_MessageList .mx_EventTile[data-layout="bubble"].mx_EventTile_info .mx_ReadReceiptGroup {
                    inset-inline-end: -4px; /* align with RR outside of info tile */
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserInfo.mx_BaseCard {
    /* UserInfo has a circular image at the top so it fits between the back & close buttons */
    padding-top: 0;
    overflow-y: auto;
    font-size: var(--cpd-font-size-body-sm);
}

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_container {
        padding: var(--cpd-space-2x) 0 var(--cpd-space-4x);
        margin: 0 var(--cpd-space-4x);
    }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container + .mx_UserInfo_container {
            border-top: 1px solid var(--cpd-color-gray-400);
        }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetailsContainer {
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: 8px;
    }

    .mx_UserInfo.mx_BaseCard .mx_RoomTile_titleContainer {
        width: 154px;
    }

    .mx_UserInfo.mx_BaseCard .mx_RoomTile_badge {
        display: none;
    }

    .mx_UserInfo.mx_BaseCard .mx_RoomTile_title {
        width: 160px;
    }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar {
        margin: var(--cpd-space-12x) var(--cpd-space-4x) 0 var(--cpd-space-4x);
    }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition {
            max-width: 120px;
            aspect-ratio: 1 / 1;
            margin: 0 auto;
            -webkit-transition: 0.5s;
            transition: 0.5s;
        }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition .mx_BaseAvatar {
                /* Override the calculated font-size so that the letter isn't tiny */
                font-size: 4rem;
            }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition .mx_BaseAvatar,
            .mx_UserInfo.mx_BaseCard .mx_UserInfo_avatar .mx_UserInfo_avatar_transition .mx_BaseAvatar img {
                width: 100%;
                height: 100%;
            }

    .mx_UserInfo.mx_BaseCard h2 {
        text-transform: uppercase;
        color: var(--cpd-color-gray-800);
        font: var(--cpd-font-body-md-semibold);
        font-weight: var(--cpd-font-weight-semibold);
        margin: 4px 0;
    }

    .mx_UserInfo.mx_BaseCard p {
        margin: 5px 0;
    }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_header {
        margin-bottom: var(--cpd-space-8x);
        padding-bottom: 0;
    }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-1x);

        /** Overrides for the copy to clipboard button **/
    }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile h1 {
            margin: 0;
            font-size: 1.25rem;
            line-height: 1.5625rem;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_UserInfo_profile_name {
            min-height: 30px;

            /* limit to 2 lines, show an ellipsis if it overflows */
            /* this looks webkit specific but is supported by Firefox 68+ */
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;

            overflow: hidden;
            word-break: break-all;
            text-overflow: ellipsis;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_UserInfo_profile_mxid {
            color: var(--cpd-color-text-secondary);
            height: 28px;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_UserInfo_profileStatus {
            height: 20px;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_UserInfo_timezone {
            height: 20px;
            margin: 0;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_CopyableText {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_CopyableText_copyButton {
            width: 28px;
            height: 28px;
            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;
            position: static;
            position: initial;
            padding-left: var(--cpd-space-2x);
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_profile .mx_CopyableText_copyButton::before {
            width: 20px;
            height: 20px;
            background-color: var(--cpd-color-icon-secondary-alpha);
        }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_timezone {
        margin: var(--cpd-space-1x) 0;
    }

    .mx_UserInfo.mx_BaseCard .mx_PresenceLabel {
        font: var(--cpd-font-body-sm-regular);
        opacity: 1;
    }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_verification {
        margin-top: var(--cpd-space-4x);
        height: 36px;
    }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_verification .mx_UserInfo_verified_badge {
            min-width: 68px;
            height: 20px;
        }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_verification .mx_UserInfo_verified_badge .mx_UserInfo_verified_icon {
                -ms-flex-negative: 0;
                    flex-shrink: 0;
            }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_verification .mx_UserInfo_verified_badge .mx_UserInfo_verified_label {
                margin: 0;
            }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_verification .mx_UserInfo_verification_unavailable {
            color: var(--cpd-color-text-secondary);
        }
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetails .mx_UserInfo_profileField {
            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;

            margin: 6px 0;
        }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetails .mx_UserInfo_profileField .mx_UserInfo_roleDescription {
                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;
                /* try to make it the same height as the dropdown */
                margin: 11px 0 12px 0;
            }

            .mx_UserInfo.mx_BaseCard .mx_UserInfo_memberDetails .mx_UserInfo_profileField .mx_Field {
                margin: 0;
            }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_field {
        line-height: 1rem;
    }

    .mx_UserInfo.mx_BaseCard .mx_UserInfo_statusMessage {

        font: var(--cpd-font-body-sm-regular);
        font-size: 0.6875rem;
        line-height: 1rem;
        opacity: 0.5;
        overflow: hidden;
        word-break: break-word;
        text-overflow: ellipsis;
        display: -webkit-box;
        max-height: calc(1rem * 3);
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }

    .mx_UserInfo.mx_BaseCard .mx_AutoHideScrollbar {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0;
    }
            .mx_UserInfo.mx_BaseCard.mx_UserInfo_smallAvatar .mx_UserInfo_avatar .mx_UserInfo_avatar_transition {
                max-width: 72px;
                margin: 0 auto;
            }

            .mx_UserInfo.mx_BaseCard.mx_UserInfo_smallAvatar .mx_UserInfo_avatar .mx_BaseAvatar {
                /* Override the calculated font-size so that the letter isn't tiny */
                font-size: 2rem;
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VerificationPanel_verified_section,
.mx_VerificationPanel_reciprocate_section {
    /* center the big shield icon */
}
    .mx_VerificationPanel_verified_section .mx_E2EIcon, .mx_VerificationPanel_reciprocate_section .mx_E2EIcon {
        /* Override general user info margin */
        margin: 20px auto !important;
    }
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) > div > p {
            margin-top: 0;
            margin-bottom: 0;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_VerificationPanel_verifyByEmojiButton,
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_UserInfo_wideButton {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_EncryptionInfo_spinner,
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_VerificationShowSas {
            -webkit-margin-start: auto;
                    margin-inline-start: auto;
            -webkit-margin-end: auto;
                    margin-inline-end: auto;
        }

        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_Spinner,
        .mx_UserInfo.mx_BaseCard .mx_UserInfo_container:not(.mx_UserInfo_separator) .mx_VerificationShowSas {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

    .mx_UserInfo.mx_BaseCard .mx_VerificationPanel_qrCode {
        padding: 4px 4px 0 4px;
        background: white;
        border-radius: 4px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
        max-width: 100%;
        /* Override general user info margin */
        margin: 0 auto !important;
    }

        .mx_UserInfo.mx_BaseCard .mx_VerificationPanel_qrCode canvas {
            /* override height and width which are set on the element directly */
            height: auto !important;
            width: 100% !important;
            max-width: 240px;
        }
        .mx_UserInfo.mx_BaseCard .mx_VerificationPanel_reciprocate_section .mx_AccessibleButton {
            width: 100%;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            padding: 10px;
            display: block;
            margin: 10px 0;
        }

/* Special case styling for EncryptionPanel in a Modal dialog */
.mx_Dialog,
.mx_CompleteSecurity_body {

    /* EncryptionPanel when verification is done */
}
    .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 10px;
        margin-bottom: 10px;
        -webkit-box-align: stretch;
            -ms-flex-align: stretch;
                align-items: stretch;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

        .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions > .mx_VerificationPanel_QRPhase_betweenText, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions > .mx_VerificationPanel_QRPhase_betweenText {
            width: 50px;
            vertical-align: middle;
            text-align: center;
            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;
        }

        .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption {
            background-color: var(--cpd-color-bg-subtle-primary);
            border-radius: 10px;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            padding: 20px;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            position: relative;
            max-width: 310px;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
        }

            .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption canvas,
            .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_noQR,
            .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption canvas,
            .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_noQR {
                width: 220px !important;
                height: 220px !important;
                background-color: #fff;
                border-radius: 4px;
                vertical-align: middle;
                text-align: center;
                padding: 10px;
            }

            .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption > p, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption > p {
                margin-top: 0;
                font-weight: 700;
            }

            .mx_Dialog .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_helpText, .mx_CompleteSecurity_body .mx_VerificationPanel_QRPhase_startOptions .mx_VerificationPanel_QRPhase_startOption .mx_VerificationPanel_QRPhase_helpText {
                font: var(--cpd-font-body-md-regular);
                margin: 30px 0;
                text-align: center;
            }
    .mx_Dialog .mx_VerificationPanel_verified_section, .mx_CompleteSecurity_body .mx_VerificationPanel_verified_section {
        /* right align the "Got it" button */
    }
        .mx_Dialog .mx_VerificationPanel_verified_section .mx_AccessibleButton, .mx_CompleteSecurity_body .mx_VerificationPanel_verified_section .mx_AccessibleButton {
            float: right;
        }
        .mx_Dialog .mx_VerificationPanel_reciprocate_section .mx_AccessibleButton, .mx_CompleteSecurity_body .mx_VerificationPanel_reciprocate_section .mx_AccessibleButton {
            margin-left: 10px;
            padding: 7px 40px;
        }

        .mx_Dialog .mx_VerificationPanel_reciprocate_section .mx_VerificationPanel_reciprocateButtons, .mx_CompleteSecurity_body .mx_VerificationPanel_reciprocate_section .mx_VerificationPanel_reciprocateButtons {
            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-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_WidgetCard .mx_AppTileFullWidth {
        max-width: none;
        max-width: initial;
        width: auto !important;
        height: 100%;
        border: 0;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AliasSettings_localAddresses {
    cursor: pointer;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    font-weight: var(--cpd-font-weight-semibold);
    text-decoration: underline;
    list-style: none;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;

    /* list-style doesn't do it for webkit */
}
    .mx_AliasSettings_localAddresses::-webkit-details-marker {
        display: none;
    }
}
@layer app-web{

/*
 * Copyright 2025 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_RoomListPanel {
    background-color: var(--cpd-color-bg-canvas-default);
    height: 100%;
}

/* PLX-012: top user bar hosting the avatar/UserMenu (Profile / Settings / Sign out).
   The Midnight redesign removed the Spaces rail that used to host this, so we mount
   it at the top of the room list. */
.mx_RoomListPanel_userBar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 56px;
    padding: 10px 10px 4px 12px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

/* The shared UserMenu wrapper lays the avatar + (optional) displayname in a row.
   Inside the room list it should read as a tidy, tappable identity chip. */
.mx_RoomListPanel_userBar .mx_UserMenu {
    width: 100%;
    margin: 0;
}

.mx_RoomListPanel_userBar .mx_UserMenu > div:first-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
}

/* avatar trigger button -> hover affordance */
.mx_RoomListPanel_userBar .mx_UserMenu button:hover {
    opacity: 0.92;
}

/* the displayname rendered to the right of the avatar (expanded mode) */
.mx_RoomListPanel_userBar .mx_UserMenu > span {
    margin-left: 10px;
    color: #ffffff;
    color: var(--plx-text, #ffffff);
    font-weight: 600;
    font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AppsDrawer {
    --minWidth: 240px; /* TODO this should be 300px but that's too large */

    margin: 8px;

    margin: var(--container-gap-width);
    /* The left side gap is fully handled by this margin. To prohibit bleeding on webkit browser. */
    margin-right: calc(8px / 2);
    margin-right: calc(var(--container-gap-width) / 2);
    margin-bottom: 0; /* No bottom margin for the correct gap to the CallView below. */
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

    .mx_AppsDrawer .mx_AppsDrawer_resizer {
        margin-bottom: 8px;
        margin-bottom: var(--container-gap-width);
    }

    .mx_AppsDrawer .mx_AppsDrawer_resizer_container {
        width: 100%;
        height: 10px;
        display: block;
        position: relative;
    }

        .mx_AppsDrawer .mx_AppsDrawer_resizer_container .mx_AppsDrawer_resizer_container_handle {
            cursor: ns-resize;

            /* Override styles from library, making the whole area the target area */
            width: 100% !important;
            height: 100% !important;

            /* This is positioned directly below frame */
            position: absolute;
            bottom: 50% !important; /* override from library */

            /* We then render the pill handle in an ::after to keep it in the handle's */
            /* area without being a massive line across the screen */
        }
            .mx_AppsDrawer .mx_AppsDrawer_resizer_container .mx_AppsDrawer_resizer_container_handle::after {
                content: "";
                position: absolute;
                border-radius: 3px;

                height: 4px;
                bottom: 0;

                /* Together, these make the bar 64px wide */
                /* These are also overridden from the library */
                left: calc(50% - 32px);
                right: calc(50% - 32px);
            }
        .mx_AppsDrawer:hover .mx_AppsDrawer_resizer_container_handle::after {
            opacity: 0.8;
            background: #ffffff;
            background: var(--cpd-color-text-primary);
        }

        .mx_AppsDrawer:hover .mx_ResizeHandle--horizontal::before {
            position: absolute;
            left: 3px;
            top: 50%;
            -webkit-transform: translate(0, -50%);
                    transform: translate(0, -50%);

            height: 64px; /* to match width of the ones on roomlist */
            width: 4px;
            border-radius: 4px;

            content: "";

            background-color: #ffffff;

            background-color: var(--cpd-color-text-primary);
            opacity: 0.8;
        }

    .mx_AppsDrawer .mx_AppTile {
        width: 50%;
        min-width: var(--minWidth);
    }

    .mx_AppsDrawer.mx_AppsDrawer--maximised {
        margin-bottom: 8px;
        margin-bottom: var(--container-gap-width);
    }

    .mx_AppsDrawer.mx_AppsDrawer--resizing .mx_AppTile_persistedWrapper {
        z-index: 1;
    }

    .mx_AppsDrawer.mx_AppsDrawer--2apps .mx_AppTile {
        width: 50%;
    }

        .mx_AppsDrawer.mx_AppsDrawer--2apps .mx_AppTile:nth-child(3) {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            width: 0 !important;
            min-width: var(--minWidth) !important;
        }
    .mx_AppsDrawer.mx_AppsDrawer--3apps .mx_AppTile {
        width: 33%;
    }

        .mx_AppsDrawer.mx_AppsDrawer--3apps .mx_AppTile:nth-child(3) {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            width: 0 !important;
            min-width: var(--minWidth) !important;
        }

.mx_AppsContainer {
    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: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100%;
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-height: 0;
}

    .mx_AppsContainer .mx_AppTile:first-of-type {
        border-left-width: 8px;
        border-left-width: var(--container-border-width);
        border-radius: 10px 0 0 10px;
    }
    .mx_AppsContainer .mx_AppTile:last-of-type {
        border-right-width: 8px;
        border-right-width: var(--container-border-width);
        border-radius: 0 10px 10px 0;
    }

    .mx_AppsContainer .mx_ResizeHandle--horizontal {
        position: relative;
    }

        .mx_AppsContainer .mx_ResizeHandle--horizontal > div {
            width: 0;
        }

.mx_AppTile {
    border: 8px solid #f2f5f8;
    border: var(--container-border-width) solid #f2f5f8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: #f2f5f8;
}

.mx_AppTileFullWidth {
    width: 100% !important; /* to override the inline style set by the resizer */
    margin: 0;
    padding: 0;
    border: 8px solid #f2f5f8;
    border: var(--container-border-width) solid #f2f5f8;
    border-radius: 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #f2f5f8;
}

.mx_AppTile_mini {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.mx_AppTile .mx_AppTile_persistedWrapper,
.mx_AppTileFullWidth .mx_AppTile_persistedWrapper,
.mx_AppTile_mini .mx_AppTile_persistedWrapper {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_AppTile_persistedWrapper div {
    width: 100%;
    height: 100%;
}

.mx_AppTileMenuBar {
    margin: 0;
    font-size: 0.75rem;
    background-color: #f2f5f8;
    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;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding-top: 3px;
    padding-bottom: 6px;
}

    .mx_AppTileMenuBar .mx_AppTileMenuBar_title {
        line-height: 20px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

        .mx_AppTileMenuBar .mx_AppTileMenuBar_title .mx_WidgetAvatar {
            margin-right: 12px;
        }

        .mx_AppTileMenuBar .mx_AppTileMenuBar_title h1 {
            font-size: inherit;
            margin: 0;
        }

        .mx_AppTileMenuBar .mx_AppTileMenuBar_title > :last-child {
            margin-left: 9px;
            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;
        }

    .mx_AppTileMenuBar .mx_AppTileMenuBar_widgets {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_AppTileMenuBar .mx_AppTileMenuBar_widgets .mx_AppTileMenuBar_widgets_button {
            --size: 24px; /* Size of the button. Its height and width values should be same */

            margin: 0 4px;
            position: relative;
            height: 24px;
            height: var(--size);
            width: 24px;
            width: var(--size);
            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;
        }

            .mx_AppTileMenuBar .mx_AppTileMenuBar_widgets .mx_AppTileMenuBar_widgets_button:hover::after {
                content: "";
                position: absolute;
                height: var(--size);
                width: var(--size);
                background-color: var(--cpd-color-alpha-gray-300);
                border-radius: 50%;
                left: 0;
                top: 0;
            }

            .mx_AppTileMenuBar .mx_AppTileMenuBar_widgets .mx_AppTileMenuBar_widgets_button .mx_Icon {
                color: #61708b;
            }

/* Rules added to this selector style appTileBody generally */
.mx_AppTileBody {
    /* Apply to every variant of appTileBody */
    border-radius: 8px;

    /* const loadingElement */
    /* Note the loading spinner and the message next to it are not always included in mx_AppTileBody--loading */
}
    .mx_AppTileBody .mx_AppTileBody_fadeInSpinner {
        /* place spinner and the message at the center of mx_AppTileBody */
        height: 100%;
        width: 100%;

        font-weight: bold; /* message next to the spinner */
        -webkit-animation-fill-mode: backwards;
                animation-fill-mode: backwards;
        -webkit-animation-duration: 200ms;
                animation-duration: 200ms;
        -webkit-animation-delay: 500ms;
                animation-delay: 500ms;
        -webkit-animation-name: mx_AppTileBody_fadeInSpinnerAnimation;
                animation-name: mx_AppTileBody_fadeInSpinnerAnimation;
    }

    .mx_AppTileBody.mx_AppTileBody--large,
    .mx_AppTileBody.mx_AppTileBody--mini {
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

        .mx_AppTileBody.mx_AppTileBody--large iframe, .mx_AppTileBody.mx_AppTileBody--mini iframe {
            border: none;
            width: 100%;
            height: 100%;
        }

    .mx_AppTileBody.mx_AppTileBody--large {
        --AppTileBody-height: 100%;

        background-color: var(--cpd-color-bg-canvas-default);
    }

        .mx_AppTileBody.mx_AppTileBody--large iframe {
            overflow: hidden;
            padding: 0;
            margin: 0;
            display: block;
        }

    .mx_AppTileBody.mx_AppTileBody--loading {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
        height: 100%;

        /* match bg of border so that the cut corners have the right fill */
        background-color: var(--cpd-color-bg-canvas-default) !important;
    }

        .mx_AppTileBody.mx_AppTileBody--loading iframe {
            display: none;
        }

    .mx_AppTileBody.mx_AppTileBody--call {
        border-radius: 0px;
    }
    .mx_AppTileBody.mx_AppTileBody--call.mx_AppTileBody--mini {
        border-radius: 8px;
    }

/* appTileBody is embedded to PersistedElement outside of mx_AppTile,
   so rules to style appTileBody generally should not be included here. */
.mx_AppTile .mx_AppTileBody--large,
.mx_AppTileFullWidth .mx_AppTileBody--large,
.mx_AppTile_mini .mx_AppTileBody--mini {
    height: inherit;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

@-webkit-keyframes mx_AppTileBody_fadeInSpinnerAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes mx_AppTileBody_fadeInSpinnerAnimation {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
}
@layer app-web{

.mx_Autocomplete {
    position: absolute;
    bottom: 0;
    z-index: 1001;
    width: 100%;
    border: 1px solid transparent;
    background: var(--cpd-color-bg-canvas-default);
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    overflow: clip;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-shadow: 0px -16px 32px rgba(0, 0, 0, 0.04);
            box-shadow: 0px -16px 32px rgba(0, 0, 0, 0.04);
}

.mx_Autocomplete_ProviderSection {
    border-bottom: 1px solid transparent;
    width: 100%;
}

/* a "block" completion takes up a whole line */
.mx_Autocomplete_Completion_block {
    min-height: 34px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0 12px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_Autocomplete_Completion_block * {
    margin: 0 3px;
}

.mx_Autocomplete_Completion_pill {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 2rem;
    height: 2.125rem;
    padding: 0.4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_Autocomplete_Completion_pill > * {
    margin-right: 0.3rem;
}

/* styling for common completion elements */
.mx_Autocomplete_Completion_subtitle {
    font-style: italic;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.mx_Autocomplete_Completion_description {
    color: gray;
    min-width: 150px;
}

.mx_Autocomplete_Completion_container_pill {
    margin: 12px;
    height: 100%;
    overflow-y: scroll;
}

@container roomview (height >= 0px) {
    .mx_Autocomplete_Completion_container_pill {
        max-height: 40cqh;
    }
}
    .mx_Autocomplete_Completion_container_truncate .mx_Autocomplete_Completion_title,
    .mx_Autocomplete_Completion_container_truncate .mx_Autocomplete_Completion_subtitle,
    .mx_Autocomplete_Completion_container_truncate .mx_Autocomplete_Completion_description {
        /* Ellipsis for long names/subtitles/descriptions */
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.mx_Autocomplete_Completion.selected,
.mx_Autocomplete_Completion:hover {
    background: #f2f5f8;
    outline: none;
}

.mx_Autocomplete_provider_name {
    margin: 12px;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    font-weight: 400;
    opacity: 0.4;
}
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AuxPanel {
    min-width: 0px;
    width: 100%;
    margin: 0px auto;

    overflow: auto;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_BasicMessageComposer {
    /* These are set in Javascript */
    --avatar-letter: "";
    --avatar-background: unset;
    --avatar-color: unset;
    --placeholder: "";

    position: relative;
}

    .mx_BasicMessageComposer .mx_BasicMessageComposer_inputEmpty > :first-child::before {
        content: var(--placeholder);
        color: var(--cpd-color-text-secondary);
        width: 0;
        height: 0;
        overflow: visible;
        display: inline-block;
        pointer-events: none;
        white-space: nowrap;
    }

    @-webkit-keyframes visualbell {
        from {
            background-color: #faa;
        }
        to {
            background-color: var(--cpd-color-bg-canvas-default);
        }
    }

    @keyframes visualbell {
        from {
            background-color: #faa;
        }
        to {
            background-color: var(--cpd-color-bg-canvas-default);
        }
    }

    .mx_BasicMessageComposer.mx_BasicMessageComposer_input_error {
        -webkit-animation: 0.2s visualbell;
                animation: 0.2s visualbell;
    }

    .mx_BasicMessageComposer .mx_BasicMessageComposer_input {
        white-space: pre-wrap;
        word-wrap: break-word;
        outline: none;
        overflow-x: hidden;

        /* Force caret nodes to be selected in full so that they can be */
        /* navigated through in a single keypress */
    }
        .mx_BasicMessageComposer .mx_BasicMessageComposer_input .caretNode {
            -webkit-user-select: all;
               -moz-user-select: all;
                    user-select: all;
        }
            .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_UserPill,
            .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_RoomPill,
            .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_SpacePill {
                display: -webkit-inline-box;
                display: -ms-inline-flexbox;
                display: inline-flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                -webkit-user-select: all;
                   -moz-user-select: all;
                        user-select: all;
                position: relative;
                cursor: inherit; /* We don't want indicate clickability */
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;

                /* avatar psuedo element */
            }

                .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_UserPill:hover, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_RoomPill:hover, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_SpacePill:hover {
                    /* We don't want indicate clickability | To override the overriding of .markdown-body */
                    background-color: #2e80de !important;
                    background-color: var(--cpd-color-bg-action-primary-rest) !important;
                }
                .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_UserPill::before, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_RoomPill::before, .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_shouldShowPillAvatar span.mx_SpacePill::before {
                    display: inline-block;
                    content: var(--avatar-letter);
                    width: 1rem;
                    min-width: 1rem; /* ensure the avatar is not compressed */
                    height: 1rem;
                    -webkit-margin-end: 0.24rem;
                            margin-inline-end: 0.24rem;
                    background: var(--avatar-background), var(--cpd-color-bg-canvas-default);
                    color: var(--avatar-color, var(--cpd-color-bg-canvas-default));
                    background-repeat: no-repeat;
                    background-size: 1rem;
                    border-radius: 1rem;
                    text-align: center;
                    font-weight: normal;
                    line-height: 1rem;
                    font-size: 0.6275rem;
                }

        .mx_BasicMessageComposer .mx_BasicMessageComposer_input.mx_BasicMessageComposer_input_disabled {
            /* Ignore all user input to avoid accidentally triggering the composer */
            pointer-events: none;
        }

    .mx_BasicMessageComposer .mx_BasicMessageComposer_AutoCompleteWrapper {
        position: relative;
        height: 0;
    }
}
@layer app-web{
    .mx_JoinRuleDialog .mx_JoinRuleDialogButtons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-column-gap: 5px;
           -moz-column-gap: 5px;
                column-gap: 5px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_E2EIcon {
    width: 16px;
    height: 16px;
    margin: 0 9px;
    display: block;
}

    .mx_E2EIcon svg {
        width: inherit;
        height: inherit;
        display: block;
    }

.mx_E2EIcon.mx_E2EIcon_inline {
    display: inline-block;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_E2EIconView {
    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;
}

.mx_E2EIconView_warning {
    color: var(--cpd-color-icon-critical-primary);
}

.mx_E2EIconView_verified {
    color: #3ecf8e;
    color: var(--cpd-color-icon-success-primary);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EditMessageComposer {
    --EditMessageComposer-padding-inline: 3px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 100%; /* disable overflow */
    width: auto;
    gap: 5px;
    padding: 3px 3px;
    padding: 3px var(--EditMessageComposer-padding-inline);
}

    .mx_EditMessageComposer .mx_BasicMessageComposer_input {
        border-radius: 4px;
        border: solid 1px transparent;
        background-color: var(--cpd-color-bg-canvas-default);
        max-height: 200px;
        padding: 3px 6px;
    }

        .mx_EditMessageComposer .mx_BasicMessageComposer_input:focus {
            border-color: var(--cpd-color-border-interactive-primary);
        }

    .mx_EditMessageComposer .mx_EditMessageComposer_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-flow: row wrap-reverse;
                flex-flow: row wrap-reverse; /* display "Save" over "Cancel" */
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 5px;
        -webkit-margin-start: auto;
                margin-inline-start: auto;
    }

        .mx_EditMessageComposer .mx_EditMessageComposer_buttons .mx_AccessibleButton {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            min-width: 100px; /* magic number to align the edge of the button with the input area */
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EmojiButton {
    position: relative;
    cursor: pointer;
    border-radius: 50%;
}
    .mx_EmojiButton svg {
        color: var(--cpd-color-icon-tertiary);
    }
    .mx_EmojiButton:hover {
        background-color: var(--cpd-color-bg-subtle-secondary);
    }

        .mx_EmojiButton:hover svg {
            color: var(--cpd-color-icon-secondary);
        }

.mx_EmojiButton_highlight {
    background: var(--cpd-color-bg-subtle-primary);
    color: var(--cpd-color-icon-primary) !important;
}
    .mx_MessageComposer_wysiwyg .mx_EmojiButton {
        position: relative;
        cursor: pointer;
        border-radius: 5px;
    }
        .mx_MessageComposer_wysiwyg .mx_EmojiButton svg {
        color: var(--cpd-color-icon-tertiary);
    }
        .mx_MessageComposer_wysiwyg .mx_EmojiButton:hover {
        background-color: var(--cpd-color-bg-subtle-secondary);
    }

        .mx_MessageComposer_wysiwyg .mx_EmojiButton:hover svg {
            color: var(--cpd-color-gray-800);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_RoomView_body[data-layout="bubble"] .mx_RoomView_timeline,
    .mx_RoomView_body[data-layout="bubble"] .mx_RoomView_statusArea,
    .mx_RoomView_body[data-layout="bubble"] .mx_MessageComposer {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
    }

.mx_EventTile[data-layout="bubble"],
.mx_GenericEventListSummary[data-layout="bubble"] {
    --avatarSize: 32px;
    --gutterSize: 11px;
    --cornerRadius: 12px;
    --maxWidth: 70%;

    /* For both event tile and event list summary */
    --EventTile_bubble-margin-inline-start: 49px;
    --EventTile_bubble-margin-inline-end: 60px;

    -webkit-margin-start: 49px;

            margin-inline-start: 49px;

    -webkit-margin-start: var(--EventTile_bubble-margin-inline-start);

            margin-inline-start: var(--EventTile_bubble-margin-inline-start);
    -webkit-margin-end: 60px;
            margin-inline-end: 60px;
    -webkit-margin-end: var(--EventTile_bubble-margin-inline-end);
            margin-inline-end: var(--EventTile_bubble-margin-inline-end);
}

.mx_EventTile[data-layout="bubble"] {
    --EventTile_bubble_line-margin-inline-start: -9px;
    --EventTile_bubble_line-margin-inline-end: -12px;
    --EventTile_bubble_gap-inline: 5px;

    /* For replies */

    /* other users profile on bubble layout */

    /* inside mx_RoomView_MessageList, outside of mx_ReplyTile */
    /* (on the main panel and the chat panel with a maximized widget) */
}

    .mx_EventTile[data-layout="bubble"] .mx_MessageTimestamp {
        width: auto;
        width: initial; /* Cancel the default width */
        max-width: 80px;
    }

    .mx_EventTile[data-layout="bubble"] .mx_ThreadSummary {
        clear: both;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    .mx_EventTile[data-layout="bubble"] .mx_EventTile_content {
        margin-right: 0;
    }

    .mx_EventTile[data-layout="bubble"]:not(.mx_EventTile_info) .mx_EventTile_avatar {
        line-height: 0;
        border: 4px solid var(--cpd-color-bg-canvas-default);
        border-radius: 50%;
        position: absolute;
        top: 6px;
        z-index: 9;
    }
        .mx_EventTile[data-layout="bubble"]:not(.mx_EventTile_info) .mx_EventTile_avatar img {
            -webkit-box-shadow: 0 0 0 3px var(--cpd-color-bg-canvas-default);
                    box-shadow: 0 0 0 3px var(--cpd-color-bg-canvas-default);
            border-radius: 50%;
        }
        .mx_EventTile[data-layout="bubble"].mx_EventTile_highlight .mx_EventTile_avatar {
            border-color: var(--cpd-color-yellow-200);
        }
        .mx_EventTile[data-layout="bubble"].mx_EventTile_highlight::before {
            background-color: var(--cpd-color-yellow-200);
        }
        .mx_EventTile[data-layout="bubble"]:hover .mx_EventTile_avatar {
            border-color: var(--cpd-color-bg-subtle-secondary);
        }
    .mx_EventTile[data-layout="bubble"] .mx_EventTile {
        padding-top: 0;
    }

    .mx_EventTile[data-layout="bubble"]::before {
        content: "";
        position: absolute;
        top: -1px;
        bottom: -1px;
        left: calc(-1 * var(--EventTile_bubble-margin-inline-start));
        right: calc(-1 * var(--EventTile_bubble-margin-inline-end));
        z-index: -1;
        border-radius: 4px;
    }
        .mx_EventTile[data-layout="bubble"]:hover::before, .mx_EventTile[data-layout="bubble"].mx_EventTile_selected::before {
            background: var(--cpd-color-bg-subtle-secondary);
        }
            .mx_EventTile[data-layout="bubble"]:hover .mx_EventTile_avatar img, .mx_EventTile[data-layout="bubble"].mx_EventTile_selected .mx_EventTile_avatar img {
                -webkit-box-shadow: 0 0 0 3px var(--cpd-color-bg-subtle-secondary);
                        box-shadow: 0 0 0 3px var(--cpd-color-bg-subtle-secondary);
            }

    .mx_EventTile[data-layout="bubble"] .mx_DisambiguatedProfile,
    .mx_EventTile[data-layout="bubble"] .mx_EventTile_line {
        --EventBubbleTile_line-max-width: 70%;

        width: -webkit-fit-content;

        width: -moz-fit-content;

        width: fit-content;
        max-width: 70%;
        max-width: var(--EventBubbleTile_line-max-width); /* Align message bubble and displayName */
        line-height: 1.125rem; /* fixed line height to prevent emoji from being taller than text */
    }
    .mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile {
        white-space: normal; /* display mxid */
    }

        .mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName {
            white-space: nowrap; /* truncate long display names */
            -webkit-margin-end: 5px;
                    margin-inline-end: 5px;

            /* For RTL displayName */
            unicode-bidi: embed;
            direction: ltr;
        }

        .mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
            -webkit-margin-start: 0;
                    margin-inline-start: 0; /* Align mxid with truncated displayName
                inside mx_EventTile[data-layout="bubble"] */
        }
    .mx_EventTile[data-layout="bubble"] > .mx_DisambiguatedProfile,
    
    .mx_EventTile[data-layout="bubble"] .mx_EventTile_senderDetails > .mx_DisambiguatedProfile {
        position: relative;
        top: -2px;
        left: 2px;
        font-size: 0.9375rem;
    }

    .mx_EventTile[data-layout="bubble"] .mx_MessageActionBar {
        top: -28px;
        z-index: 9; /* above the avatar */
    }

    .mx_EventTile[data-layout="bubble"] .mx_MediaBody {
        /* leave space for the timestamp */
        padding-right: 48px !important;
    }
        .mx_EventTile[data-layout="bubble"] .mx_ImageBody .mx_ImageBody_container {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            min-height: calc(1.8rem + var(--gutterSize) + var(--gutterSize));
            min-width: calc(1.8rem + var(--gutterSize) + var(--gutterSize));
        }

    .mx_EventTile[data-layout="bubble"] .mx_LegacyCallEvent {
        background-color: transparent;
        background-color: initial;

        border-style: solid;
        border-width: 1px;
        border-color: var(--cpd-color-gray-400);
    }

    .mx_EventTile[data-layout="bubble"] .mx_EventTile_footer {
        margin: var(--cpd-space-1-5x) 0;
        margin-inline: var(--EventTile_bubble_line-margin-inline-start) var(--EventTile_bubble_line-margin-inline-end);
    }
        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line {
            border-bottom-right-radius: var(--cornerRadius);
        }

            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_ImageBody::before,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MediaBody,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MLocationBody_map,
            .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_line .mx_MBeaconBody {
                border-bottom-right-radius: var(--cornerRadius) !important;
            }

        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_avatar {
            left: -36px;
        }

        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_MessageActionBar {
            inset-inline-start: calc(
                100% - var(--MessageActionBar-size-button) - 2 * var(--MessageActionBar-size-margin)
            );
            right: auto;
            right: initial; /* Reset the default value */
        }

        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_ThreadSummary {
            -webkit-margin-start: calc(-1 * var(--gutterSize));
                    margin-inline-start: calc(-1 * var(--gutterSize));
            -webkit-margin-end: auto;
                    margin-inline-end: auto;
        }

        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_ReactionsRow,
        .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_EventTile_footer {
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
        }

        .mx_EventTile[data-layout="bubble"][data-self="false"]{

        --backgroundColor: var(--cpd-color-gray-300);
}
        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line {
            -webkit-margin-start: auto;
                    margin-inline-start: auto;
            border-bottom-left-radius: var(--cornerRadius);
        }

            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_ImageBody::before,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MediaBody,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MLocationBody_map,
            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line .mx_MBeaconBody {
                border-bottom-left-radius: var(--cornerRadius) !important;
            }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_sticker {
            /* align timestamp with those inside bubbles */
            margin-right: 32px;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ThreadSummary {
            -webkit-margin-start: auto;
                    margin-inline-start: auto;
            -webkit-margin-end: calc(-1 * var(--gutterSize));
                    margin-inline-end: calc(-1 * var(--gutterSize));
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_DisambiguatedProfile {
            display: none;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReplyTile .mx_DisambiguatedProfile {
            display: block;
            max-width: 100%;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_footer {
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReactionsRow {
            -webkit-box-pack: end;
                -ms-flex-pack: end;
                    justify-content: flex-end;
        }

            .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_ReactionsRow > :last-child {
                -webkit-box-ordinal-group: 0;
                    -ms-flex-order: -1;
                        order: -1; /* Moving the "add reaction button" before the reactions */
            }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_avatar {
            top: -19px; /* height of the sender block */
            right: -38px;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_MediaBody {
            background: #2e80de;
            background: var(--cpd-color-green-300);
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_MessageActionBar {
            inset-inline-end: 0;
        }

        .mx_EventTile[data-layout="bubble"][data-self="true"]{

        --backgroundColor: var(--cpd-color-green-300);
}

    .mx_EventTile[data-layout="bubble"] .mx_EventTile_line {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 5px var(--EventTile_bubble_gap-inline);
        margin-block: 0;
        margin-inline: var(--EventTile_bubble_line-margin-inline-start) var(--EventTile_bubble_line-margin-inline-end);
        border-top-left-radius: var(--cornerRadius);
        border-top-right-radius: var(--cornerRadius);

        /* the selector here is quite weird because timestamps can appear linked & unlinked and in different places */
        /* in the DOM depending on the specific rendering context */

        /* noinspection CssReplaceWithShorthandSafely */
    }
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp {
            position: absolute;
            padding: 4px 8px;
            bottom: 0;
            right: 0;
            z-index: 3; /* above media and location share maps */
        }

        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine {
            /* TODO: Use a common class name instead */

            /* we put the timestamps for media (other than stickers) atop the media */
        }
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine .mx_MFileBody,
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine .mx_MAudioBody {
                max-width: 100%; /* avoid overflow */
            }

            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine .mx_MVoiceMessageBody {
                /* allow the event to be collapsed, this causes the waveform to get cropped */
                min-width: 0;
            }
                .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine.mx_EventTile_image .mx_MessageTimestamp {
                    border-radius: 8px;
                    border-radius: var(--MBody-border-radius);
                    /* Hardcoded colours because it's the same on all themes */
                    background-color: rgb(0, 0, 0, 0.6);
                    color: #ffffff;
                    padding: 0px 4px 0px 4px;
                }
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_sticker > a, 
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_sticker .mx_MessageActionBar + .mx_MessageTimestamp {
                /* position timestamps for stickers to the right of the un-bubbled sticker */
                right: auto;
                right: initial;
                left: 100%;
            }

            .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_sticker .mx_MStickerBody_wrapper {
                padding: 0;
            }

        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_ImageBody {
            width: 100%;
        }
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_MediaBody {
            border-radius: 0;
            border-radius: initial;
            border-top-left-radius: var(--cornerRadius);
            border-top-right-radius: var(--cornerRadius);
        }

        .mx_EventTile[data-layout="bubble"] .mx_EventTile_line .mx_EventTile_e2eIcon {
            -ms-flex-negative: 0;
                flex-shrink: 0; /* keep it at full size */

            /* Keep height equal to text for shield alignment, additional 2px because of 1px padding on text */
            height: calc(1.125rem + 2px);
        }

    .mx_EventTile[data-layout="bubble"]:not(.mx_EventTile_noBubble):not(.mx_EventTile_alignedBetweenBubbles)
        .mx_EventTile_line:not(.mx_EventTile_mediaLine) {
        /* make the top and bottom padding 1px smaller so that we can pad
            .mx_EventTile_content by 1px */
        /* to avoid anti-zalgo cutting off our larger than text emojis. */
        padding: calc(var(--gutterSize) - 1px);
        padding-right: 60px; /* space for the timestamp */
        background: var(--backgroundColor);
    }

        .mx_EventTile[data-layout="bubble"]:not(.mx_EventTile_noBubble):not(.mx_EventTile_alignedBetweenBubbles)
        .mx_EventTile_line:not(.mx_EventTile_mediaLine) .mx_EventTile_content {
            padding: 1px;
        }

    .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line {
        border-top-left-radius: 0;
    }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_ImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="false"] .mx_EventTile_line .mx_MBeaconBody {
            border-top-left-radius: 0;
        }
    .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line {
        border-bottom-left-radius: var(--cornerRadius);
    }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_ImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="false"] .mx_EventTile_line .mx_MBeaconBody {
            border-bottom-left-radius: var(--cornerRadius);
        }

    .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line {
        border-top-right-radius: 0;
    }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_ImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation[data-self="true"] .mx_EventTile_line .mx_MBeaconBody {
            border-top-right-radius: 0;
        }
    .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line {
        border-bottom-right-radius: var(--cornerRadius);
    }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_ImageBody .mx_ImageBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MVideoBody .mx_MVideoBody_container,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_ImageBody::before,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MediaBody,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MLocationBody_map,
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection[data-self="true"] .mx_EventTile_line .mx_MBeaconBody {
            border-bottom-right-radius: var(--cornerRadius);
        }
        .mx_EventTile[data-layout="bubble"].mx_EventTile_noSender .mx_EventTile_avatar {
            top: -19px;
        }
        .mx_EventTile[data-layout="bubble"][data-has-reply="true"] > .mx_EventTile_line {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }
            .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile_reply {
                max-width: 90%;
                padding: 0;
            }
                .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile_reply > a, 
                .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile_reply .mx_MessageActionBar + .mx_MessageTimestamp {
                    display: none !important;
                }

            .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                gap: var(--gutterSize);
            }
                .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile .mx_EventTile_avatar {
                    position: static;
                }
                .mx_EventTile[data-layout="bubble"][data-has-reply="true"] .mx_ReplyChain .mx_EventTile .mx_DisambiguatedProfile {
                    display: none;
                }

    .mx_EventTile[data-layout="bubble"] .mx_MPollBody {
        width: 550px; /* to prevent timestamp overlapping summary text */
        max-width: 100%; /* prevent overflowing a reply tile */
    }

        .mx_EventTile[data-layout="bubble"] .mx_MPollBody .mx_MPollBody_totalVotes {
            /* align summary text with corner timestamp */
            padding: 4px 0;
        }

    .mx_EventTile[data-layout="bubble"].mx_EventTile_bad {

        /* Special layout scenario for "Unable To Decrypt (UTD)" events */
    }
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad:hover::before {
                background: transparent;
            }
        .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line {
            display: grid;
            grid-template:
                "reply reply" auto
                "shield body" auto
                / auto 1fr;
        }

            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_UnknownBody,
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_ReplyChain_wrapper,
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_ViewSourceEvent {
                min-width: 0; /* Prevent a grid blowout */
            }

            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_EventTile_e2eIcon {
                grid-area: shield;
                margin-top: auto;
                margin-bottom: auto;
            }

            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_UnknownBody,
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_DecryptionFailureBody {
                grid-area: body;
            }

            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad .mx_EventTile_line .mx_ReplyChain_wrapper {
                grid-area: reply;
            }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_bad.mx_EventTile_info {
            /* "Unable To Decrypt" layout for hidden events */
        }
            .mx_EventTile[data-layout="bubble"].mx_EventTile_bad.mx_EventTile_info .mx_EventTile_line {
                gap: 0 9px; /* 9px: margin value of E2E icon */
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                grid-template:
                    "shield source" auto
                    / auto 1fr;
            }

                .mx_EventTile[data-layout="bubble"].mx_EventTile_bad.mx_EventTile_info .mx_EventTile_line .mx_ViewSourceEvent {
                    grid-area: source;
                }

    .mx_EventTile[data-layout="bubble"] .mx_MTextBody {
        max-width: 100%;
    }

    .mx_EventTile[data-layout="bubble"] .mx_LegacyCallEvent_wrapper,
    .mx_EventTile[data-layout="bubble"] .mx_CallEvent_wrapper {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .mx_EventTile[data-layout="bubble"].mx_EventTile_alignedBetweenBubbles {
        -webkit-margin-start: calc(
            var(--EventTile_bubble-margin-inline-start) + var(--EventTile_bubble_line-margin-inline-start)
        );
                margin-inline-start: calc(
            var(--EventTile_bubble-margin-inline-start) + var(--EventTile_bubble_line-margin-inline-start)
        );
        -webkit-margin-end: calc(
            var(--EventTile_bubble-margin-inline-end) + var(--EventTile_bubble_line-margin-inline-end)
        );
                margin-inline-end: calc(
            var(--EventTile_bubble-margin-inline-end) + var(--EventTile_bubble_line-margin-inline-end)
        );
    }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_alignedBetweenBubbles .mx_EventTile_line {
            max-width: 100%;
            width: 100%;
            margin: 0;
        }

.mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] {
    --backgroundColor: transparent;
}

    .mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_emote {
        padding-right: 60px; /* align with bubbles text */
        font-style: italic;
    }

        .mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_emote > a {
            /* linked timestamp element */
            -ms-flex-item-align: center;
                align-self: center;
            bottom: auto;
            bottom: initial;
            top: auto;
            top: initial;
            font-style: normal; /* undo italic above */
        }

        .mx_EventTile.mx_EventTile_noBubble[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_emote .mx_MEmoteBody {
            padding: 4px 0;
        }
    .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a, .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a {
        /* hide this timestamp as the tile will render its own */
        display: none;
    }

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"],
.mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"],
.mx_EventTile.mx_EventTile_info[data-layout="bubble"] {
    padding: 5px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

    .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line,
    .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_info,
    .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line,
    .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_info,
    .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line,
    .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_info {
        min-width: 100%;
        /* Preserve alignment with left edge of text in bubbles */
        margin: 0;
    }

.mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"],
.mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"],
.mx_EventTile.mx_EventTile_info[data-layout="bubble"],
.mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] {
    --backgroundColor: transparent;
    --gutterSize: 0;
}

    .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_avatar, .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_avatar, .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_avatar, .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_avatar {
        position: static;
        -webkit-box-ordinal-group: 0;
            -ms-flex-order: -1;
                order: -1;
        -webkit-margin-end: var(--EventTile_bubble_gap-inline);
                margin-inline-end: var(--EventTile_bubble_gap-inline); /* Same spacing between E2E icon and a hidden event */
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
    }

    .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_e2eIcon, .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_e2eIcon, .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_e2eIcon, .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_e2eIcon {
        -webkit-margin-start: 0;
                margin-inline-start: 0; /* mx_EventTile_avatar has margin-inline-end, so margin is not needed here */
        -ms-flex-item-align: center;
            align-self: center;
    }
        .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp, 
        .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp, 
        .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line > a, 
        .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp, 
        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line > a, 
        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp {
            right: auto;
            left: -77px;
            bottom: auto;
            bottom: initial;
            -ms-flex-item-align: center;
                align-self: center;
        }

            .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_bubbleContainer[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_leftAlignedBubble[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line > a .mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line > a.mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp .mx_MessageTimestamp,
            .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] .mx_EventTile_line .mx_MessageActionBar + .mx_MessageTimestamp.mx_MessageTimestamp {
                vertical-align: middle;
            }

.mx_GenericEventListSummary[data-layout="bubble"] {

    /* increase margin between ELS and the next Event to not have our user avatar overlap the expand/collapse button */
}
    .mx_GenericEventListSummary[data-layout="bubble"] .mx_EventTile.mx_EventTile_info .mx_EventTile_line {
        /* Avoid overflow of event info by cancelling width settings */
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="false"] + .mx_EventTile[data-layout="bubble"][data-self="true"] {
        margin-top: 20px;
    }

    .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info {
        padding: 2px 0;
        margin-right: 0;
    }

        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info .mx_MessageActionBar {
            /* Reset .mx_EventTile[data-layout="bubble"][data-self="false"] .mx_MessageActionBar */
            inset-inline-start: initial;
            inset-inline-end: 48px; /* align with that of right-column bubbles */
        }

        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info .mx_ReadReceiptGroup {
            /* match alignment to RRs of chat bubbles */
            inset-inline-end: calc(-1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end) + 60px);
        }

        .mx_GenericEventListSummary[data-layout="bubble"][data-expanded="true"] .mx_EventTile_info::before {
            inset-inline-end: 0; /* match alignment of the hover background to that of chat bubbles */
        }

.mx_EventTile_tileError[data-layout="bubble"] .mx_EventTile_line {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; /* restore the centering */
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTile {
    --EventTile_content-margin-inline-end: 34px;
    --EventTile_group_line-spacing-block-start: 1px;
    --EventTile_group_line-spacing-block-end: 3px;
    --EventTile_group_line-spacing-inline-start: 64px;
    --EventTile_group_line-line-height: 1.375rem;
    --EventTile_ThreadSummary-line-height: calc(2 * 0.75rem);

    -ms-flex-negative: 0;

        flex-shrink: 0;
    max-width: 100%;
    clear: both; /* TODO: check if this is necessary */
    padding-top: 18px;
    position: relative;
}

    .mx_EventTile.mx_EventTile_info {
        font-size: var(--cpd-font-size-body-sm);
        color: var(--cpd-color-text-secondary);
    }

    .mx_EventTile .mx_EventTile_avatar {
        cursor: pointer;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }

    .mx_EventTile .mx_EventTile_body {
        overflow-y: hidden;
        text-align: start;
    }

    .mx_EventTile .mx_ReadReceiptGroup_container svg {
        display: inline-block;
        width: 16px;
        height: 16px;
        color: var(--cpd-color-icon-tertiary);
    }
        .mx_EventTile .mx_EventTile_content.mx_EditMessageComposer,
        .mx_EventTile .mx_EventTile_content.mx_EditWysiwygComposer {
            /* Make sure the formatting bar is visible */
            overflow: visible;
        }

    .mx_EventTile .mx_EventTile_searchHighlight {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
        color: #f4f6fa;
        border-radius: 5px;
        padding-inline: 2px;
        cursor: pointer;
    }

        .mx_EventTile .mx_EventTile_searchHighlight a {
            background-color: #2e80de;
            background-color: var(--cpd-color-text-action-accent);
            color: #f4f6fa;
        }

    .mx_EventTile .mx_MessageTimestamp_lateIcon {
        position: absolute;
        right: 100%;
        top: var(--cpd-space-1x);
        color: var(--cpd-color-text-secondary);
    }

    .mx_EventTile .mx_EventTileBubble {
        margin-block: 10px;
        margin-block: var(--EventTileBubble_margin-block);
        min-width: 100px;
    }
        .mx_EventTile .mx_ImageBody .mx_ImageBody_container {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; /* on every layout */
        }

    .mx_EventTile .mx_DisambiguatedProfile {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font: var(--cpd-font-body-md-regular);
        display: inline-block;
        padding-bottom: 0px;
        padding-top: 0px;
    }

    .mx_EventTile .mx_ReactionsRow {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 4px;
    }
        .mx_EventTile .mx_ReplyChain--expanded .mx_EventTile_body {
            /* !important needed to override .mx_ReplyTile .mx_EventTile_content .mx_EventTile_body */
            display: block !important;
            overflow-y: scroll;
        }

        .mx_EventTile .mx_ReplyChain--expanded .mx_EventTile_collapsedCodeBlock {
            /* !important needed due to .mx_ReplyTile .mx_EventTile_content .mx_EventTile_pre_container > pre */
            display: block !important;
        }
        .mx_RoomView_searchResultsPanel .mx_EventTile.mx_EventTile_contextual {
            opacity: 0.4;
        }

    .mx_EventTile.mx_EventTile_bubbleContainer {
        display: grid;
        grid-template-columns: 1fr 100px;
    }

        .mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_line {
            margin-right: 0;
            grid-column: 1 / 3;
            padding: 0 !important; /* override default padding of mx_EventTile_line so that we can be centered */
        }

        .mx_EventTile.mx_EventTile_bubbleContainer .mx_EventTile_msgOption {
            grid-column: 2;
        }
            .mx_EventTile.mx_EventTile_bubbleContainer:hover .mx_EventTile_line {
                /* To avoid bubble events being highlighted */
                background-color: inherit !important;
            }

    .mx_EventTile.mx_EventTile_isEditing .mx_MessageTimestamp {
        visibility: hidden;
    }

    .mx_EventTile[data-layout="irc"],
    .mx_EventTile[data-layout="group"] {
        --selected-message-border-width: 4px;

        /* TODO: adjust the values for IRC layout */
        --EventTile-box-shadow-offset-x: calc(50px + var(--selected-message-border-width));
        --EventTile-box-shadow-spread-radius: -50px;

        /* this is used for the tile for the event which is selected via the URL. */
    }
        .mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon, .mx_EventTile[data-layout="group"] .mx_EventTile_e2eIcon {
            position: absolute;
        }
            .mx_EventTile[data-layout="irc"] .mx_ImageBody .mx_ImageBody_container, .mx_EventTile[data-layout="group"] .mx_ImageBody .mx_ImageBody_container {
                -webkit-box-pack: start;
                    -ms-flex-pack: start;
                        justify-content: flex-start;
                min-height: 2.75rem;
                min-width: 2.75rem;
            }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_line,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_reply,
        .mx_EventTile[data-layout="group"] .mx_EventTile_line,
        .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            position: relative;
            border-radius: 8px;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_reply, .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            margin-right: 10px;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption, .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption {
            float: right;
            text-align: right;
            position: relative;
            width: 90px;

            /* Hack to stop the height of this pushing the messages apart.
               Replaces margin-top: -6px. This interacts better with a read
               marker being in between. Content overflows. */
            height: 1px;
        }
            .mx_EventTile[data-layout="irc"].mx_EventTile_highlight .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_highlight .markdown-body .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_highlight .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_highlight .markdown-body .mx_EventTile_line {
                background-color: var(--cpd-color-yellow-200);
            }
            .mx_EventTile[data-layout="irc"]:focus-visible:focus-within .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_actionBarFocused .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_isEditing .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_selected .mx_EventTile_line, .mx_EventTile[data-layout="group"]:focus-visible:focus-within .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_actionBarFocused .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_isEditing .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_selected .mx_EventTile_line {
                background-color: var(--cpd-color-bg-subtle-secondary);
            }
            .mx_EventTile[data-layout="irc"].mx_EventTile_isEditing > .mx_EventTile_line, .mx_EventTile[data-layout="irc"].mx_EventTile_selected > .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_isEditing > .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_selected > .mx_EventTile_line {
                /* TODO: ultimately we probably want some transition on here. */
                -webkit-box-shadow: inset var(--EventTile-box-shadow-offset-x) 0 0 var(--EventTile-box-shadow-spread-radius)
                    #2e80de;
                        box-shadow: inset var(--EventTile-box-shadow-offset-x) 0 0 var(--EventTile-box-shadow-spread-radius)
                    #2e80de;
                -webkit-box-shadow: inset var(--EventTile-box-shadow-offset-x) 0 0 var(--EventTile-box-shadow-spread-radius)
                    var(--cpd-color-bg-action-primary-rest);
                        box-shadow: inset var(--EventTile-box-shadow-offset-x) 0 0 var(--EventTile-box-shadow-spread-radius)
                    var(--cpd-color-bg-action-primary-rest);
            }
            .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_e2eIcon, .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_e2eIcon {
                top: 0;
            }

        .mx_EventTile[data-layout="irc"].mx_EventTile_continuation .mx_EventTile_line, .mx_EventTile[data-layout="group"].mx_EventTile_continuation .mx_EventTile_line {
            clear: both;
        }
            .mx_EventTile[data-layout="irc"]:hover .mx_EventTile_line, .mx_EventTile[data-layout="group"]:hover .mx_EventTile_line {
                background-color: var(--cpd-color-bg-subtle-secondary);
            }
        .mx_EventTile[data-layout="bubble"] .mx_EventTileBubble, .mx_EventTile[data-layout="group"] .mx_EventTileBubble {
            margin-inline: auto;
        }

        .mx_EventTile[data-layout="bubble"] .mx_ReplyChain, .mx_EventTile[data-layout="group"] .mx_ReplyChain {
            margin-bottom: 8px;
        }

    .mx_EventTile[data-layout="irc"] {
        --EventTile_irc_line-padding-block: 1px;

        /* add --right-padding value of MessageTimestamp only */
        /* stylelint-disable-next-line declaration-colon-space-after */
        --EventTile_irc_line_info-margin-inline-start: calc(
            var(--name-width) + var(--icon-width) + 1 * var(--right-padding)
        );

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        padding-top: 0;
    }

        .mx_EventTile[data-layout="irc"] .mx_MessageTimestamp {
            min-width: 46px;
            min-width: var(--MessageTimestamp-width); /* ensure space for EventTile without timestamp */
            text-align: right;
        }

        .mx_EventTile[data-layout="irc"] > * {
            margin-right: var(--right-padding);
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon {
            height: 1.125rem;
            height: var(--irc-line-height);
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar,
        .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption {
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar {
            -webkit-box-ordinal-group: 2;
                -ms-flex-order: 1;
                    order: 1;
            position: relative;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            /* Need to use important to override the js calculated values. */
        }
            .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar > .mx_BaseAvatar,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_avatar > .mx_BaseAvatar > * {
                font-size: 0.625rem !important;
                line-height: calc(0.9375rem - 2px) !important;
            }

        .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile {
            -webkit-box-ordinal-group: 3;
                -ms-flex-order: 2;
                    order: 2;
            width: var(--name-width);
            -webkit-margin-end: 0;
                    margin-inline-end: 0; /* override mx_EventTile > * */
        }

            .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile > .mx_DisambiguatedProfile_displayName {
                width: 100%;
                text-align: end;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile > .mx_DisambiguatedProfile_mxid {
                visibility: collapse;
                margin-left: 0; /* Override the inherited margin. */
                padding: 0 5px;
            }

            .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile:hover {
                overflow: visible;
                z-index: 10;
            }

                .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile:hover > .mx_DisambiguatedProfile_displayName {
                    overflow: visible;
                    display: inline;
                    background-color: var(--cpd-color-bg-subtle-secondary);
                    border-radius: 8px 0 0 8px;
                    padding-right: 8px;
                }

                .mx_EventTile[data-layout="irc"] .mx_DisambiguatedProfile:hover > .mx_DisambiguatedProfile_mxid {
                    visibility: visible;
                    opacity: 1;
                    background-color: var(--cpd-color-bg-subtle-secondary);
                }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_e2eIcon {
            padding: 0;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
            background-position: center;
        }
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_e2eIcon,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_TextualEvent,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_ViewSourceEvent,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_MTextBody {
                /* add a 1px padding top and bottom because our larger
                emoji font otherwise gets cropped by anti-zalgo */
                padding: var(--EventTile_irc_line-padding-block) 0;
            }

            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_e2eIcon,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_TextualEvent,
            .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_MTextBody {
                display: inline-block;
            }
                .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_ReplyTile .mx_MTextBody {
                    display: -webkit-box; /* Enable -webkit-line-clamp */
                }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_line,
        .mx_EventTile[data-layout="irc"] .mx_EventTile_reply {
            -webkit-box-ordinal-group: 4;
                -ms-flex-order: 3;
                    order: 3;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            -ms-flex-negative: 1;
                flex-shrink: 1;
            min-width: 0;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_reply {
            -webkit-box-ordinal-group: 5;
                -ms-flex-order: 4;
                    order: 4;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption {
            -webkit-box-ordinal-group: 6;
                -ms-flex-order: 5;
                    order: 5;
        }

            .mx_EventTile[data-layout="irc"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                inset-block-start: -0.3rem; /* (var(--irc-line-height) - avatar height) / 2 */
            }

        .mx_EventTile[data-layout="irc"] .mx_ReplyChain {
            margin: 0;
        }

        .mx_EventTile[data-layout="irc"] .mx_EditMessageComposer_buttons {
            position: relative;
        }

        .mx_EventTile[data-layout="irc"] .mx_EventTileBubble {
            position: relative;
            left: var(--EventTile_irc_line_info-margin-inline-start);
        }

            .mx_EventTile[data-layout="irc"] .mx_EventTileBubble.mx_cryptoEvent {
                left: auto;
                left: initial;
            }

        .mx_EventTile[data-layout="irc"] .mx_ReplyTile .mx_EventTileBubble {
            left: auto;
            left: initial; /* Cancel the value specified above for the tile inside ReplyTile */
        }
            .mx_EventTile[data-layout="irc"].mx_EventTile_isEditing > .mx_EventTile_line .mx_EditMessageComposer {
                /* add space for the stroke on box-shadow */
                -webkit-padding-start: calc(
                    var(--selected-message-border-width) + var(--EditMessageComposer-padding-inline)
                );
                        padding-inline-start: calc(
                    var(--selected-message-border-width) + var(--EditMessageComposer-padding-inline)
                );
            }
            .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_avatar {
                left: var(--EventTile_irc_line_info-margin-inline-start);
                top: 0;
                margin-right: var(--right-padding);
                padding-block: var(--EventTile_irc_line-padding-block);
            }

            .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_EventTile_line {
                -webkit-margin-start: var(--EventTile_irc_line_info-margin-inline-start);
                        margin-inline-start: var(--EventTile_irc_line_info-margin-inline-start);
            }

            .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_ViewSourceEvent, 
            .mx_EventTile[data-layout="irc"].mx_EventTile_info .mx_TextualEvent {
                line-height: 1.125rem;
                line-height: var(--irc-line-height);
            }
            .mx_EventTile[data-layout="irc"].mx_EventTile_emote .mx_EventTile_avatar {
                /* add --right-padding value of MessageTimestamp only */
                margin-left: calc(var(--name-width) + var(--icon-width) + 1 * var(--right-padding));
            }

        .mx_EventTile[data-layout="irc"] .mx_EventTile_footer {
            margin: var(--cpd-space-1-5x) 0;
        }
        .mx_EventTile[data-layout="group"] .mx_EventTile_avatar {
            top: 14px;
            left: 8px;
        }

        .mx_EventTile[data-layout="group"] .mx_EventTile_line,
        .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            padding-top: var(--EventTile_group_line-spacing-block-start);
            padding-bottom: var(--EventTile_group_line-spacing-block-end);
            padding-left: var(--EventTile_group_line-spacing-inline-start);
            line-height: var(--EventTile_group_line-line-height);
        }

        .mx_EventTile[data-layout="group"] .mx_EventTile_e2eIcon {
            inset: 0 0 0 44px;

            /* Keep height equal to text for alignment */
            height: var(--EventTile_group_line-line-height);
            margin: 1px;
        }

        .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption {
            -webkit-margin-end: 10px;
                    margin-inline-end: 10px;
        }

            .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                /* This aligns the avatar with the last line of the */
                /* message. We want to move it one line up */
                /* See .mx_EventTile[data-layout=group] .mx_EventTile_line in _EventTile.scss */
                inset-block-start: calc(-1.375rem - 3px);
            }

        .mx_EventTile[data-layout="group"] .mx_MessageTimestamp {
            position: absolute;
            left: 0;
            text-align: center;
        }

        .mx_EventTile[data-layout="group"] .mx_ThreadSummary,
        .mx_EventTile[data-layout="group"] .mx_ThreadSummary_icon {
            margin-left: 64px;
        }

        .mx_EventTile[data-layout="group"] .mx_EventTile_footer {
            margin: var(--cpd-space-1x) var(--EventTile_group_line-spacing-inline-start);
        }

        .mx_EventTile[data-layout="group"] > .mx_DisambiguatedProfile {
            line-height: 1.25rem;
            margin-left: 64px;
            max-width: calc(100% - 64px);
        }

        .mx_EventTile[data-layout="group"] > .mx_EventTile_avatar {
            position: absolute;
            z-index: 9;
        }

        .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] {

            /* on ELS we need the margin to allow interaction with the expand/collapse button */
            /* which is normally in the RR gutter */
        }

            .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_ThreadSummary,
            .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_ThreadSummary_icon,
            .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_EventTile_line {
                margin-right: 80px;
                min-height: 0.875rem;
            }

            .mx_RoomView_timeline_rr_enabled .mx_EventTile[data-layout="group"] .mx_ThreadSummary {
                /* leave space on both left & right gutters */
                max-width: min(calc(100% - 64px - 80px), 600px);
            }

        .mx_EventTile[data-layout="group"].mx_EventTile_continuation {
            padding-top: 0;
        }

        .mx_EventTile[data-layout="group"].mx_EventTile_info {

            padding-top: 0;
        }

            .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar,
            .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_e2eIcon {
                line-height: 1;
                margin: 3px 0 2px;
            }

            .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar {
                top: auto;
                top: initial;
                inset-inline-start: 64px;
                height: 14px;
            }

            .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line {
                padding-block: 3px 2px;
                /* 20px: avatar area */
                -webkit-padding-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
                        padding-inline-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
            }

                .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line .mx_MessageTimestamp {
                    top: 0;
                }

            .mx_EventTile[data-layout="group"].mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line {
                /* TODO: check if this would be necessary; */
                -webkit-padding-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
                        padding-inline-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
            }

    .mx_EventTile[data-layout="bubble"] {
        /* Other half of the gutter is provided by margin-bottom on the last tile
        of the section */
        margin-top: calc(var(--gutterSize) / 2);
        margin-left: var(--EventTile_bubble-margin-inline-start);

        /* Reset default values. TODO: remove */
        max-width: none;
        max-width: initial;
        padding-top: 0;
    }
            .mx_EventTile[data-layout="bubble"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                position: absolute;
                inset-block-start: auto;

                /* as close to right gutter without clipping as possible */
                inset-inline-end: calc(-1 * var(--ReadReceiptGroup_EventBubbleTile-spacing-end));

                /* (EventTileLine.line-height - ReadReceiptGroup.height) / 2 */
                /* this centers the ReadReceiptGroup if we’ve got a single line */
                inset-block-end: calc((1.125rem - 24px) / 2);
            }
        .mx_EventTile[data-layout="bubble"] .mx_EventTileBubble {
            /* Timestamps are inside the tile, so the width can be less constrained */
            max-width: 600px;
        }

        .mx_EventTile[data-layout="bubble"].mx_EventTile_continuation {
            margin-top: 2px;
        }
        .mx_EventTile[data-layout="bubble"].mx_EventTile_lastInSection {
            /* Other half of the gutter is provided by margin-top on the first
            tile of the section */
            margin-bottom: calc(var(--gutterSize) / 2);
        }
        .mx_GenericEventListSummary[data-layout="irc"] .mx_EventTile_line .mx_RedactedBody, .mx_GenericEventListSummary[data-layout="group"] .mx_EventTile_line .mx_RedactedBody {
            line-height: 1; /* remove spacing between lines */
        }

    .mx_GenericEventListSummary[data-layout="irc"] {
        /* Apply only collapsed events block */
    }
        .mx_GenericEventListSummary[data-layout="irc"] > .mx_EventTile_line {
            /* add --right-padding value of MessageTimestamp and avatar only */
            /* stylelint-disable-next-line declaration-colon-space-after */
            padding-left: calc(
                var(--name-width) + var(--icon-width) + 46px + 2 * var(--right-padding)
            );
            padding-left: calc(
                var(--name-width) + var(--icon-width) + var(--MessageTimestamp-width) + 2 * var(--right-padding)
            );
        }
        .mx_GenericEventListSummary[data-layout="group"] .mx_EventTile_line {
            padding-left: 64px;
        }

        .mx_GenericEventListSummary[data-layout="group"] .mx_GenericEventListSummary_unstyledList > .mx_EventTile_info .mx_EventTile_avatar ~ .mx_EventTile_line {
            /* override padding-left $left-gutter */
            -webkit-padding-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
                    padding-inline-start: calc(var(--EventTile_group_line-spacing-inline-start) + 20px);
        }

.mx_EventTile_content {
    /*
    all the overflow-y: hidden; are to trap Zalgos -
    but they introduce an implicit overflow-x: auto.
    so make that explicitly hidden too to avoid random
    horizontal scrollbars occasionally appearing, like in
    https://github.com/vector-im/vector-web/issues/1154
    */
    overflow-y: hidden;
    overflow-x: hidden;
    margin-right: var(--EventTile_content-margin-inline-end);
}

    .mx_EventTile_content .markdown-body {
        font: var(--cpd-font-body-md-regular) !important;
        letter-spacing: var(--cpd-font-letter-spacing-body-md);
        font-family: inherit !important;
        white-space: normal !important;
        line-height: inherit !important;
        background-color: inherit;
        color: inherit; /* inherit the colour from the dark or light theme by default (but not for code blocks) */
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;

        /* Make h1 and h2 the same size as h3. */

        /*
        // actually, removing the Italic TTF provides
        // better results seemingly

        // compensate for Nunito italics being terrible
        // https://github.com/google/fonts/issues/1726
        em {
            transform: skewX(-14deg);
            display: inline-block;
        }
        */

        /* Support arbitrarily large marker numbers */

        /* Override nested lists being lower-roman */

        /* Make list type disc to match rich text editor */

        /* override styles from the base markdown CSS that put markdown content on its own line,
           as this isn't what we want for richtext emote content.
         */
    }

        .mx_EventTile_content .markdown-body pre,
        .mx_EventTile_content .markdown-body code {
            font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            background-color: var(--cpd-color-bg-subtle-primary);
        }

        .mx_EventTile_content .markdown-body code:not(pre *) {
            background-color: var(--cpd-color-bg-subtle-primary);
            border: 1px solid var(--cpd-color-gray-400);
            border-radius: 4px;
            /* The horizontal padding is added by github-markdown-css .markdown-body */
            padding: 2px 0;
            /* Avoid inline code blocks to be sticked when on multiple lines */
            line-height: 1.375rem;
            /* Avoid the border to be glued to the other words */
            margin-right: 2px;
        }

        .mx_EventTile_content .markdown-body code {
            white-space: pre-wrap; /* don't collapse spaces in inline code blocks */
        }

        .mx_EventTile_content .markdown-body pre {
            /* have to use overlay rather than auto otherwise Linux and Windows */
            /* Chrome gets very confused about vertical spacing: */
            /* https://github.com/vector-im/vector-web/issues/754 */
            overflow-x: overlay;
            overflow-y: visible;
        }

            .mx_EventTile_content .markdown-body pre::-webkit-scrollbar-corner {
                background: transparent;
            }

            .mx_EventTile_content .markdown-body pre{

            border: 1px solid var(--cpd-color-gray-400);
}

            .mx_EventTile_content .markdown-body pre code {
                white-space: pre; /* we want code blocks to be scrollable and not wrap */
            }

                .mx_EventTile_content .markdown-body pre code > * {
                    display: inline;
                }

        .mx_EventTile_content .markdown-body h1,
        .mx_EventTile_content .markdown-body h2,
        .mx_EventTile_content .markdown-body h3,
        .mx_EventTile_content .markdown-body h4,
        .mx_EventTile_content .markdown-body h5,
        .mx_EventTile_content .markdown-body h6 {
            font-family: inherit !important;
            color: inherit;
        }
        .mx_EventTile_content .markdown-body h1,
        .mx_EventTile_content .markdown-body h2 {
            font-size: 1.5em;
            border-bottom: none !important; /* override GFM */
        }

        .mx_EventTile_content .markdown-body a {
            color: var(--cpd-color-text-link-external);
        }

        .mx_EventTile_content .markdown-body blockquote {
            border-left: 2px solid var(--cpd-color-border-interactive-primary);
            color: var(--cpd-color-text-secondary);
            border-radius: 2px;
            padding: 0 10px;
        }
        .mx_EventTile_content .markdown-body ol {
            list-style-position: inside;
            -webkit-padding-start: 0.5em;
                    padding-inline-start: 0.5em;
        }
        .mx_EventTile_content .markdown-body ol ol,
        .mx_EventTile_content .markdown-body ul ol {
            list-style-type: revert;
        }
        .mx_EventTile_content .markdown-body ul {
            list-style-type: disc;
        }
        .mx_EventTile_content .markdown-body::before {
            display: none;
        }

        .mx_EventTile_content .markdown-body::after {
            display: none;
        }

/* Spoiler stuff */
.mx_EventTile_spoiler {
    cursor: pointer;

    /* clear button styles */
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    text-align: inherit;
}

    .mx_EventTile_spoiler .mx_EventTile_spoiler_reason {
        color: var(--cpd-color-text-secondary);
        font-size: 0.6875rem;
    }

    .mx_EventTile_spoiler .mx_EventTile_spoiler_content {
        -webkit-filter: blur(5px) saturate(0.1) sepia(1);
                filter: blur(5px) saturate(0.1) sepia(1);
        -webkit-transition-duration: 0.5s;
                transition-duration: 0.5s;
        pointer-events: none;
    }

    .mx_EventTile_spoiler.visible > .mx_EventTile_spoiler_content {
        -webkit-filter: none;
                filter: none;
        -webkit-user-select: auto;
           -moz-user-select: auto;
            -ms-user-select: auto;
                user-select: auto;
        pointer-events: auto;
    }

.mx_EventTile_bigEmoji {
    font-size: 48px;
    line-height: 57px;
}

    .mx_EventTile_bigEmoji .mx_Emoji {
        font-size: inherit !important;
    }

.mx_EventTile_e2eIcon {
    position: relative;
    width: 14px;
    height: 14px;
    display: block;
}

    .mx_EventTile_e2eIcon svg {
        height: inherit;
        width: inherit;
        display: block;
    }

.mx_EventTile_body {

    /* selector wrongly applies to pill avatars but those have explicit width/height passed at a higher specificity */
}
    .mx_EventTile_body a:hover {
        text-decoration: underline;
    }

    .mx_EventTile_body pre {
        border: 1px solid transparent;
    }

        .mx_EventTile:hover .mx_EventTile_body pre,
        .mx_EventTile:focus-visible:focus-within .mx_EventTile_body pre {
            border: 1px solid var(--cpd-color-gray-800);
        }
    .mx_EventTile_body.markdown-body img {
        -o-object-fit: contain;
           object-fit: contain;
        -o-object-position: left top;
           object-position: left top;

        /* Override the default colors of the 'github-markdown-css' library
        (#fff for light theme, #000 for dark theme) to match the inherited theme */
        background-color: inherit !important;
    }

    .mx_EventTile_clamp .mx_EventTile_body {
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
    }

    .mx_EventTile_body .mx_EventTile_pre_container {
        /* For correct positioning of _copyButton (See TextualBody) */
        position: relative;

        /* Inserted adjacent to <pre> blocks, (See TextualBody) */
    }
            .mx_EventTile_body .mx_EventTile_pre_container:focus-within .mx_EventTile_button, .mx_EventTile_body .mx_EventTile_pre_container:hover .mx_EventTile_button {
                visibility: visible;
            }

        .mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_collapsedCodeBlock {
            max-height: 30vh;
            padding-top: 12px;
            padding-bottom: 12px;
        }
        .mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_button {
            position: absolute;
            top: 8px;
            right: 8px;
            width: 16px;
            height: 16px;
            visibility: hidden;
        }

            .mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_button.mx_EventTile_buttonBottom {
                top: 33px;
            }

            .mx_EventTile_body .mx_EventTile_pre_container .mx_EventTile_button svg {
                width: inherit;
                height: inherit;
                display: block;
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

.mx_EventTile_lineNumbers {
    float: left;
    margin: 0 0.5em 0 -1.5em;
    color: gray;
}

    .mx_EventTile_lineNumbers span {
        text-align: right;
        display: block;
        padding-left: 1em;
    }

.mx_EventTile_button {
    display: inline-block;
    cursor: pointer;
}

.mx_EventTile_tileError {
    color: red;
    text-align: center;

    /* Remove some of the default tile padding so that the error is centered */
    margin-right: 0;
}

    .mx_EventTile_tileError .mx_EventTile_line {
        padding-left: 0;
        margin-right: 0;
    }

        .mx_EventTile_tileError .mx_EventTile_line span {
            padding: 4px 8px;
        }

    .mx_EventTile_tileError a {
        margin-left: 1em;
    }

.mx_EventTile:hover .mx_ThreadActionBar,
.mx_EventTile.mx_EventTile_actionBarFocused .mx_ThreadActionBar,
[data-whatinput="keyboard"] .mx_EventTile:focus-within .mx_ThreadActionBar,
.mx_EventTile:focus-visible:focus-within .mx_ThreadActionBar {
    visibility: visible;
}

.mx_EventTile[data-shape="ThreadsList"],
.mx_EventTile[data-shape="Notification"] {
    --topOffset: 12px;
    --leftOffset: 48px; /* notification dot next to the timestamp */

    margin: calc(12px + 1px) 0 12px;

    margin: calc(var(--topOffset) + 1px) 0 var(--topOffset); /* include the height of horizontal line */
    padding: 8px;
    border-radius: 8px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

    /* ThreadsList has always group layout */
}

    .mx_EventTile[data-shape="ThreadsList"]::after,
    .mx_EventTile[data-shape="ThreadsList"]::before,
    .mx_EventTile[data-shape="Notification"]::after,
    .mx_EventTile[data-shape="Notification"]::before {
        content: "";
        position: absolute;
    }

    .mx_EventTile[data-shape="ThreadsList"]::after, .mx_EventTile[data-shape="Notification"]::after { /* exclude the height of horizontal line */
        inset: auto calc(-1 * var(--cpd-space-2x)) calc(-1 * var(--topOffset) - 1px) calc(var(--leftOffset) + 8px);

        height: 1px;
        background-color: var(--cpd-color-gray-400);
        pointer-events: none; /* disable the message action bar on hover */
    }

    .mx_EventTile[data-shape="ThreadsList"]::before, .mx_EventTile[data-shape="Notification"]::before {
        inset: 0;
        pointer-events: none; /* ensures the title for the sender name can be correctly displayed */
    }

    .mx_EventTile[data-shape="ThreadsList"][data-notification="total"]::before, .mx_EventTile[data-shape="Notification"][data-notification="total"]::before {
        background-color: var(--cpd-color-icon-tertiary);
    }

    .mx_EventTile[data-shape="ThreadsList"][data-notification="highlight"]::before, .mx_EventTile[data-shape="Notification"][data-notification="highlight"]::before {
        background-color: #e0454b;
        background-color: var(--cpd-color-text-critical-primary);
    }
        .mx_EventTile[data-shape="ThreadsList"]:last-child::after, .mx_EventTile[data-shape="Notification"]:last-child::after {
            content: normal;
            content: initial;
        }
        .mx_EventTile[data-shape="ThreadsList"]:last-child, .mx_EventTile[data-shape="Notification"]:last-child{

        margin-bottom: 0;
}

    .mx_EventTile[data-shape="ThreadsList"]:first-child, .mx_EventTile[data-shape="Notification"]:first-child {
        margin-top: 0;
    }

    .mx_EventTile[data-shape="ThreadsList"] .mx_EventTile_avatar, .mx_EventTile[data-shape="Notification"] .mx_EventTile_avatar {
        inset: 8px auto auto 8px;
    }

    .mx_EventTile[data-shape="ThreadsList"] .mx_EventTile_details, .mx_EventTile[data-shape="Notification"] .mx_EventTile_details {
        overflow: hidden;
    }

    .mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile, .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

        .mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName,
        .mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid,
        .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName,
        .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
            display: block;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName, .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_displayName {
            -webkit-box-flex: 0;
                -ms-flex: none;
                    flex: none;
            max-width: 100%;
        }

        .mx_EventTile[data-shape="ThreadsList"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid, .mx_EventTile[data-shape="Notification"] .mx_DisambiguatedProfile .mx_DisambiguatedProfile_mxid {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
        }

    .mx_EventTile[data-shape="ThreadsList"] .mx_EventTile_line, .mx_EventTile[data-shape="Notification"] .mx_EventTile_line {
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding-bottom: 0;
        -webkit-padding-start: var(--leftOffset);
                padding-inline-start: var(--leftOffset);
    }

    .mx_EventTile[data-shape="ThreadsList"] .mx_MessageTimestamp, .mx_EventTile[data-shape="Notification"] .mx_MessageTimestamp {
        font-size: 0.75rem;
        width: auto;
        width: initial; /* Cancel the default width */
        overflow: hidden; /* ensure correct overflow behavior */
        text-overflow: ellipsis;
        position: static;
        position: initial;
        margin-left: auto; /* to ensure it's end-aligned even if it's the only element of its parent */
    }

    .mx_EventTile[data-shape="ThreadsList"]:hover, .mx_EventTile[data-shape="Notification"]:hover {
        background-color: var(--cpd-color-bg-subtle-secondary);
    }
        .mx_EventTile[data-shape="ThreadsList"][data-layout="group"]:hover .mx_EventTile_line, .mx_EventTile[data-shape="Notification"][data-layout="group"]:hover .mx_EventTile_line {
            background-color: inherit;
            -webkit-box-shadow: none;
                    box-shadow: none; /* don't show the verification left stroke in the thread list */
        }
    .mx_EventTile[data-shape="ThreadsList"] .mx_ThreadPanel_replies {
        margin-top: 8px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
        font: var(--cpd-font-body-sm-regular);
    }

        .mx_EventTile[data-shape="ThreadsList"] .mx_ThreadPanel_replies > svg {
            display: inline-block;
            height: 18px;
            width: 18px;
            -ms-flex-negative: 0;
                flex-shrink: 0;
            color: var(--cpd-color-icon-tertiary);
        }

        .mx_EventTile[data-shape="ThreadsList"] .mx_ThreadPanel_replies .mx_ThreadPanel_replies_amount {
            color: var(--cpd-color-text-secondary);
            font-weight: var(--cpd-font-weight-semibold);
            white-space: nowrap;
            position: relative;
            padding: 0 12px 0 8px;
        }

.mx_ThreadSummary_icon {
    display: inline-block;
    margin-top: 8px;
    margin-bottom: 8px;
}

    .mx_ThreadSummary_icon > svg {
        display: inline-block;
        height: 18px;
        width: 18px;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        color: var(--cpd-color-icon-tertiary);
        vertical-align: middle;
        -webkit-margin-end: 8px;
                margin-inline-end: 8px;
        margin-top: -2px;
    }

    a.mx_ThreadSummary_icon {
        color: var(--cpd-color-text-secondary);
    }

/* For style rules of ThreadView, see _ThreadPanel.pcss */
.mx_ThreadView {
    --ThreadView_group_spacing-start: 56px; /* 56px: 64px - 8px (padding) */
    --ThreadView_group_spacing-end: 8px; /* same as padding */
}

    .mx_ThreadView .mx_EventTile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;

        /* handling for hidden events (e.g reactions) in the thread view */
    }

        .mx_ThreadView .mx_EventTile .mx_EventTile_roomName {
            display: none;
        }
            .mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_avatar {
                position: absolute;
                /* Align with hidden event content */
                top: 50%;
                -webkit-transform: translateY(-50%);
                        transform: translateY(-50%);
                margin-top: -2px;
                margin-bottom: 0;
            }

            .mx_ThreadView .mx_EventTile.mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line,
            .mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_line {

                -webkit-padding-start: 0;

                        padding-inline-start: 0;
                line-height: 0.75rem;
            }

                .mx_ThreadView .mx_EventTile.mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                .mx_ThreadView .mx_EventTile.mx_EventTile_info.mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                .mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_line .mx_EventTile_content,
                .mx_ThreadView .mx_EventTile.mx_EventTile_info .mx_EventTile_line .mx_RedactedBody {
                    width: auto;
                    font-size: 0.75rem;
                }

            .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"],
            .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] {
                padding-top: 0;
            }

                .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_EventTile_avatar, .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_EventTile_avatar {
                    /* 14px: avatar width, 4px: align with text */
                    left: calc(46px + 14px - 4px);
                    left: calc(var(--MessageTimestamp-width) + 14px - 4px);
                    z-index: 9; /* position above the hover styling */
                }

                .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_MessageTimestamp, .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_MessageTimestamp {
                    top: 2px; /* Align with avatar */
                }
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"].mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"].mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="irc"] .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"].mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"].mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="group"] .mx_EventTile_line .mx_RedactedBody {
                        /* 14px: avatar width, 6px: 20px - 14px */
                        -webkit-margin-start: calc(14px + 6px);
                                margin-inline-start: calc(14px + 6px);
                    }
                .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_avatar {
                    inset-inline-start: 0;
                }
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"].mx_EventTile_selected .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"].mx_EventTile_selected .mx_EventTile_line .mx_RedactedBody,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_EventTile_content,
                    .mx_ThreadView .mx_EventTile.mx_EventTile_info[data-layout="bubble"] .mx_EventTile_line .mx_RedactedBody {
                        -webkit-margin-start: calc(var(--ThreadView_group_spacing-start) + 14px + 6px);
                                margin-inline-start: calc(var(--ThreadView_group_spacing-start) + 14px + 6px);
                    }

        .mx_ThreadView .mx_EventTile[data-layout="irc"],
        .mx_ThreadView .mx_EventTile[data-layout="group"] {
            -webkit-padding-before: 16px;
                    padding-block-start: 16px;
        }

            .mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_line,
            .mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_footer,
            .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_line,
            .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_footer {
                -webkit-margin-end: var(--ThreadView_group_spacing-end);
                        margin-inline-end: var(--ThreadView_group_spacing-end);
            }

            .mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_line, .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_line {
                padding-block: var(--BaseCard_EventTile_line-padding-block);

                /* Add padding to align message text with summary text */
                /* See: .mx_EventTile[data-layout="group"] .mx_EventTile_line */
                -webkit-padding-start: var(--ThreadView_group_spacing-start);
                        padding-inline-start: var(--ThreadView_group_spacing-start);
            }
                    .mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_line .mx_EventTile_content.mx_EditMessageComposer, .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_line .mx_EventTile_content.mx_EditMessageComposer {
                        -webkit-padding-start: 0;
                                padding-inline-start: 0; /* align start of first letter with that of the event body */
                    }

            .mx_ThreadView .mx_EventTile[data-layout="irc"] .mx_EventTile_footer, .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_footer {
                /* Align with message text and summary text */
                -webkit-margin-start: var(--ThreadView_group_spacing-start);
                        margin-inline-start: var(--ThreadView_group_spacing-start);
            }

            .mx_ThreadView .mx_EventTile[data-layout="irc"].mx_EventTile_continuation, .mx_ThreadView .mx_EventTile[data-layout="group"].mx_EventTile_continuation {
                -webkit-padding-before: 0;
                        padding-block-start: 0; /* Cancel padding-block-start */
            }

        .mx_ThreadView .mx_EventTile[data-layout="group"] {
            width: 100%;
        }

            .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_senderDetails {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
                gap: 16px; /* gap between the avatar and the sender ID */
                -webkit-padding-start: 8px;
                        padding-inline-start: 8px;
            }

                .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_senderDetails a {
                    -webkit-box-flex: 1;
                        -ms-flex: 1;
                            flex: 1;
                    min-width: 0;
                    min-width: initial;
                    max-width: 100%;
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-align: center;
                        -ms-flex-align: center;
                            align-items: center;
                }

                    .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_EventTile_senderDetails a .mx_DisambiguatedProfile {
                        margin-left: 8px;
                        -webkit-box-flex: 1;
                            -ms-flex: 1;
                                flex: 1;
                    }

            .mx_ThreadView .mx_EventTile[data-layout="group"] .mx_MessageTimestamp {
                position: absolute; /* for IRC layout */
                top: 2px; /* Align with mx_EventTile_content */
            }

        .mx_ThreadView .mx_EventTile[data-layout="bubble"] {
            margin-inline: var(--BaseCard_EventTile-spacing-inline);
        }

            .mx_ThreadView .mx_EventTile[data-layout="bubble"]::before {
                inset-inline: calc(-1 * var(--BaseCard_EventTile-spacing-inline));
                z-index: auto; /* enable background color on hover */
            }

            .mx_ThreadView .mx_EventTile[data-layout="bubble"] .mx_ReactionsRow {
                position: relative; /* display on hover */
            }

            .mx_ThreadView .mx_EventTile[data-layout="bubble"] .mx_EventTile_line.mx_EventTile_mediaLine {
                padding-block: 0;
                -webkit-padding-start: 0;
                        padding-inline-start: 0;
                max-width: var(--EventBubbleTile_line-max-width);
            }

            .mx_ThreadView .mx_EventTile[data-layout="bubble"][data-self="true"] {
                -webkit-box-align: end;
                    -ms-flex-align: end;
                        align-items: flex-end;
            }

                .mx_ThreadView .mx_EventTile[data-layout="bubble"][data-self="true"] .mx_EventTile_line.mx_EventTile_mediaLine {
                    margin: 0 var(--EventTile_bubble_line-margin-inline-end) 0 0; /* align with normal messages */
                }
            .mx_ThreadView .mx_GenericEventListSummary[data-layout="irc"] > .mx_EventTile_line, .mx_ThreadView .mx_GenericEventListSummary[data-layout="group"] > .mx_EventTile_line {
                -webkit-padding-start: var(--ThreadView_group_spacing-start);
                        padding-inline-start: var(--ThreadView_group_spacing-start); /* align summary text with message text */
                -webkit-padding-end: var(--ThreadView_group_spacing-end);
                        padding-inline-end: var(--ThreadView_group_spacing-end); /* align summary text with message text */
            }

/* Cascading - compact modern layout on the main timeline and the right panel */
    .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] {
        --MatrixChat_useCompactLayout_group-padding-top: 4px;
        --MatrixChat_useCompactLayout-top-avatar: 2px;
        --MatrixChat_useCompactLayout_line-spacing-block: 0px;

        padding-top: 4px;

        padding-top: var(--MatrixChat_useCompactLayout_group-padding-top);

        /* Cascading - apply zero padding to every element including mx_EventTile_emote */
    }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_line,
        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_reply {
            padding-block: var(--MatrixChat_useCompactLayout_line-spacing-block);
        }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_ReplyChain {
            margin-bottom: 4px;
        }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info {
            padding-top: 0; /* same as the padding for non-compact .mx_EventTile.mx_EventTile_info */
            font-size: 0.8125rem;
        }

            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_e2eIcon,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_avatar {
                top: 0;
                margin-block: var(--MatrixChat_useCompactLayout_line-spacing-block);
            }

            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_line,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_info .mx_EventTile_reply {
                line-height: 1.25rem;
            }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote {
            padding-top: 8px; /* add a bit more space for emotes so that avatars don't collide */
        }

            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote .mx_EventTile_avatar {
                top: var(--MatrixChat_useCompactLayout-top-avatar);
            }

            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote .mx_EventTile_line,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote .mx_EventTile_reply {
                padding-bottom: 1px;
            }
                .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote.mx_EventTile_continuation .mx_EventTile_line,
                .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_emote.mx_EventTile_continuation .mx_EventTile_reply {
                    padding-bottom: var(--MatrixChat_useCompactLayout_line-spacing-block);
                }
        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"].mx_EventTile_continuation {
            padding-top: var(--MatrixChat_useCompactLayout_line-spacing-block);
        }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_avatar {
            top: var(--MatrixChat_useCompactLayout-top-avatar);
        }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_e2eIcon {
            margin: 0px;
        }

        .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_DisambiguatedProfile {
            font-size: 0.8125rem;
        }
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_msgOption .mx_ReadReceiptGroup {
                /* This aligns the avatar with the last line of the */
                /* message. We want to move it one line up - 2rem */
                inset-block-start: -2rem;
            }
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body p,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body ul,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body ol,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body dl,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body blockquote,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body pre,
            .mx_MatrixChat_useCompactLayout .mx_EventTile[data-layout="group"] .mx_EventTile_content .markdown-body table {
                margin-bottom: 4px; /* 1/4 of the non-compact margin-bottom */
            }

.mx_EventTile_details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: -webkit-fill-available;
    width: -moz-available;
    width: stretch;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 8px;
    margin-left: var(--leftOffset);
}
    .mx_EventTile_details .mx_EventTile_truncated {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

.mx_EventTile_footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-2x);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/* Media query for mobile UI */
@media only screen and (max-width: 480px) {
    .mx_EventTile_content {
        margin-right: 0;
    }
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Robin Townsend <robin@robin.town>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EventTileBubble.mx_HistoryTile {
    margin: 10px auto;
    margin: var(--EventTileBubble_margin-block) auto;
}

    .mx_EventTileBubble.mx_HistoryTile svg {
        color: #91a1c0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
    --irc-line-height: 1.125rem;
}

.mx_IRCLayout {
    --name-width: 80px; /* cf. ircDisplayNameWidth on Settings.tsx */
    --icon-width: 14px;
    --line-height: var(--irc-line-height);
    --right-padding: 5px;

    line-height: 1.125rem !important;

    line-height: var(--line-height) !important;
}

    .mx_IRCLayout blockquote {
        margin: 0;
    }
        .mx_IRCLayout .mx_NewRoomIntro > h2 {
            line-height: normal;
            line-height: initial; /* Cancel var(--irc-line-height) */
        }

    .mx_IRCLayout .mx_ReplyChain {

        /**
         * adding the icon back in the document flow
         * if it's not present, there's no unwanted wasted space
         */
    }
        .mx_IRCLayout .mx_ReplyChain .mx_DisambiguatedProfile {
            width: auto;
            width: initial;
            background: transparent;
            -webkit-box-ordinal-group: initial;
                -ms-flex-order: initial;
                    order: initial;
            -ms-flex-negative: initial;
                flex-shrink: initial; /* Unset flex-shrink to prevent long display name blowout */
        }
            .mx_IRCLayout .mx_ReplyChain .mx_EventTile_emote > .mx_EventTile_avatar {
                margin-left: 0;
                margin-left: initial;
            }

        .mx_IRCLayout .mx_ReplyChain .mx_MessageTimestamp {
            width: auto;
            width: initial;
        }
        .mx_IRCLayout .mx_ReplyChain .mx_EventTile_e2eIcon {
            position: relative;
            -webkit-box-ordinal-group: 0;
                -ms-flex-order: -1;
                    order: -1;
        }

    .mx_IRCLayout .mx_ProfileResizer {
        --resizer-width: 15px;
        --resizer-a11y: 3px; /* Magic number, to be replaced with something more proper from the perspective of a11y */

        position: absolute;
        height: 100%;
        width: 15px;
        width: var(--resizer-width);
        cursor: col-resize;
        z-index: 100;

        /* Add width of every element rendered before the resizer (including padding for the avatar and the display
           name), subtracting the resizer width itself to prevent the resizer from overlapping the text and moving
           the resizer a bit to the left to make it easier to avoid selecting the resizer when highlighting text.
           Please note that MessageTimestamp does not have inline padding. */
        inset-inline-start: calc(
            18px + 46px + var(--icon-width) +
                var(--right-padding) + var(--name-width) + var(--right-padding) - 15px -
                3px
        );
        inset-inline-start: calc(
            var(--RoomView_MessageList-padding) + var(--MessageTimestamp-width) + var(--icon-width) +
                var(--right-padding) + var(--name-width) + var(--right-padding) - var(--resizer-width) -
                var(--resizer-a11y)
        );
    }
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InvitedIconView {
    color: var(--cpd-color-icon-tertiary);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_JumpToBottomButton {
    z-index: 1000;
    position: absolute;
    /* 12 because height is 50 but button is only 38 = 12+(50-38) = 24 */
    bottom: 12px;
    right: 24px;
    width: 38px;
    /* give it a fixed height so the badge doesn't make */
    /* it taller and pop upwards when visible */
    height: 50px;
    text-align: center;
}

.mx_JumpToBottomButton_badge {
    position: relative;
    top: -12px;
    border-radius: 16px;
    font-weight: bold;
    font-size: 0.75rem;
    line-height: 0.875rem;
    text-align: center;
    /* to be able to get it centered */
    /* with text-align in parent */
    display: inline-block;
    padding: 0 4px;
    color: var(--cpd-color-text-on-solid-primary);
    background-color: var(--cpd-color-icon-secondary);
}

.mx_JumpToBottomButton_highlight .mx_JumpToBottomButton_badge {
    background-color: var(--cpd-color-icon-critical-primary);
}

.mx_JumpToBottomButton_scrollDown {
    position: relative;
    display: block;
    height: 38px;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: var(--cpd-color-bg-canvas-default);
    border: 1.3px solid var(--cpd-color-icon-tertiary);
    cursor: pointer;
}

    .mx_JumpToBottomButton_scrollDown svg {
        height: inherit;
        width: inherit;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 7px 8px 7px 6px;
        color: var(--cpd-color-icon-tertiary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyRoomList {
    padding-right: 7px; /* width of the scrollbar, to line things up */
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyRoomListHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

    .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextLessTitle,
    .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextMenuButton {
        font: var(--cpd-font-heading-sm-semibold);
        font-weight: var(--cpd-font-weight-semibold);
        padding: 1px 24px 1px 4px;
        position: relative;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        margin-left: 8px;
        margin-right: auto;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }

    .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextMenuButton {
        border-radius: 6px;
    }

        .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextMenuButton:hover {
            background-color: var(--cpd-color-gray-400);
        }

        .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextMenuButton svg {
            width: 20px;
            height: 20px;
            top: 3px;
            right: 0;
            position: absolute;
            color: var(--cpd-color-gray-800);
        }

        .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_contextMenuButton[aria-expanded="true"] {
            background-color: var(--cpd-color-gray-400);
        }

    .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_plusButton {
        width: 32px;
        height: 32px;
        border-radius: 8px;
        position: relative;
        padding: 8px;
        margin-left: 8px;
        margin-right: 12px;
        background-color: var(--cpd-color-alpha-gray-300);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

        .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_plusButton svg {
            width: 16px;
            height: 16px;
            position: absolute;
            color: var(--cpd-color-text-secondary);
        }

        .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_plusButton:hover {
            background-color: var(--cpd-color-gray-800);
        }

            .mx_LegacyRoomListHeader .mx_LegacyRoomListHeader_plusButton:hover svg {
                color: var(--cpd-color-bg-canvas-default);
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LiveContentSummary {
    color: var(--cpd-color-text-secondary);
}
        .mx_LiveContentSummary .mx_LiveContentSummary_text svg {
            display: inline-block;
            vertical-align: text-bottom;
            color: var(--cpd-color-text-secondary);
            width: 16px;
            height: 16px;
            margin-right: 4px;
        }

        .mx_LiveContentSummary .mx_LiveContentSummary_text.mx_LiveContentSummary_text_active {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
        }

            .mx_LiveContentSummary .mx_LiveContentSummary_text.mx_LiveContentSummary_text_active svg {
                color: #2e80de;
                color: var(--cpd-color-text-action-accent);
            }

    .mx_LiveContentSummary .mx_LiveContentSummary_participants svg {
        display: inline-block;
        vertical-align: middle;
        color: var(--cpd-color-text-secondary);
        width: 16px;
        height: 16px;
        margin-right: 2px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MemberListHeaderView {
    border-bottom: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
    max-height: 112px;
}

    .mx_MemberListHeaderView .mx_MemberListHeaderView_container {
        margin-top: var(--cpd-space-6x);
        width: 100%;
    }

    .mx_MemberListHeaderView .mx_MemberListHeaderView_invite_small {
        margin-left: var(--cpd-space-3x);
        margin-right: var(--cpd-space-4x);
    }

    .mx_MemberListHeaderView .mx_MemberListHeaderView_invite_large {
        width: 288px;
        height: 36px;
    }

    .mx_MemberListHeaderView .mx_MemberListHeaderView_label {
        padding: var(--cpd-space-6x) 0 var(--cpd-space-2x) var(--cpd-space-4x);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        color: var(--cpd-color-text-secondary);
        font: var(--cpd-font-body-sm-semibold);
    }

    .mx_MemberListHeaderView .mx_MemberListHeaderView_search {
        width: 240px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin-left: var(--cpd-space-4x);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MemberListView {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 0;
}

    .mx_MemberListView .mx_MemberListView_container {
        height: 100%;
    }

    .mx_MemberListView .mx_MemberListView_separator {
        margin: 0;
        border: none;
        border-top: 2px solid var(--cpd-color-bg-subtle-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MemberTileView {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-4x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 56px;
    border-bottom: var(--cpd-border-width-1) solid #182533;
    border-bottom: var(--cpd-border-width-1) solid var(--cpd-color-gray-300);
}

    .mx_MemberTileView .mx_MemberTileView_left,
    .mx_MemberTileView .mx_MemberTileView_right {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--cpd-space-2x);
    }

    .mx_MemberTileView .mx_MemberTileView_left {
        -ms-flex-preferred-size: 209px;
            flex-basis: 209px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        min-width: 0;
    }

    .mx_MemberTileView .mx_MemberTileView_name {
        font: var(--cpd-font-body-md-medium);
        min-width: 0;
    }

    .mx_MemberTileView .mx_MemberTileView_userLabel {
        font: var(--cpd-font-body-sm-regular);
        color: var(--cpd-color-text-secondary);
        margin-left: var(--cpd-space-4x);
    }

    .mx_MemberTileView .mx_MemberTileView_avatar {
        position: relative;
        height: 32px;
        width: 32px;
    }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageComposer_wrapper {
    vertical-align: middle;
    margin: auto;
    border-top: 1px solid transparent;
    position: relative;
    padding-left: 42px;
    padding-right: 16px;
}

.mx_MessageComposer_replaced_wrapper {
    margin-left: auto;
    margin-right: auto;
}

.mx_MessageComposer_replaced_valign {
    height: 60px;
    display: table-cell;
    vertical-align: middle;
}

.mx_MessageComposer_roomReplaced_icon {
    float: left;
    margin-right: 20px;
    margin-top: 5px;
    width: 31px;
    height: 31px;
}

.mx_MessageComposer_roomReplaced_header {
    font-weight: bold;
}

.mx_MessageComposer_row {
    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;
    width: 100%;
}

.mx_MessageComposer_actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 6px;
}
    .mx_MessageComposer .mx_MessageComposer_avatar {
        position: absolute;
        left: 26px;
    }

        .mx_MessageComposer .mx_MessageComposer_avatar .mx_BaseAvatar {
            display: block;
        }

.mx_MessageComposer_e2eIconWrapper {
    height: 12px; /* Match the height of the E2E icon for alignment */
    width: 12px;
    position: absolute;
    left: 20px;
    top: 22px;
    margin-right: 0; /* Counteract the E2EIcon class */
    margin-left: 3px; /* Counteract the E2EIcon class */
}

    .mx_MessageComposer_e2eIconWrapper .mx_MessageComposer_e2eIcon {
        margin: 0;
        width: inherit;
        height: inherit;
    }

.mx_MessageComposer_noperm_error {
    width: 100%;
    height: 60px;
    font-style: italic;
    color: var(--cpd-color-gray-900);
    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;
}

.mx_MessageComposer_input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    vertical-align: middle;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 60px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    font: var(--cpd-font-body-md-regular);
    margin-right: 6px;
}

    .mx_MessageComposer_input pre {
        background-color: rgba(0, 0, 0, 0.04);
        border-radius: 3px;
        padding: 10px;
    }

    .mx_MessageComposer_input textarea {
        display: block;
        width: 100%;
        padding: 0px;
        margin-top: 6px;
        margin-bottom: 6px;
        border: 0px;
        resize: none;
        outline: none;
        -webkit-box-shadow: none;
                box-shadow: none;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        background-color: var(--cpd-color-bg-canvas-default);
        font: var(--cpd-font-body-md-regular);
        max-height: 120px;
        overflow: auto;

        /* hack for FF as vertical alignment of custom placeholder text is broken */
    }
        .mx_MessageComposer_input textarea::-moz-placeholder {
            line-height: 100%;
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
            opacity: 1;
        }

        .mx_MessageComposer_input textarea::-webkit-input-placeholder {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
        }

.mx_MessageComposer_button_highlight {
    background: var(--cpd-color-bg-subtle-primary);
    color: var(--cpd-color-icon-primary) !important;
}

.mx_MessageComposer_button {
    position: relative;
    cursor: pointer;
    border-radius: 50%;
}
    .mx_MessageComposer_button svg {
        color: var(--cpd-color-icon-tertiary);
    }
    .mx_MessageComposer_button:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

        .mx_MessageComposer_button:hover svg {
            color: var(--cpd-color-icon-primary);
        }
    .mx_MessageComposer_button{
    padding: 3px;
    height: 20px;
    width: 20px;
}

    .mx_MessageComposer_button:last-child {
        margin-right: auto;
    }
        .mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::after {
            background: var(--cpd-color-bg-subtle-primary);
        }

        .mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::before {
            background-color: var(--cpd-color-icon-primary);
            z-index: 2;
        }

    .mx_MessageComposer_button svg {
        width: inherit;
        height: inherit;
    }
    .mx_MessageComposer_wysiwyg .mx_MessageComposer_wrapper {
        padding-left: 16px;
        margin-top: 6px;
        margin-bottom: 12px;
    }

    .mx_MessageComposer_wysiwyg .mx_MessageComposer_row {
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end;
    }

    .mx_MessageComposer_wysiwyg .mx_MessageComposer_actions {
        /* Height of the composer editor */
        height: 40px;
    }

    .mx_MessageComposer_wysiwyg .mx_MediaBody {
        padding-top: 4px;
        padding-bottom: 4px;
    }

    .mx_MessageComposer_wysiwyg .mx_MessageComposer_button {
        position: relative;
        cursor: pointer;
        border-radius: 5px;
    }
        .mx_MessageComposer_wysiwyg .mx_MessageComposer_button svg {
        color: var(--cpd-color-icon-tertiary);
    }
        .mx_MessageComposer_wysiwyg .mx_MessageComposer_button:hover {
        background-color: var(--cpd-color-bg-subtle-secondary);
    }

        .mx_MessageComposer_wysiwyg .mx_MessageComposer_button:hover svg {
            color: var(--cpd-color-gray-800);
        }
            .mx_MessageComposer_wysiwyg .mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::after {
                background: #2e80de;
                background: var(--cpd-color-green-300);
            }

            .mx_MessageComposer_wysiwyg .mx_MessageComposer_button.mx_MessageComposer_closeButtonMenu::before {
                background-color: #2e80de;
                background-color: var(--cpd-color-text-action-accent);
                z-index: 2;
            }

.mx_MessageComposer_buttonMenu {
    width: 24px;
    height: 24px;
    padding: 1px;
}

    .mx_MessageComposer_buttonMenu svg {
        width: 24px;
        height: 24px;
    }

.mx_MessageComposer_sendMessage {
    cursor: pointer;
    position: relative;
    padding: var(--cpd-space-2x);
    border-radius: 100%;
    background-color: var(--cpd-color-icon-accent-tertiary);
    height: 16px;
    width: 16px;
}

    .mx_MessageComposer_sendMessage svg {
        height: inherit;
        width: inherit;

        color: var(--cpd-color-icon-on-solid-primary);
    }
    .mx_MatrixChat_useCompactLayout .mx_MessageComposer_input {
        min-height: 50px;
    }

    .mx_MatrixChat_useCompactLayout .mx_MessageComposer_noperm_error {
        height: 50px;
    }

/**
 * Unstable compact mode
 */

.mx_MessageComposer.mx_MessageComposer--compact {
    margin-right: 0;
}

    .mx_MessageComposer.mx_MessageComposer--compact .mx_MessageComposer_wrapper {
        padding: 0 0 0 25px;
    }

    .mx_MessageComposer.mx_MessageComposer--compact .mx_MessageComposer_e2eIconWrapper {
        left: 0;
    }
        .mx_MessageComposer.mx_MessageComposer--compact:not(.mx_MessageComposer_e2eStatus) .mx_MessageComposer_wrapper {
            padding: 0;
        }

    .mx_MessageComposer.mx_MessageComposer--compact .mx_MessageComposer_button:last-child {
        margin-right: 0;
    }

    .mx_MessageComposer.mx_MessageComposer--compact .mx_MessageComposer_e2eIcon {
        left: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MessageComposerFormatBar {
    display: none;
    width: calc(32px * 6);
    height: 32px;
    position: absolute;
    cursor: pointer;
    border-radius: 8px;
    background-color: var(--cpd-color-bg-canvas-default);
    border: var(--cpd-border-width-1) solid var(--cpd-color-border-disabled);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    /* equal to z-index of mx_ReplyPreview and mx_RoomView_statusArea (1000) */
    /* but as it appears after them in the DOM, will appear on top. */
    z-index: 1000;
}

    .mx_MessageComposerFormatBar.mx_MessageComposerFormatBar_shown {
        display: block;
    }

    .mx_MessageComposerFormatBar > * {
        white-space: nowrap;
        display: inline-block;
        position: relative;
        margin: 2px;
    }

    .mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button {
        width: 28px;
        height: 28px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        vertical-align: middle;
        background: none;
        border: none;
        padding: 0;
    }

        .mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button svg {
            width: inherit;
            height: inherit;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            padding: var(--cpd-space-1x);
            color: var(--cpd-color-icon-secondary);
        }

        .mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button:hover {
            background: var(--cpd-color-bg-subtle-secondary);
            border-radius: 6px;
            z-index: 1;
        }

            .mx_MessageComposerFormatBar .mx_MessageComposerFormatBar_button:hover svg {
                color: var(--cpd-color-icon-primary);
            }

.mx_MessageComposerFormatBar_buttonTooltip {
    white-space: nowrap;
    font-size: 0.8125rem;
    font-weight: var(--cpd-font-weight-semibold);
    min-width: 54px;
    text-align: center;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NewRoomIntro {
    margin: 40px 0 48px 64px;
}
        .mx_NewRoomIntro .mx_MiniAvatarUploader_hasAvatar:not(.mx_MiniAvatarUploader_busy):not(:hover) .mx_MiniAvatarUploader_indicator {
            display: none;
        }

    .mx_NewRoomIntro .mx_NewRoomIntro_buttons {
        margin-top: 28px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
            flex-flow: wrap;
        gap: 14px 12px;
    }

        .mx_NewRoomIntro .mx_NewRoomIntro_buttons .mx_AccessibleButton {
            line-height: 1.5rem;
            display: inline-block;
        }

            .mx_NewRoomIntro .mx_NewRoomIntro_buttons .mx_AccessibleButton svg {
                display: inline-block;
                color: var(--cpd-color-bg-canvas-default);
                width: 20px;
                height: 20px;
                margin-right: 5px;
                vertical-align: text-bottom;
            }

    .mx_NewRoomIntro > h2 {
        margin: var(--cpd-space-6x) 0 var(--cpd-space-4x);
        font: var(--cpd-font-heading-md-semibold);
    }

    .mx_NewRoomIntro > p {
        margin: 0;
        font-size: 0.9375rem;
        color: var(--cpd-color-text-secondary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NotificationBadge {

    /* Badges are structured a bit weirdly to work around issues with non-monospace */
    /* font styles. The badge pill is actually a background div and the count floats */
    /* within that. For example: */
    /*  ( 99+ ) <-- Rounded pill is a _bg class. */
    /*     ^- The count is an element floating within that. */
}
    .mx_NotificationBadge:not(.mx_NotificationBadge_visible) {
        display: none;
    }

    .mx_NotificationBadge.mx_NotificationBadge_visible {
        background-color: var(--cpd-color-icon-secondary);
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;

        /* Create a flexbox to order the count a bit easier */
        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;

        /* These are the 3 background types */

        /* Badges for highlight notifications. Style for notification level
         * badges is in _EventTile.scss because it applies only to notification
         * dots, not badges.
         */

        /* The following is the floating badge */
    }

        .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_dot {
            width: 8px;
            height: 8px;
            border-radius: 8px;
            background-color: var(--cpd-color-icon-primary);

            /* Redundant sounding name, but a notification badge that indicates there is a regular,
             * non-highlight notification
             * The green colour only applies for notification dot: badges indicating the same notification
             * level are the standard grey.
             */
        }

            .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_dot .mx_NotificationBadge_count {
                display: none;
            }
            .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_dot.mx_NotificationBadge_level_notification {
                background-color: #3ecf8e;
                background-color: var(--cpd-color-icon-success-primary);
            }
        .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_level_highlight {
            background-color: var(--cpd-color-icon-critical-primary);
        }

        .mx_NotificationBadge.mx_NotificationBadge_visible > svg {
            width: 16px;
            height: 16px;
        }

        .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_2char {
            width: 1rem;
            height: 1rem;
            border-radius: 1rem;
        }

        .mx_NotificationBadge.mx_NotificationBadge_visible.mx_NotificationBadge_3char {
            width: 1.625rem;
            height: 1rem;
            border-radius: 1rem;
        }

        .mx_NotificationBadge.mx_NotificationBadge_visible .mx_NotificationBadge_count {
            font-size: 0.625rem;
            line-height: 0.875rem;
            font-weight: var(--cpd-font-weight-semibold);
            color: var(--cpd-color-text-on-solid-primary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_OverflowTileView {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    cursor: pointer;
}

.mx_OverflowTileView_text {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    overflow: hidden;
    font: var(--cpd-font-body-md-regular);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-style: italic;
}

.mx_OverflowTileView:hover {
    padding-right: 30px;
    position: relative; /* to keep the chevron aligned */
}

    .mx_OverflowTileView:hover .mx_OverflowTileView_chevron {
        display: inline;
    }

.mx_OverflowTileView_chevron {
    position: absolute;
    top: calc(50% - 12px); /* center */
    right: 0;
    width: 24px;
    height: 24px;
    color: #91a1c0;
    display: none;
}

.mx_OverflowTileView_icon {
    padding-left: 3px;
    padding-right: 12px;
    padding-top: 4px;
    padding-bottom: 4px;
    position: relative;
    line-height: 0;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2017 Travis Ralston

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PinnedEventTile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-4x);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

    .mx_PinnedEventTile .mx_PinnedEventTile_wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-1x);
        /* Remove avatar width and space between the avatar and the wrapper */
        /* We need it to make the location fit */
        width: calc(100% - var(--cpd-space-4x) - 32px);
        /* Prevent a long sender name to overflow the tile */
        overflow: hidden;
    }

        .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_top {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--cpd-space-1x);
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

            .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_top .mx_PinnedEventTile_sender {
                text-overflow: ellipsis;
                overflow: hidden;
                white-space: nowrap;
                font: var(--cpd-font-body-md-semibold);
            }

        .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--cpd-space-2x);
            font: var(--cpd-font-body-sm-regular);
        }

            .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread svg {
                width: 20px;
                fill: var(--cpd-color-icon-tertiary);
            }

            .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread span {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                color: var(--cpd-color-text-secondary);
            }

            .mx_PinnedEventTile .mx_PinnedEventTile_wrapper .mx_PinnedEventTile_thread button {
                background: transparent;
                border: none;
                cursor: pointer;
                text-decoration: underline;
            }
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_PinnedMessageBanner {
    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;
    gap: var(--cpd-space-4x);
    /* 64px = 63px + 1px from the bottom border */
    height: 63px;
    padding: 0 var(--cpd-space-4x);

    background-color: var(--cpd-color-bg-canvas-default);
    border-bottom: 1px solid var(--cpd-color-gray-400);

    /* From figma */
    -webkit-box-shadow: 0 var(--cpd-space-2x) var(--cpd-space-6x) calc(var(--cpd-space-2x) * -1) rgb(27, 29, 34, 0.1);
            box-shadow: 0 var(--cpd-space-2x) var(--cpd-space-6x) calc(var(--cpd-space-2x) * -1) rgb(27, 29, 34, 0.1);
}

    .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main {
        color: inherit;
        background: transparent;
        border: none;
        text-align: start;
        cursor: pointer;

        height: 100%;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_content {
            display: grid;
            grid-template:
                "indicators pinIcon title" auto
                "indicators pinIcon message" auto;
            grid-column-gap: var(--cpd-space-2x);
            -webkit-column-gap: var(--cpd-space-2x);
               -moz-column-gap: var(--cpd-space-2x);
                    column-gap: var(--cpd-space-2x);
        }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators {
            grid-area: indicators;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: var(--cpd-space-0-5x);
            height: 100%;
        }

            .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators .mx_PinnedMessageBanner_Indicator {
                width: var(--cpd-space-0-5x);
                background-color: var(--cpd-color-gray-600);
                height: 100%;
            }

            .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators .mx_PinnedMessageBanner_Indicator--active {
                background-color: var(--cpd-color-icon-accent-primary);
            }

            .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_Indicators .mx_PinnedMessageBanner_Indicator--hidden {
                background-color: transparent;
            }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_PinIcon {
            grid-area: pinIcon;
            align-self: center;
            fill: var(--cpd-color-icon-secondary-alpha);
        }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_title {
            grid-area: title;
            font: var(--cpd-font-body-sm-regular);
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
            line-height: 20px;
        }

            .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_title .mx_PinnedMessageBanner_title_counter {
                font: var(--cpd-font-body-sm-semibold);
            }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_message {
            grid-area: message;
            line-height: 20px;
        }

        .mx_PinnedMessageBanner .mx_PinnedMessageBanner_main .mx_PinnedMessageBanner_redactedMessage {
            grid-area: message;
            height: 20px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

    .mx_PinnedMessageBanner .mx_PinnedMessageBanner_actions {
        white-space: nowrap;
    }
    .mx_PinnedMessageBanner[data-single-message="true"] .mx_PinnedMessageBanner_content {
        grid-template: "indicators pinIcon message" auto;
    }

        .mx_PinnedMessageBanner[data-single-message="true"] .mx_PinnedMessageBanner_content .mx_PinnedMessageBanner_message {
            line-height: 40px;
        }
}
@layer app-web{

/*
PLX unified composer media picker (Midnight).

Opens ABOVE the composer: bg --plx-panel-2 (#202B36), radius 18, ~322px tall,
top tab row with an active-tab pill (rgba(46,128,222,.22)) + close X, accent
--plx-accent (#2E80DE). Falls back to compound tokens if the PLX theme vars
aren't defined (e.g. non-Midnight theme), so it never renders unstyled.
*/

.mx_PlxMediaPicker {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 360px;
    max-width: calc(100vw - 32px);
    height: 322px;
    /* Dock cleanly ABOVE the composer input: the picker is an in-flow sibling of
       .mx_MessageComposer_row inside the composer wrapper, so it pushes the input
       down rather than floating over the timeline. position:relative + z-index keep
       its shadow above neighbouring composer chrome without escaping the flow. */
    position: relative;
    z-index: 1;
    margin: 0 12px 8px;
    background: #202b36;
    background: var(--plx-panel-2, var(--cpd-color-bg-subtle-secondary, #202b36));
    border: 1px solid rgba(255, 255, 255, 0.06);
    border: 1px solid var(--plx-border, rgba(255, 255, 255, 0.06));
    border-radius: 18px;
    -webkit-box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.45),
        0 2px 8px rgba(0, 0, 0, 0.3);
            box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.45),
        0 2px 8px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    color: #ffffff;
    color: var(--plx-text, var(--cpd-color-text-primary, #ffffff));
}

    .mx_PlxMediaPicker .mx_PlxMediaPicker_header {
        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;
        gap: 8px;
        padding: 10px 10px 8px;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tabs {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 4px;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tab {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        border: none;
        background: transparent;
        color: #7f91a4;
        color: var(--plx-text-secondary, var(--cpd-color-text-secondary, #8c9aa6));
        font:
            600 14px/1 inherit,
            sans-serif;
        font:
            var(--cpd-font-weight-semibold, 600) 14px/1 inherit,
            sans-serif;
        font-size: 14px;
        font-weight: 600;
        padding: 7px 14px;
        border-radius: 999px;
        cursor: pointer;
        -webkit-transition:
            background-color 0.12s ease,
            color 0.12s ease;
        transition:
            background-color 0.12s ease,
            color 0.12s ease;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tab:hover {
        color: #ffffff;
        color: var(--plx-text, #ffffff);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tab_active {
        background: rgba(46, 128, 222, 0.22);
        color: #2e80de;
        color: var(--plx-accent, #2e80de);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_close {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        border: none;
        background: transparent;
        color: #7f91a4;
        color: var(--plx-text-secondary, var(--cpd-color-icon-secondary, #8c9aa6));
        cursor: pointer;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 6px;
        border-radius: 50%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_close:hover {
        background: rgba(255, 255, 255, 0.08);
        color: #ffffff;
        color: var(--plx-text, #ffffff);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_error {
        margin: 0 12px 6px;
        padding: 6px 10px;
        font-size: 13px;
        border-radius: 8px;
        background: rgba(229, 72, 77, 0.16);
        color: #ff8a8f;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_body {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        min-height: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        overflow: hidden;
    }

    /* The reused EmojiPicker fills the body and uses its own theming. Pin its
       height to the body so its internal category bar + search + scroll list lay
       out inside the 322px panel instead of overflowing (which previously made the
       panel look like it was floating over the timeline). */
    .mx_PlxMediaPicker .mx_EmojiPicker {
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        min-height: 0;
        border: none;
        background: transparent;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    /* keep the emoji body scrollable within the fixed panel height */
    .mx_PlxMediaPicker .mx_EmojiPicker_body {
        min-height: 0;
        overflow-y: auto;
    }

    /* --- GIF / Sticker tabs --- */
    .mx_PlxMediaPicker .mx_PlxMediaPicker_mediaTab {
        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%;
        min-height: 0;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_search {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 0 12px 8px;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchIcon {
        position: absolute;
        left: 10px;
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
        pointer-events: none;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput {
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 9px 12px 9px 34px;
        border-radius: 10px;
        border: 1px solid rgba(255, 255, 255, 0.06);
        border: 1px solid var(--plx-border, rgba(255, 255, 255, 0.08));
        background: #0e1621;
        background: var(--plx-bg, rgba(0, 0, 0, 0.25));
        color: #ffffff;
        color: var(--plx-text, #ffffff);
        font-size: 14px;
        outline: none;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput:focus {
        border-color: #2e80de;
        border-color: var(--plx-accent, #2e80de);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput::-webkit-input-placeholder {
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput::-moz-placeholder {
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput:-ms-input-placeholder {
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput::-ms-input-placeholder {
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_searchInput::placeholder {
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
    }

    /* A tidy, non-overlapping 3-column grid. We pin BOTH the column template and
       an explicit square row height (grid-auto-rows) so tile geometry never
       depends on the flaky `aspect-ratio` on <button> across engines. Equal gaps,
       no negative margins, contents clipped — zero overlap. */
    .mx_PlxMediaPicker .mx_PlxMediaPicker_grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: 96px;
        grid-gap: 6px;
        gap: 6px;
        padding: 0 12px 12px;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        min-height: 0;
        -ms-flex-line-pack: start;
            align-content: start;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tile {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        border: none;
        padding: 0;
        margin: 0;
        width: 100%;
        height: 100%;
        min-width: 0;
        background: rgba(255, 255, 255, 0.04);
        border-radius: 10px;
        overflow: hidden;
        cursor: pointer;
        position: relative;
        display: block;
        -webkit-transition:
            outline-color 0.1s ease,
            -webkit-transform 0.1s ease;
        transition:
            outline-color 0.1s ease,
            -webkit-transform 0.1s ease;
        transition:
            transform 0.1s ease,
            outline-color 0.1s ease;
        transition:
            transform 0.1s ease,
            outline-color 0.1s ease,
            -webkit-transform 0.1s ease;
        outline: 2px solid transparent;
        outline-offset: -2px;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tile:hover {
        outline-color: #2e80de;
        outline-color: var(--plx-accent, #2e80de);
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_tile:disabled {
        cursor: progress;
        opacity: 0.6;
    }

    /* image fills the square tile and is clipped (object-fit: cover), so no
       tile ever bleeds into its neighbour regardless of source aspect ratio. */
    .mx_PlxMediaPicker .mx_PlxMediaPicker_tile img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        display: block;
    }

    .mx_PlxMediaPicker .mx_PlxMediaPicker_status {
        grid-column: 1 / -1;
        text-align: center;
        padding: 24px 0;
        color: #7f91a4;
        color: var(--plx-text-secondary, #8c9aa6);
        font-size: 14px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PresenceIconView {
    position: absolute;
    top: 24px;
    left: 24px;
    width: 12px;
    height: 12px;
    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;
    background: var(--cpd-color-bg-canvas-default);
    border-radius: 100%;
}

    .mx_PresenceIconView .mx_PresenceIconView_online {
        color: var(--cpd-color-icon-accent-primary);
    }

    .mx_PresenceIconView .mx_PresenceIconView_offline,
    .mx_PresenceIconView .mx_PresenceIconView_dnd {
        color: var(--cpd-color-icon-tertiary);
    }

    .mx_PresenceIconView .mx_PresenceIconView_unavailable {
        color: var(--cpd-color-icon-quaternary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PresenceLabel {
    font-size: 0.6875rem;
    opacity: 0.5;
}

.mx_PresenceLabel_online {
    color: #3ecf8e;
    color: var(--cpd-color-text-success-primary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReadReceiptGroup {
    --ReadReceiptGroup_EventBubbleTile-spacing-end: 78px;

    position: relative;
    display: inline-block;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    z-index: 1;
}

    .mx_ReadReceiptGroup .mx_ReadReceiptGroup_button {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        height: 16px;
        padding: 4px;
        border-radius: 6px;
    }
            .mx_ReadReceiptGroup .mx_ReadReceiptGroup_button.mx_AccessibleButton:hover {
                background: var(--cpd-color-bg-subtle-secondary);
            }

    .mx_ReadReceiptGroup .mx_ReadReceiptGroup_remainder {
        color: var(--cpd-color-text-secondary);
        font-size: 0.6875rem;
        line-height: 1rem;
        margin-right: 4px;
    }

    .mx_ReadReceiptGroup .mx_ReadReceiptGroup_container {
        position: relative;
        display: block;
        height: 100%;
    }

        .mx_ReadReceiptGroup .mx_ReadReceiptGroup_container .mx_BaseAvatar {
            /* Compound uses a border on default avatars but no border on actual images, we want a border in all cases */
            -webkit-box-sizing: content-box;
                    box-sizing: content-box;
            border: 1px solid var(--cpd-color-bg-canvas-default) !important;
            /* Reset the line height as we are no longer box-sizing border-box. 14px because avatar is set at 14px in component */
            line-height: 14px;
            position: absolute;
            will-change: left, top;
            -webkit-transition:
                left 0.1s ease-out,
                top 0.3s ease-out;
            transition:
                left 0.1s ease-out,
                top 0.3s ease-out;
            -webkit-transition:
                left var(--transition-short) ease-out,
                top var(--transition-standard) ease-out;
            transition:
                left var(--transition-short) ease-out,
                top var(--transition-standard) ease-out;
        }

.mx_ReadReceiptGroup_popup {
    max-height: 300px;
    width: 220px;
    border-radius: 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: left;
    font-size: 12px;
    line-height: 15px;

    right: 0;
}

    .mx_ReadReceiptGroup_popup.mx_ContextualMenu_top {
        top: 8px;
    }

    .mx_ReadReceiptGroup_popup.mx_ContextualMenu_bottom {
        bottom: 8px;
    }

    .mx_ReadReceiptGroup_popup .mx_ReadReceiptGroup_title {
        font-size: 12px;
        line-height: 15px;
        margin: 16px 16px 8px;
        font-weight: var(--cpd-font-weight-semibold);
        /* shouldn’t be actually focusable */
        outline: none;
    }
        .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            padding: 4px;
            margin: 0 12px;
            border-radius: 8px;
        }

            .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person:hover {
                background: #f5f8fa;
            }

            .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person:last-child {
                margin-bottom: 8px;
            }

            .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_BaseAvatar {
                margin: 6px 8px;
                -ms-flex-item-align: center;
                    align-self: center;
                justify-self: center;
                -ms-flex-negative: 0;
                    flex-shrink: 0; /* Long names should not shrink the picture */
            }

            .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_ReadReceiptGroup_name {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                    -ms-flex-direction: column;
                        flex-direction: column;
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                -ms-flex-negative: 1;
                    flex-shrink: 1;
                overflow: hidden;
            }

                .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_ReadReceiptGroup_name p {
                    margin: 2px 0;
                    text-overflow: ellipsis;
                    overflow: hidden;
                    white-space: nowrap;
                }

                .mx_ReadReceiptGroup_popup .mx_AutoHideScrollbar .mx_ReadReceiptGroup_person .mx_ReadReceiptGroup_name .mx_ReadReceiptGroup_secondary {
                    color: var(--cpd-color-text-secondary);
                }

.mx_ReadReceiptGroup_person--tooltip {
    overflow-y: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2018 Vector Creations Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReplyPreview {
    border: 1px solid transparent;
    border-bottom: none;
    background: var(--cpd-color-bg-canvas-default);
    max-height: 50vh;
    overflow: auto;
}

    .mx_ReplyPreview .mx_ReplyPreview_section {
        border-bottom: 1px solid transparent;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
        row-gap: 8px;
        padding: 8px 8px 0 0;
    }

        .mx_ReplyPreview .mx_ReplyPreview_section .mx_ReplyPreview_header {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-column-gap: 8px;
               -moz-column-gap: 8px;
                    column-gap: 8px;

            color: #ffffff;

            color: var(--cpd-color-text-primary);
            font-weight: 400;
            opacity: 0.4;
        }

            .mx_ReplyPreview .mx_ReplyPreview_section .mx_ReplyPreview_header .mx_ReplyPreview_header_cancel svg {
                color: #ffffff;
                color: var(--cpd-color-text-primary);
                width: 20px;
                height: 20px;
                -ms-flex-negative: 0;
                    flex-shrink: 0;
            }
    .mx_RoomView_body .mx_ReplyPreview {
        /* Add box-shadow to the reply preview on the main (left) panel only. */
        /* It is not added to the preview on the (right) panel for threads and a chat with a maximized widget. */
        -webkit-box-shadow: 0px -16px 32px rgba(0, 0, 0, 0.04);
                box-shadow: 0px -16px 32px rgba(0, 0, 0, 0.04);
        border-radius: 8px 8px 0 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 Tulir Asokan <tulir@maunium.net>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ReplyTile {
    position: relative;
    padding: 2px 0;
    font: var(--cpd-font-body-md-regular);

    /* We do reply size limiting with CSS to avoid duplicating the TextualBody component. */
}

    .mx_ReplyTile > a {
        display: grid;
        grid-template:
            "sender" auto
            "message" auto
            / 100%;
        text-decoration: none;
        color: var(--cpd-color-text-secondary);
        -webkit-transition: color ease 0.15s;
        transition: color ease 0.15s;
        grid-gap: 2px;
        gap: 2px;
        max-width: 100%;

        /* avoid overflow with wide content*/
    }

        .mx_ReplyTile > a:hover {
            color: #ffffff;
            color: var(--cpd-color-text-primary);
        }

    .mx_ReplyTile .mx_RedactedBody {
        line-height: 1.125rem;
    }

    .mx_ReplyTile .mx_RedactedBody,
    .mx_ReplyTile .mx_HiddenBody {
        padding: 4px 0 2px 20px;
    }

        .mx_ReplyTile .mx_RedactedBody::before, .mx_ReplyTile .mx_HiddenBody::before {
            height: 13px;
            width: 13px;
            top: 3px;
        }
    .mx_ReplyTile .mx_EventTile_content {
        grid-area: message;

        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;

        /* in order to keep the message on two lines, we need to make the body inline*/

        /* The annotation wrapper is flex in normal timeline messages, but that stops*/
        /* -webkit-line-clamp from trimming long edited quotes down to two lines.*/

        /* Hide line numbers and edited indicator*/

        /* Hack to cut content in <pre> tags too */
    }

        .mx_ReplyTile .mx_EventTile_content .mx_EventTile_body.mx_EventTile_bigEmoji {
            line-height: 1.375rem !important; /* Same as var(--EventTile_group_line-line-height) */
            font-size: 0.875rem !important; /* Override the big emoji override */
        }
        .mx_ReplyTile .mx_EventTile_content .mx_EventTile_body {
            display: inline;
        }
        .mx_ReplyTile .mx_EventTile_content [data-textual-body-annotation-wrapper] {
            display: contents;
        }
        .mx_ReplyTile .mx_EventTile_content .mx_EventTile_lineNumbers,
        .mx_ReplyTile .mx_EventTile_content [data-textual-body-edited-marker] {
            display: none;
        }
        .mx_ReplyTile .mx_EventTile_content .mx_EventTile_pre_container > pre {
            overflow-x: scroll;
            overflow-y: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            padding: 4px;
        }

        .mx_ReplyTile .mx_EventTile_content .markdown-body blockquote,
        .mx_ReplyTile .mx_EventTile_content .markdown-body dl,
        .mx_ReplyTile .mx_EventTile_content .markdown-body ol,
        .mx_ReplyTile .mx_EventTile_content .markdown-body p,
        .mx_ReplyTile .mx_EventTile_content .markdown-body pre,
        .mx_ReplyTile .mx_EventTile_content .markdown-body table,
        .mx_ReplyTile .mx_EventTile_content .markdown-body ul {
            margin-bottom: 4px;
        }

    .mx_ReplyTile.mx_ReplyTile_info {
        padding-top: 0;
    }

    .mx_ReplyTile.mx_ReplyTile_inline > a {
        /* Render replies to emotes inline with the sender avatar */
        grid-template:
            "sender        message" auto
            / -webkit-max-content auto;
        grid-template:
            "sender        message" auto
            / max-content auto;
        gap: 4px; /* increase spacing */
    }

    .mx_ReplyTile .mx_ReplyTile_sender {
        grid-area: sender;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 4px;
    }

        .mx_ReplyTile .mx_ReplyTile_sender .mx_DisambiguatedProfile {
            font: var(--cpd-font-body-md-regular);

            display: inline-block; /* anti-zalgo, with overflow hidden */
            padding: 0;
            margin: 0;

            /* truncate long display names */
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }

        .mx_ReplyTile .mx_ReplyTile_sender .mx_BaseAvatar {
            /* Prevent crushing by the flexbox */
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomBreadcrumbs {
    width: 100%;

    /* Create a flexbox for the crumbs */
    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: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 12px;

    /* These classes come from the CSSTransition component. There's many more classes we */
    /* could care about, but this is all we worried about for now. The animation works by */
    /* first triggering the enter state with the newest breadcrumb off screen (-40px) then */
    /* sliding it into view. */
}

    .mx_RoomBreadcrumbs .mx_RoomBreadcrumbs_crumb {
        margin-right: 8px;
        width: 32px;
    }
    .mx_RoomBreadcrumbs.mx_RoomBreadcrumbs-enter {
        -webkit-transform: translateX(-40px);
                transform: translateX(-40px); /* 32px for the avatar, 8px for the margin */
    }
    .mx_RoomBreadcrumbs.mx_RoomBreadcrumbs-enter-active {
        -webkit-transform: translateX(0);
                transform: translateX(0);

        /* Timing function is as-requested by design. */
        /* NOTE: The transition time MUST match the value passed to CSSTransition! */
        -webkit-transition: -webkit-transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
        transition: -webkit-transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
        transition: transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
        transition: transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1), -webkit-transform 640ms cubic-bezier(0.66, 0.02, 0.36, 1);
    }

    .mx_RoomBreadcrumbs .mx_RoomBreadcrumbs_placeholder {
        font: var(--cpd-font-body-md-semibold);
        line-height: 32px; /* specifically to match the height this is not scaled */
        height: 32px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomCallBanner {
    width: 100%;
    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;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;
    padding: 12px 16px;

    color: #ffffff;

    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-subtle-primary);
    cursor: pointer;
}

.mx_RoomCallBanner_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_RoomCallBanner_label {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    font-weight: var(--cpd-font-weight-semibold);
    padding-right: 8px;
}

    .mx_RoomCallBanner_label svg {
        display: inline-block;
        vertical-align: middle;
        color: var(--cpd-color-text-secondary);
        width: 16px;
        height: 16px;
        margin-right: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomHeader {
    height: 64px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 var(--cpd-space-3x) 0 calc(var(--cpd-space-3x) + var(--cpd-space-1-5x));
    border-bottom: 1px solid var(--cpd-color-gray-400);
    background-color: var(--cpd-color-bg-canvas-default);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

    .mx_RoomHeader button:has(svg.mx_RoomHeader_toggled) {
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

.mx_RoomHeader:hover {
    background-color: var(--cpd-color-bg-action-secondary-hovered);
}

.mx_RoomHeader_infoWrapper {
    /* unset button styles */
    color: inherit;
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
    border: medium none currentcolor;
    border: initial;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    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;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    cursor: pointer;
    gap: var(--cpd-space-3x);
    text-align: left;
    height: 100%;
    padding: 0;
}

.mx_RoomHeader_info {
    /* We want the spacing to be 64px, 13x = 52px but we have a flex gap of
       12px set on the flex container, which sums up to 64 */
    padding-right: var(--cpd-space-13x);
}

.mx_RoomHeader_truncated {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;

    overflow: hidden;
    word-break: break-all;
    text-overflow: ellipsis;
}

.mx_RoomHeader_heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-1x);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_RoomHeader_icon {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: var(--cpd-space-1x);
}

.mx_RoomHeader .mx_FacePile {
    color: var(--cpd-color-text-secondary);
    background: var(--cpd-color-bg-canvas-default);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--cpd-space-2x);
    border-radius: 9999px;
    padding: var(--cpd-space-1-5x);
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    font: var(--cpd-font-body-sm-medium);

    /* RoomAvatar doesn't pass classes down to avatar
    So set style here
    using div because compound classes are not stable */
}
    .mx_RoomHeader .mx_FacePile > div {
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

    .mx_RoomHeader .mx_FacePile:hover {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        background: var(--cpd-color-bg-subtle-primary);
    }

    .mx_RoomHeader .mx_FacePile.mx_FacePile_toggled {
        background: var(--cpd-color-bg-success-subtle);
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
        font: var(--cpd-font-body-sm-semibold);
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

.mx_RoomHeader .mx_BaseAvatar {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_RoomHeader_videoCallOption {
    /* Workaround for https://github.com/element-hq/compound/issues/331 */
    min-width: 240px;
}

.mx_RoomHeader .mx_RoomHeader_toggled {
    fill: var(--cpd-color-icon-accent-primary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomInfoLine {
    color: var(--cpd-color-text-secondary);
    display: inline-block;
}

    .mx_RoomInfoLine svg {
        margin-right: 6px;
        vertical-align: -2px;
        color: var(--cpd-color-gray-800);
    }

    .mx_RoomInfoLine .mx_RoomInfoLine_members {
        color: inherit;
        text-decoration: inherit;
        font-weight: inherit;
    }

        .mx_RoomInfoLine .mx_RoomInfoLine_members::before {
            content: "·"; /* visual separator */
            margin: 0 6px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Nordeck IT + Consulting GmbH

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomKnocksBar {
    background-color: var(--cpd-color-bg-subtle-secondary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: var(--cpd-space-2x) var(--cpd-space-4x);
}

.mx_RoomKnocksBar_content {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0 var(--cpd-space-3x);
}

.mx_RoomKnocksBar_paragraph {
    color: var(--cpd-color-text-secondary);
    font-size: var(--cpd-font-size-body-sm);
    margin: 0;
}

.mx_RoomKnocksBar_link {
    margin-left: var(--cpd-space-3x);
}

.mx_RoomKnocksBar_action,
.mx_RoomKnocksBar_avatar {
    -ms-flex-item-align: center;
        align-self: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_RoomKnocksBar_action + .mx_RoomKnocksBar_action {
    margin-left: var(--cpd-space-3x);
}

.mx_RoomKnocksBar_avatar + .mx_RoomKnocksBar_avatar {
    margin-left: calc(var(--cpd-space-4x) * -1);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015-2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomPreviewBar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
}

    .mx_RoomPreviewBar h3 {
        font-size: 1.125rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

        .mx_RoomPreviewBar h3.mx_RoomPreviewBar_spinnerTitle {
            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;
            margin: 0;
        }

    .mx_RoomPreviewBar h3,
    .mx_RoomPreviewBar .mx_RoomPreviewBar_message p {
        /* break-word, with fallback to break-all, which is wider supported */
        word-break: break-all;
        word-break: break-word;
    }

    .mx_RoomPreviewBar .mx_Spinner {
        width: auto;
        height: auto;
        margin: 10px 10px 10px 0;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
    }

    .mx_RoomPreviewBar .mx_RoomPreviewBar_footer {
        font-size: 0.75rem;
        line-height: 1.25rem;
    }

        .mx_RoomPreviewBar .mx_RoomPreviewBar_footer .mx_Spinner {
            vertical-align: middle;
            display: inline-block;
        }

.mx_RoomPreviewBar_actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mx_RoomPreviewBar_message {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

    .mx_RoomPreviewBar_message p {
        overflow-wrap: break-word;
    }

.mx_RoomPreviewBar_panel {
    padding: 8px 8px 8px 20px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

        -ms-flex-direction: row;

            flex-direction: row;
}

    .mx_RoomPreviewBar_panel .mx_RoomPreviewBar_actions {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 3px 8px;
    }

        .mx_RoomPreviewBar_panel .mx_RoomPreviewBar_actions > * {
            margin-left: 12px;
        }

    .mx_RoomPreviewBar_panel .mx_RoomPreviewBar_message {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 0px;
                flex: 1 0 0;
        min-width: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

        .mx_RoomPreviewBar_panel .mx_RoomPreviewBar_message > * {
            margin: 4px;
        }

/* With maximised widgets, the panel fits in better when rounded */
.mx_MainSplit_maximisedWidget .mx_RoomPreviewBar_panel {
    margin: 8px;
    margin: var(--container-gap-width);
    margin-right: calc(8px / 2);
    margin-right: calc(var(--container-gap-width) / 2); /* Shared with right panel */
    margin-top: 0; /* Already covered by apps drawer */
    border-radius: 8px;
}

.mx_RoomPreviewBar_dialog {
    margin: auto;
    -webkit-box-sizing: content;
            box-sizing: content;
    width: 400px;
    border-radius: 4px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px;
    text-align: center;
}

    .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_message {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

        .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_message > * {
            margin: 5px 0 20px 0;
        }

    .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
        .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions .mx_AccessibleButton {
            padding: 7px 50px; /* extra wide */
        }

        .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions > * {
            margin-top: 12px;
        }
        .mx_RoomPreviewBar_dialog .mx_RoomPreviewBar_actions .mx_AccessibleButton.mx_AccessibleButton_kind_primary {
            /* to account for the padding of the primary button which causes inconsistent look between */
            /* subsequent secondary (text) buttons */
            margin-bottom: 7px;
        }
.mx_RoomPreviewBar_Invite {
    max-height: 100vh;
    overflow-y: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

.mx_RoomPreviewBar_Invite h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: pre-wrap;
    overflow: hidden;
}

.mx_RoomPreviewBar_inviter {
    font-weight: var(--cpd-font-weight-semibold);
}

a.mx_RoomPreviewBar_inviter {
    text-decoration: underline;
    cursor: pointer;
}

.mx_RoomPreviewBar_inviter_mxid {
    color: var(--cpd-color-text-secondary);
}

.mx_RoomPreviewBar_icon {
    margin-right: 8px;
    vertical-align: text-top;
}

.mx_RoomPreviewBar_fullWidth {
    width: 100%;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomPreviewCard {
    padding: 32px 24px !important; /* Override SpaceRoomView's default padding */
    margin: auto;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    max-width: 480px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: var(--cpd-color-bg-subtle-primary);
    border-radius: 8px;
    position: relative;
    font: var(--cpd-font-body-md-regular);
}

    .mx_RoomPreviewCard .mx_RoomPreviewCard_notice {
        font-weight: var(--cpd-font-weight-semibold);
        line-height: 1.5rem;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        margin-top: 24px;
    }

        .mx_RoomPreviewCard .mx_RoomPreviewCard_notice svg {
            height: 1em;
            width: 1em;
            margin-right: 8px;
            color: var(--cpd-color-text-secondary);
            vertical-align: -2px;
        }

    .mx_RoomPreviewCard .mx_RoomPreviewCard_inviter {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-bottom: 20px;
        font-size: 0.9375rem;
    }

        .mx_RoomPreviewCard .mx_RoomPreviewCard_inviter > div {
            margin-left: 8px;
        }

            .mx_RoomPreviewCard .mx_RoomPreviewCard_inviter > div .mx_RoomPreviewCard_inviter_name {
                line-height: 1.125rem;
            }

            .mx_RoomPreviewCard .mx_RoomPreviewCard_inviter > div .mx_RoomPreviewCard_inviter_mxid {
                color: var(--cpd-color-text-secondary);
            }

    .mx_RoomPreviewCard .mx_RoomPreviewCard_avatar {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;

        /* XXX Remove this when video rooms leave beta */
    }

        .mx_RoomPreviewCard .mx_RoomPreviewCard_avatar .mx_RoomPreviewCard_video {
            width: 22px;
            height: 22px;
            padding: 14px;
            border-radius: calc((50px + 2 * 3px) / 2);
            background-color: #2e80de;
            background-color: var(--cpd-color-text-action-accent);
            border: 3px solid var(--cpd-color-bg-subtle-primary);

            left: calc(-50px / 4 - 3px);
        }

            .mx_RoomPreviewCard .mx_RoomPreviewCard_avatar .mx_RoomPreviewCard_video svg {
                width: inherit;
                height: inherit;
                color: var(--cpd-color-bg-canvas-default);
            }
        .mx_RoomPreviewCard .mx_RoomPreviewCard_avatar .mx_BetaCard_betaPill {
            position: absolute;
            inset-block-start: 32px;
            inset-inline-end: 24px;
        }

    .mx_RoomPreviewCard h1.mx_RoomPreviewCard_name {
        margin: 16px 0 !important; /* Override SpaceRoomView's default margins */
    }

    .mx_RoomPreviewCard .mx_RoomPreviewCard_topic {
        line-height: 1.375rem;
        margin-top: 16px;
        max-height: 160px;
        overflow-y: auto;
    }

    .mx_RoomPreviewCard .mx_FacePile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-top: 16px;
        /* For enhanced visibility under contrast control */
        outline: 1px solid transparent;
    }

        .mx_RoomPreviewCard .mx_FacePile :first-child {
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

    .mx_RoomPreviewCard .mx_RoomPreviewCard_joinButtons {
        margin-top: 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 20px;
    }

        .mx_RoomPreviewCard .mx_RoomPreviewCard_joinButtons .mx_AccessibleButton {
            max-width: 200px;
            padding: 14px 0;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSearchAuxPanel {
    /* use `min-height` rather than height, to allow room for the text to wrap if the window is narrow */
    min-height: 84px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-color: var(--cpd-color-bg-canvas-default);
    border-style: solid;
    border-width: 1px 0;
    padding: var(--cpd-space-3x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    gap: var(--cpd-space-2x);
}

    .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        display: inherit; /* flex */
        gap: var(--cpd-space-2x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        overflow: hidden;
    }

        .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary > svg {
            padding: var(--cpd-space-2x);
            border-radius: var(--cpd-space-2x);
            background-color: var(--cpd-color-bg-subtle-secondary);
            color: var(--cpd-color-icon-secondary);
            -ms-flex-negative: 0;
                flex-shrink: 0;
        }

        .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary .mx_RoomSearchAuxPanel_summary_text {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            font-size: 0.9375rem;
            line-height: 1.375rem;
            overflow: hidden;
        }

            .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary .mx_RoomSearchAuxPanel_summary_text span {
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }

        .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_summary .mx_SearchWarning {
            display: contents;
            font-size: 0.8125rem;
            line-height: 1.25rem;
            color: var(--cpd-color-text-secondary);
        }

    .mx_RoomSearchAuxPanel .mx_RoomSearchAuxPanel_buttons {
        display: inherit; /* flex */
        gap: var(--cpd-space-6x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomSublist {
    margin-left: 8px;
    margin-bottom: 4px;

    /* In the general case, we reserve space for each sublist header to prevent */
    /* scroll jumps when they become sticky. However, that leaves a gap when */
    /* scrolled to the top above the first sublist (whose header can only ever */
    /* stick to top), so we make sure to exclude the first visible sublist. */
}

    .mx_RoomSublist.mx_RoomSublist_hidden {
        display: none;
    }
        .mx_RoomSublist:not(.mx_RoomSublist_minimized) .mx_RoomSublist_headerContainer {
            height: auto;
        }

    .mx_RoomSublist .mx_RoomSublist_headerContainer {
        /* Create a flexbox to make alignment easy */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;

        /* *************************** */
        /* Sticky Headers Start */

        /* Ideally we'd be able to use `position: sticky; top: 0; bottom: 0;` on the */
        /* headerContainer, however due to our layout concerns we actually have to */
        /* calculate it manually so we can sticky things in the right places. We also */
        /* target the headerText instead of the container to reduce jumps when scrolling, */
        /* and to help hide the badges/other buttons that could appear on hover. This */
        /* all works by ensuring the header text has a fixed height when sticky so the */
        /* fixed height of the container can maintain the scroll position. */

        /* The combined height must be set in the LeftPanel component for sticky headers */
        /* to work correctly. */
        padding-bottom: 8px;
        height: 24px;
        color: var(--cpd-color-text-secondary);

        /* Sticky Headers End */
        /* *************************** */

        /* Hide the menu button by default */
    }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_stickableContainer {
            width: 100%;
        }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_stickable {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            max-width: 100%;

            /* Create a flexbox to make ordering easy */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            /* We use a generic sticky class for 2 reasons: to reduce style duplication and */
            /* to identify when a header is sticky. If we didn't have a consistent sticky class, */
            /* we'd have to do the "is sticky" checks again on click, as clicking the header */
            /* when sticky scrolls instead of collapses the list. */

            /* We don't have a top style because the top is dependent on the room list header's */
            /* height, and is therefore calculated in JS. */
            /* The class, mx_RoomSublist_headerContainer_stickyTop, is applied though. */
        }
            .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_stickable.mx_RoomSublist_headerContainer_sticky {
                position: fixed;
                height: 32px; /* to match the header container */
                /* width set by JS because of a compat issue between Firefox and Chrome */
                width: calc(100% - 15px);
            }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_badgeContainer {
            /* Create another flexbox row because it's super easy to position the badge this way. */
            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;

            /* Apply the width and margin to the badge so the container doesn't occupy dead space */
        }
            .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_badgeContainer .mx_NotificationBadge {
                /* Do not set a width so the badges get properly sized */
                margin-left: 8px; /* same as menu+aux buttons */
            }
            .mx_RoomSublist .mx_RoomSublist_headerContainer:not(.mx_RoomSublist_headerContainer_withAux) .mx_NotificationBadge {
                margin-right: 4px; /* just to push it over a bit, aligning it with the other elements */
            }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton,
        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton {
            margin-left: 8px; /* should be the same as the notification badge */
            position: relative;
            width: 24px;
            height: 24px;
            border-radius: 8px;
        }

            .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton svg, .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton svg {
                width: 16px;
                height: 16px;
                position: absolute;
                top: 4px;
                left: 4px;
                color: var(--cpd-color-icon-secondary);
            }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton:hover svg,
        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton:hover svg {
            color: var(--cpd-color-alpha-gray-300);
        }
        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_menuButton {
            visibility: hidden;
            width: 0;
            margin: 0;
        }

        .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_headerText {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            max-width: calc(100% - 16px); /* 16px is the badge width */
            font: var(--cpd-font-body-sm-semibold);

            /* Ellipsize any text overflow */
            text-overflow: ellipsis;
            overflow: hidden;
            white-space: nowrap;
        }

            .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_headerText .mx_RoomSublist_collapseBtn {
                display: inline-block;
                position: relative;
                width: 14px;
                height: 14px;
                margin-right: 6px;
            }

                .mx_RoomSublist .mx_RoomSublist_headerContainer .mx_RoomSublist_headerText .mx_RoomSublist_collapseBtn svg {
                    width: 18px;
                    height: 18px;
                    position: absolute;
                    color: var(--cpd-color-icon-secondary);
                }
    .mx_RoomSublist:not(.mx_RoomSublist_hidden) ~ .mx_RoomSublist .mx_RoomSublist_stickableContainer {
        height: 24px;
    }

    .mx_RoomSublist .mx_RoomSublist_resizeBox {
        position: relative;

        /* Create another flexbox column for the tiles */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        overflow: hidden;

        /* Class name comes from the ResizableBox component */
        /* The hover state needs to use the whole sublist, not just the resizable box, */
        /* so that selector is below and one level higher. */
    }

        .mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_tiles {
            -webkit-box-flex: 1;
                -ms-flex: 1 0 0px;
                    flex: 1 0 0;
            overflow: hidden;
            overflow: clip;
            /* need this to be flex otherwise the overflow hidden from above */
            /* sometimes vertically centers the clipped list ... no idea why it would do this */
            /* as the box model should be top aligned. Happens in both FF and Chromium */
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -ms-flex-item-align: stretch;
                align-self: stretch;
            /* without this Firefox will prefer pushing the resizer & show more/less button into the overflow */
            min-height: 0;

            -webkit-mask-image: linear-gradient(0deg, transparent, black 4px);

                    mask-image: linear-gradient(0deg, transparent, black 4px);
        }

        .mx_RoomSublist .mx_RoomSublist_resizeBox.mx_RoomSublist_resizeBox_forceExpanded .mx_RoomSublist_tiles {
            /* in this state the div can collapse its height entirely in Chromium, */
            /* so prevent that by allowing overflow */
            overflow: visible;
            /* clear the min-height to make it not collapse entirely in a state with no active resizer */
            min-height: 0;
            min-height: initial;
        }

        .mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_resizerHandles_showNButton {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 32px;
                    flex: 0 0 32px;
        }

        .mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_resizerHandles {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 4px;
                    flex: 0 0 4px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            width: 100%;
        }
        .mx_RoomSublist .mx_RoomSublist_resizeBox .mx_RoomSublist_resizerHandle {
            cursor: ns-resize;
            border-radius: 3px;

            /* Override styles from library */
            max-width: 64px;
            height: 4px !important; /* Update RESIZE_HANDLE_HEIGHT if this changes */

            /* This is positioned directly below the 'show more' button. */
            position: relative !important;
            bottom: 0 !important; /* override from library */
        }
            .mx_RoomSublist .mx_RoomSublist_resizeBox:hover .mx_RoomSublist_resizerHandle, .mx_RoomSublist .mx_RoomSublist_resizeBox.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_resizerHandle {
                opacity: 0.8;
                background-color: #ffffff;
                background-color: var(--cpd-color-text-primary);
            }

    .mx_RoomSublist .mx_RoomSublist_showNButton {
        cursor: pointer;
        font-size: 0.8125rem;
        line-height: 1.125rem;
        color: var(--cpd-color-text-secondary);

        /* Update the render() function for RoomSublist if these change */
        /* Update the ListLayout class for minVisibleTiles if these change. */
        height: 24px;
        padding-bottom: 4px;

        /* We create a flexbox to cheat at alignment */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_RoomSublist .mx_RoomSublist_showNButton .mx_RoomSublist_showNButtonChevron {
            position: relative;
            width: 18px;
            height: 18px;
            margin-left: 12px;
            margin-right: 16px;
            color: var(--cpd-color-gray-800);
            left: -1px; /* adjust for image position */
        }
        .mx_RoomSublist.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_menuButton, .mx_RoomSublist:not(.mx_RoomSublist_minimized) > .mx_RoomSublist_headerContainer:focus-within .mx_RoomSublist_menuButton, .mx_RoomSublist:not(.mx_RoomSublist_minimized) > .mx_RoomSublist_headerContainer:hover .mx_RoomSublist_menuButton {
            visibility: visible;
            width: 24px;
            margin-left: 8px;
        }
        .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer {
            height: auto;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            position: relative;
        }

            .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_badgeContainer {
                -webkit-box-ordinal-group: 1;
                    -ms-flex-order: 0;
                        order: 0;
                -ms-flex-item-align: end;
                    align-self: flex-end;
                margin-right: 0;
            }

            .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_stickable {
                -webkit-box-ordinal-group: 2;
                    -ms-flex-order: 1;
                        order: 1;
                max-width: 100%;
            }

            .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton {
                -webkit-box-ordinal-group: 3;
                    -ms-flex-order: 2;
                        order: 2;
                visibility: visible;
                width: 32px !important; /* !important to override hover styles */
                height: 32px !important; /* !important to override hover styles */
                margin-left: 0 !important; /* !important to override hover styles */
                background-color: var(--cpd-color-alpha-gray-300);
                margin-top: 8px;
            }

                .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_headerContainer .mx_RoomSublist_auxButton svg {
                    top: 8px;
                    left: 8px;
                }

        .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_resizeBox {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

        .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_showNButton {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }

            .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_showNButton .mx_RoomSublist_showNButtonChevron {
                margin-right: 12px; /* to center */
            }

        .mx_RoomSublist.mx_RoomSublist_minimized .mx_RoomSublist_menuButton {
            height: 16px;
        }
            .mx_RoomSublist.mx_RoomSublist_minimized.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_menuButton, .mx_RoomSublist.mx_RoomSublist_minimized > .mx_RoomSublist_headerContainer:hover .mx_RoomSublist_menuButton {
                visibility: visible;
                position: absolute;
                bottom: 48px; /* align to middle of name, 40px for aux button (with padding) and 8px for alignment */
                right: 0;
                width: 16px;
                height: 16px;
                border-radius: 0;
                z-index: 1; /* occlude the list name */

                /* This is the same color as the left panel background because it needs */
                /* to occlude the sublist title */
                background-color: rgba(245, 245, 245, 0.9);
            }

                .mx_RoomSublist.mx_RoomSublist_minimized.mx_RoomSublist_hasMenuOpen .mx_RoomSublist_menuButton svg, .mx_RoomSublist.mx_RoomSublist_minimized > .mx_RoomSublist_headerContainer:hover .mx_RoomSublist_menuButton svg {
                    top: 0;
                    left: 0;
                }
                .mx_RoomSublist.mx_RoomSublist_minimized.mx_RoomSublist_hasMenuOpen.mx_RoomSublist_headerContainer:not(.mx_RoomSublist_headerContainer_withAux) .mx_RoomSublist_menuButton, .mx_RoomSublist.mx_RoomSublist_minimized > .mx_RoomSublist_headerContainer:hover.mx_RoomSublist_headerContainer:not(.mx_RoomSublist_headerContainer_withAux) .mx_RoomSublist_menuButton {
                    bottom: 8px; /* align to the middle of name, 40px less than the `bottom` above. */
                }

.mx_RoomSublist_contextMenu {
    padding: 20px 16px;
    width: 250px;
}

    .mx_RoomSublist_contextMenu hr {
        margin-top: 16px;
        margin-bottom: 16px;
        margin-right: 16px; /* additional 16px */
        border: 1px solid #ffffff;
        border: 1px solid var(--cpd-color-text-primary);
        opacity: 0.1;
    }

    .mx_RoomSublist_contextMenu .mx_RoomSublist_contextMenu_title {
        font-size: 0.9375rem;
        line-height: 1.25rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-bottom: 4px;
    }

    .mx_RoomSublist_contextMenu .mx_StyledRadioButton {
        margin-top: 8px;
    }

.mx_RoomSublist_skeletonUI {
    position: relative;
    margin-left: 4px;
    height: 240px;
}

    .mx_RoomSublist_skeletonUI::before {
        background-color: var(--cpd-color-bg-subtle-secondary);
        width: 100%;
        height: 100%;

        content: "";
        position: absolute;
        -webkit-mask-repeat: repeat-y;
                mask-repeat: repeat-y;
        -webkit-mask-size: auto 48px;
                mask-size: auto 48px;
        -webkit-mask-image: url(../../img/element-icons/roomlist/skeleton-ui.be592e5.svg);
                mask-image: url(../../img/element-icons/roomlist/skeleton-ui.be592e5.svg);
    }

.mx_RoomSublist_minimized .mx_RoomSublist_skeletonUI {
    width: 32px; /* cut off the horizontal lines in the svg */
    margin-left: 10px; /* align with sublist + buttons */
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020-2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Note: the room tile expects to be in a flexbox column container */
.mx_RoomTile {
    margin-bottom: 4px;
    padding: 4px;

    /* The tile is also a flexbox row itself */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    contain: content; /* Not strict as it will break when resizing a sublist vertically */
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    font-size: var(--cpd-font-size-body-sm);

    /* The context menu buttons are hidden by default */

    /* If the room has an overriden notification setting then we always show the notifications menu button */
}

    .mx_RoomTile.mx_RoomTile_selected,
    .mx_RoomTile:hover,
    .mx_RoomTile:focus-within,
    .mx_RoomTile.mx_RoomTile_hasMenuOpen {
        background-color: var(--cpd-color-alpha-gray-300);
        border-radius: 8px;
    }

    .mx_RoomTile .mx_DecoratedRoomAvatar,
    .mx_RoomTile .mx_RoomTile_avatarContainer {
        margin-right: 10px;
    }

    .mx_RoomTile .mx_RoomTile_details {
        min-width: 0;
    }

    .mx_RoomTile .mx_RoomTile_titleContainer {
        height: 32px;
        min-width: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin-right: 8px; /* spacing to buttons/badges */

        /* Create a new column layout flexbox for the title parts */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

        .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_subtitle {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            color: var(--cpd-color-text-secondary);
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: 4px;
            line-height: 1.25;
            position: relative;
            top: -1px;
        }

        .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_title,
        .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_subtitle_text {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_title {
            font: var(--cpd-font-body-md-regular);
            line-height: 1.25;
        }

            .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_title.mx_RoomTile_titleHasUnreadEvents {
                font-weight: var(--cpd-font-weight-semibold);
            }

        .mx_RoomTile .mx_RoomTile_titleContainer .mx_RoomTile_titleWithSubtitle {
            margin-top: -2px; /* shift the title up a bit more */
        }

    .mx_RoomTile .mx_RoomTile_notificationsButton {
        margin-left: 4px; /* spacing between buttons */
    }

    .mx_RoomTile .mx_RoomTile_badgeContainer {
        height: 16px;
        /* don't set width so that it takes no space when there is no badge to show */
        margin: auto 0; /* vertically align */

        /* Create a flexbox to make aligning dot badges easier */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_RoomTile .mx_RoomTile_badgeContainer .mx_NotificationBadge {
            margin-right: 2px; /* centering */
        }

        .mx_RoomTile .mx_RoomTile_badgeContainer .mx_NotificationBadge_dot {
            /* make the smaller dot occupy the same width for centering */
            margin-left: 5px;
            margin-right: 7px;
        }
    .mx_RoomTile .mx_RoomTile_menuButton,
    .mx_RoomTile .mx_RoomTile_notificationsButton {
        width: 16px;
        height: 16px;
        padding: var(--cpd-space-0-5x);
        -ms-flex-negative: 0;
            flex-shrink: 0;
        margin-top: auto;
        margin-bottom: auto;
        position: relative;
        display: none;
    }

        .mx_RoomTile .mx_RoomTile_menuButton svg, .mx_RoomTile .mx_RoomTile_notificationsButton svg {
            width: inherit;
            height: inherit;
            display: block;
            color: var(--cpd-color-icon-primary);
        }
    .mx_RoomTile .mx_RoomTile_notificationsButton.mx_RoomTile_notificationsButton_show {
        display: block;
    }
        .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):hover,
        .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):focus-within,
        .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky).mx_RoomTile_hasMenuOpen {
            /* Hide the badge container on hover because it'll be a menu button */
        }
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):hover .mx_RoomTile_badgeContainer, .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):focus-within .mx_RoomTile_badgeContainer, .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky).mx_RoomTile_hasMenuOpen .mx_RoomTile_badgeContainer {
                width: 0;
                height: 0;
                display: none;
            }

            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):hover .mx_RoomTile_notificationsButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):hover .mx_RoomTile_menuButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):focus-within .mx_RoomTile_notificationsButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky):focus-within .mx_RoomTile_menuButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky).mx_RoomTile_hasMenuOpen .mx_RoomTile_notificationsButton,
            .mx_RoomTile:not(.mx_RoomTile_minimized, .mx_RoomTile_sticky).mx_RoomTile_hasMenuOpen .mx_RoomTile_menuButton {
                display: block;
            }

    .mx_RoomTile.mx_RoomTile_minimized {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
    }

        .mx_RoomTile.mx_RoomTile_minimized .mx_DecoratedRoomAvatar,
        .mx_RoomTile.mx_RoomTile_minimized .mx_RoomTile_avatarContainer {
            margin-right: 0;
        }
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomUpgradeWarningBar {
    max-height: 235px;
    background-color: #f7f7f7;
    padding-left: 20px;
    padding-right: 20px;
    overflow: scroll;
}

.mx_RoomUpgradeWarningBar_wrapped {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
}

.mx_RoomUpgradeWarningBar_header {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    font-weight: bold;
}

.mx_RoomUpgradeWarningBar_body {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

.mx_RoomUpgradeWarningBar_upgradelink {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    text-decoration: underline;
}

.mx_RoomUpgradeWarningBar_small {
    color: var(--cpd-color-gray-900);
    font-size: 70%;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SendMessageComposer {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font: var(--cpd-font-body-md-regular);
    /* fixed line height to prevent emoji from being taller than text */
    line-height: 1.125rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 6px;
    /* don't grow wider than available space */
    min-width: 0;
}

    .mx_SendMessageComposer .mx_BasicMessageComposer {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        /* min-height at this level so the mx_BasicMessageComposer_input */
        /* still stays vertically centered when less than 55px. */
        /* We also set this to ensure the voice message recording widget */
        /* doesn't cause a jump. */
        min-height: 55px;
    }

        .mx_SendMessageComposer .mx_BasicMessageComposer .mx_BasicMessageComposer_input {
            padding: 3px 0;
            /* this will center the contenteditable */
            /* in it's parent vertically */
            /* while keeping the autocomplete at the top */
            /* of the composer. The parent needs to be a flex container for this to work. */
            margin: auto 0;
            /* max-height at this level so autocomplete doesn't get scrolled too */
            max-height: 140px;
            overflow-y: auto;
        }
}
@layer app-web{

.mx_Stickers_content {
    overflow: hidden;
}

.mx_Stickers_content_container {
    overflow: hidden;
    height: 300px;
}
    #mx_persistedElement_stickerPicker .mx_AppTileFullWidth {
        height: auto;
        height: initial;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border-left: none;
        border-right: none;
        border-bottom: none;
    }

    #mx_persistedElement_stickerPicker .mx_AppTileMenuBar {
        padding: 0;
    }

    #mx_persistedElement_stickerPicker iframe {
        /* Sticker picker depends on the fixed height previously used for all tiles */
        height: 283px; /* height of the popout minus the AppTile menu bar */
    }

.mx_Stickers_contentPlaceholder {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
}

.mx_Stickers_contentPlaceholder p {
    max-width: 200px;
}

.mx_Stickers_addLink {
    display: inline;
    cursor: pointer;
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ThirdPartyMemberInfo {
    padding: var(--cpd-space-4x);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_TopUnreadMessagesBar {
    z-index: 1000;
    position: absolute;
    top: 24px;
    right: 24px;
    width: 38px;
}

.mx_TopUnreadMessagesBar::after {
    content: "";
    position: absolute;
    top: -8px;
    left: 11px;
    width: 4px;
    height: 4px;
    border-radius: 16px;
    background-color: var(--cpd-color-bg-canvas-default);
    border: 6px solid var(--cpd-color-icon-accent-tertiary);
    pointer-events: none;
}

.mx_TopUnreadMessagesBar_scrollUp {
    height: 38px;
    width: 38px;
    border-radius: 19px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: var(--cpd-color-bg-canvas-default);
    border: 1.3px solid var(--cpd-color-icon-tertiary);
    cursor: pointer;
}

    .mx_TopUnreadMessagesBar_scrollUp svg {
        width: 24px;
        height: 24px;
        padding: 6px;
        color: var(--cpd-color-icon-tertiary);
    }

.mx_TopUnreadMessagesBar_markAsRead {
    display: block;
    width: 18px;
    height: 18px;
    background: var(--cpd-color-bg-canvas-default);
    border: 1.3px solid var(--cpd-color-icon-tertiary);
    border-radius: 10px;
    margin: 5px auto;
}

    .mx_TopUnreadMessagesBar_markAsRead svg {
        width: 16px;
        height: 16px;
        padding: 1px;
        color: var(--cpd-color-icon-tertiary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserIdentityWarning {
    /* 42px is the padding-left of .mx_MessageComposer_wrapper in res/css/views/rooms/_MessageComposer.pcss */
    margin-left: calc(-42px + 18px);
    margin-left: calc(-42px + var(--RoomView_MessageList-padding));
}

    .mx_UserIdentityWarning .mx_UserIdentityWarning_row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_UserIdentityWarning .mx_UserIdentityWarning_row .mx_BaseAvatar {
            margin-left: var(--cpd-space-2x);
        }
        .mx_UserIdentityWarning .mx_UserIdentityWarning_row .mx_UserIdentityWarning_main {
            margin-left: var(--cpd-space-6x);
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
        }
        .mx_UserIdentityWarning .mx_UserIdentityWarning_row .mx_UserIdentityWarning_main.critical {
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
        }
.mx_UserIdentityWarning.critical {
    background: linear-gradient(180deg, var(--cpd-color-red-100) 0%, var(--cpd-color-theme-bg) 100%);
}

.mx_MessageComposer.mx_MessageComposer--compact > .mx_UserIdentityWarning {
    margin-left: calc(-25px + 18px);
    margin-left: calc(-25px + var(--RoomView_MessageList-padding));
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VoiceRecordComposerTile_stop {
    /* 20px + 4px padding + 2px border makes this a 32px square (as intended) */
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border: 2px solid var(--cpd-color-gray-400);
    border-radius: 32px;
    margin-right: 2px; /* between us and the waveform component */
}

    .mx_VoiceRecordComposerTile_stop svg {
        width: inherit;
        height: inherit;
        color: #ff5b55;
    }

.mx_VoiceRecordComposerTile_delete {
    width: 24px;
    height: 24px;
    vertical-align: middle;
    margin-right: 2px; /* distance from left edge of waveform container (container has some margin too) */
}

    .mx_VoiceRecordComposerTile_delete svg {
        width: inherit;
        height: inherit;
        color: var(--cpd-color-gray-800);
    }

.mx_VoiceRecordComposerTile_uploadingState {
    margin-right: 10px;
    color: var(--cpd-color-text-secondary);
}

.mx_VoiceRecordComposerTile_failedState {
    margin-right: 21px;
}

    .mx_VoiceRecordComposerTile_failedState .mx_VoiceRecordComposerTile_uploadState_badge {
        display: inline-block;
        margin-right: 4px;
        vertical-align: middle;
    }

.mx_MessageComposer_row .mx_VoiceMessagePrimaryContainer {
    /* Note: remaining class properties are in the PlayerContainer CSS. */

    /* fixed height to reduce layout jumps with the play button appearing */
    /* https://github.com/vector-im/element-web/issues/18431 */
    height: 32px;

    margin: 6px; /* force the composer area to put a gutter around us */
    margin-right: 6px; /* isolate from stop/send button */

    position: relative; /* important for the live circle */
}

    .mx_MessageComposer_row .mx_VoiceMessagePrimaryContainer.mx_VoiceRecordComposerTile_recording {
        /* We are putting the circle in this padding, so we need +10px from the regular */
        /* padding on the left side. */
        padding-left: 22px;
    }

        .mx_MessageComposer_row .mx_VoiceMessagePrimaryContainer.mx_VoiceRecordComposerTile_recording::before {
            -webkit-animation: recording-pulse 2s infinite;
                    animation: recording-pulse 2s infinite;

            content: "";
            background-color: #ff5b55;
            width: 10px;
            height: 10px;
            position: absolute;
            left: 12px; /* 12px from the left edge for container padding */
            top: 17px; /* vertically center (middle align with clock) */
            border-radius: 10px;
        }
        .mx_MessageComposer_wysiwyg .mx_VoiceMessagePrimaryContainer.mx_VoiceRecordComposerTile_recording::before {
            top: 15px; /* vertically center (middle align with clock) */
        }

/* The keyframes are slightly weird here to help make a ramping/punch effect */
/* for the recording dot. We start and end at 100% opacity to help make the */
/* dot feel a bit like a real lamp that is blinking: the animation ends up */
/* spending a lot of its time showing a steady state without a fade effect. */
/* This lamp effect extends into why the 0% opacity keyframe is not in the */
/* midpoint: lamps take longer to turn off than they do to turn on, and the */
/* extra frames give it a bit of a realistic punch for when the animation is */
/* ramping back up to 100% opacity. */

/* Target animation timings: steady for 1.5s, fade out for 0.3s, fade in for 0.2s */
/* (intended to be used in a loop for 2s animation speed) */
@-webkit-keyframes recording-pulse {
    0% {
        opacity: 1;
    }
    35% {
        opacity: 0;
    }
    65% {
        opacity: 1;
    }
}
@keyframes recording-pulse {
    0% {
        opacity: 1;
    }
    35% {
        opacity: 0;
    }
    65% {
        opacity: 1;
    }
}

@media (forced-colors: active) {
    .mx_VoiceMessagePrimaryContainer {
        outline: 1px solid transparent;
    }
}
}
@layer app-web{

/*
Copyright 2018-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WhoIsTypingTile {
    margin-left: -18px; /* offset padding from mx_RoomView_MessageList to center avatars */
    padding-top: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

/* position the indicator in the same place horizontally as .mx_EventTile_avatar. */
.mx_WhoIsTypingTile_avatars {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 82px;
            flex: 0 0 82px; /* 18 (padding on message list) + 64 (padding on event lines) */
    text-align: center;
}

.mx_WhoIsTypingTile_avatars > :not(:first-child) {
    margin-left: -12px;
}

.mx_WhoIsTypingTile_avatars .mx_BaseAvatar {
    border: 1px solid var(--cpd-color-bg-canvas-default);
    border-radius: 40px;
}

.mx_WhoIsTypingTile_remainingAvatarPlaceholder {
    position: relative;
    display: inline-block;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-gray-400);
    border: 1px solid var(--cpd-color-bg-canvas-default);
    border-radius: 40px;
    width: 24px;
    height: 24px;
    line-height: 1.5rem;
    font-size: 0.8em;
    vertical-align: top;
    text-align: center;
}

.mx_WhoIsTypingTile_label {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font: var(--cpd-font-body-md-semibold);
    color: var(--cpd-color-text-secondary);
}

.mx_WhoIsTypingTile_label > span {
    background-image: url(../../img/typing-indicator-2x.e13c259.gif);
    background-size: 25px;
    background-position: left bottom;
    background-repeat: no-repeat;
    padding-bottom: 15px;
    display: block;
}
    .mx_MatrixChat_useCompactLayout .mx_WhoIsTypingTile {
        padding-top: 4px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_EditWysiwygComposer {
    --EditWysiwygComposer-padding-inline: 3px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 100%; /* disable overflow */
    width: auto;
    gap: 8px;
    padding: 8px 3px;
    padding: 8px var(--EditWysiwygComposer-padding-inline);
}

    .mx_EditWysiwygComposer .mx_WysiwygComposer_Editor_content {
        border-radius: 4px;
        border: solid 1px transparent;
        background-color: var(--cpd-color-bg-canvas-default);
        max-height: 200px;
        padding: 3px 6px;
    }

        .mx_EditWysiwygComposer .mx_WysiwygComposer_Editor_content:focus {
            border-color: #2e80de;
            border-color: var(--cpd-color-green-400);
        }

    .mx_EditWysiwygComposer .mx_EditWysiwygComposer_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-flow: row wrap-reverse;
                flex-flow: row wrap-reverse; /* display "Save" over "Cancel" */
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 5px;
        -webkit-margin-start: auto;
                margin-inline-start: auto;
    }

        .mx_EditWysiwygComposer .mx_EditWysiwygComposer_buttons .mx_AccessibleButton {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            min-width: 100px; /* magic number to align the edge of the button with the input area */
        }
        .mx_EditWysiwygComposer .mx_FormattingButtons_Button:first-child {
            margin-left: 0px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SendWysiwygComposer {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font: var(--cpd-font-body-md-regular);
    /* fixed line height to prevent emoji from being taller than text */
    line-height: 1.125rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 13px;
    gap: 8px;
}

    .mx_SendWysiwygComposer .mx_FormattingButtons {
        margin-left: 12px;
    }

    .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor {
        border: 1px solid;
        border-color: var(--cpd-color-gray-400);
        padding: 6px 11px 6px 12px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end;
        gap: 10px;
    }

        .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor .mx_E2EIcon {
            margin: 0 0 7px 0;
            width: 12px;
            height: 12px;
        }

        .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor[data-is-expanded="true"] {
            border-radius: 14px;
        }

            .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor[data-is-expanded="true"] .mx_WysiwygComposer_Editor_container {
                margin-top: 3px;
                margin-bottom: 3px;
            }

        .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor[data-is-expanded="false"] {
            border-radius: 40px;
        }

        .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor .mx_WysiwygComposer_Editor_container {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            min-height: 22px;
            margin-bottom: 2px;
            /* don't grow wider than available space */
            width: 0;
        }

            .mx_SendWysiwygComposer .mx_WysiwygComposer_Editor .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content {
                /* this will center the contenteditable */
                /* in it's parent vertically */
                /* while keeping the autocomplete at the top */
                /* of the composer. The parent needs to be a flex container for this to work. */
                margin: auto 0;
                /* the line height is $font-22px (set in _Editor.pcss) and we want to display 16 lines */
                max-height: calc(16 * 1.375rem);
                overflow-y: auto;
            }
    .mx_SendWysiwygComposer-focused .mx_WysiwygComposer_Editor {
        border-color: var(--cpd-color-gray-600);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_WysiwygComposer_Editor_container {
    /* These are set in Javascript */
    --avatar-letter: "";
    --avatar-background: unset;
    --placeholder: "";
}

    @-webkit-keyframes visualbell {
        from {
            background-color: #faa;
        }
        to {
            background-color: var(--cpd-color-bg-canvas-default);
        }
    }

    @keyframes visualbell {
        from {
            background-color: #faa;
        }
        to {
            background-color: var(--cpd-color-bg-canvas-default);
        }
    }

    .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content {
        line-height: 1.375rem;
        white-space: pre-wrap;
        word-wrap: break-word;
        outline: none;
        overflow-x: hidden;

        /* Force caret nodes to be selected in full so that they can be */
        /* navigated through in a single keypress */

        /* we always have a <br/> tag at the end of the html, we need it to be present at first then hide it as soon as*/
        /* we have any other elements*/

        /* Make list type disc to match rich text editor */

        /* this selector represents what will become a pill
        nb despite there being mx_UserPill and mx_RoomPill classes appended to these pills
        in the current composer, there don't appear to be any styles associated with those classes
        in this repo */
    }
        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content .caretNode {
            -webkit-user-select: all;
               -moz-user-select: all;
                    user-select: all;
        }
        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content br:not(:only-child) {
            display: none;
        }

        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content p {
            margin-top: 0;
            margin-bottom: 0;
            /* this may seem redundant, but we need to handle zero content formatting tags, which occur when we split a
               formatting tag into paragraphs */
            min-height: 1.375rem;
        }

        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content ul,
        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content ol {
            margin-top: 0;
            margin-bottom: 0;
            -webkit-padding-start: 28px;
                    padding-inline-start: 28px;
        }
        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content ul {
            list-style-type: disc;
        }

        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content blockquote {
            color: #777;
            border-left: 2px solid var(--cpd-color-border-interactive-primary);
            border-radius: 2px;
            padding: 0 10px;

            -webkit-margin-before: 0;

                    margin-block-start: 0;
            -webkit-margin-after: 0;
                    margin-block-end: 0;
            -webkit-margin-start: 0;
                    margin-inline-start: 0;
            -webkit-margin-end: 0;
                    margin-inline-end: 0;
        }

        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content > pre {
            font-size: 0.9375rem;
            line-height: 1.5rem;

            margin-top: 0;
            margin-bottom: 0;
            padding: 8px 12px;

            background-color: var(--cpd-color-bg-subtle-primary);
            border: 1px solid var(--cpd-color-gray-400);
            border-radius: 2px;
        }

        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content code:not(pre *) {
            font-family: "Fira Code", "", "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            font-family: "Fira Code", var(--emoji-font-family), "Apple Color Emoji", "Segoe UI Emoji", "Courier", monospace,
    "Noto Color Emoji" !important;
            background-color: var(--cpd-color-bg-subtle-primary);
            border: 1px solid var(--cpd-color-gray-400);
            border-radius: 4px;
            padding: 2px;
        }

            .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content code:not(pre *):empty {
                border: medium none currentcolor;
                border: initial;
                padding: 0;
                padding: initial;
            }
        .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content a[data-mention-type] {
            /* combine mx_Pill from _Pill.pcss */
            padding: 0.0625rem 0.4em;
            line-height: 1.0625rem;
            border-radius: 1rem;
            display: inline;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            max-width: 100%;
            overflow: hidden;

            color: var(--cpd-color-text-on-solid-primary);
            background-color: #2e80de;
            background-color: var(--cpd-color-bg-action-primary-rest);

            /* ...with the overrides from _BasicMessageComposer.pcss */
            -webkit-user-select: all;
               -moz-user-select: all;
                    user-select: all;
            position: relative;
            cursor: inherit; /* We don't want indicate clickability */
            text-overflow: ellipsis;
            white-space: nowrap;

            /* avatar pseudo element */
        }
            .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content a[data-mention-type]::before {
                /* After consolidation, all of the styling from _Pill.scss was being overridden,
                so take what is in _BasicMessageComposer.pcss as the starting point */
                display: inline-block;
                content: var(--avatar-letter);
                background: var(--avatar-background), var(--cpd-color-bg-canvas-default);

                width: 1rem;
                min-width: 1rem; /* ensure the avatar is not compressed */
                height: 1rem;
                line-height: 1rem;
                text-align: center;

                /* Get the positioning of the avatar just right for consistency with timeline */
                -webkit-margin-start: -0.4rem;
                        margin-inline-start: -0.4rem;
                -webkit-margin-end: 0.24rem;
                        margin-inline-end: 0.24rem;
                vertical-align: 0.12rem;

                background-repeat: no-repeat;
                background-size: 1rem;
                border-radius: 1rem;

                color: var(--avatar-color, var(--cpd-color-bg-canvas-default));
                font-weight: bold;
                font-size: 0.6275rem;
            }

    .mx_WysiwygComposer_Editor_container .mx_WysiwygComposer_Editor_content_placeholder::before {
        content: var(--placeholder);
        width: 0;
        height: 0;
        overflow: visible;
        display: inline-block;
        pointer-events: none;
        white-space: nowrap;
        color: var(--cpd-color-text-secondary);
    }

.mx_WysiwygComposer_AutoCompleteWrapper {
    position: relative;

    /* Due to the fact that editing a message now has a larger amount of grey
    colour above it (due to the rich text buttons above the composer), we need
    to give the autocomplete a bit more visual separation by using a border.
    */
}
    .mx_WysiwygComposer_AutoCompleteWrapper > .mx_Autocomplete {
        border: 1px solid var(--cpd-color-gray-400);
        border-radius: 8px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FormattingButtons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 8px;
}

    .mx_FormattingButtons .mx_FormattingButtons_Button {
        --size: 28px;
        cursor: pointer;
        height: 28px;
        height: var(--size);
        width: 28px;
        width: var(--size);
        background-color: transparent;
        border: none;
        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;
        border-radius: 5px;
    }
        .mx_FormattingButtons .mx_FormattingButtons_Button_hover:hover {
            background: var(--cpd-color-bg-subtle-secondary);
        }

            .mx_FormattingButtons .mx_FormattingButtons_Button_hover:hover .mx_FormattingButtons_Icon {
                color: var(--cpd-color-text-secondary);
            }

    .mx_FormattingButtons .mx_FormattingButtons_active {
        background: #2e80de;
        background: var(--cpd-color-green-300);
    }

        .mx_FormattingButtons .mx_FormattingButtons_active .mx_FormattingButtons_Icon {
            color: #2e80de;
            color: var(--cpd-color-text-action-accent);
        }
        .mx_FormattingButtons .mx_FormattingButtons_disabled .mx_FormattingButtons_Icon {
            color: var(--cpd-color-gray-400);
        }

    .mx_FormattingButtons .mx_FormattingButtons_Icon {
        --size: 16px;
        height: 16px;
        height: var(--size);
        width: 16px;
        width: var(--size);
        color: var(--cpd-color-gray-800);
    }
    .mx_FormattingButtons_Tooltip_KeyboardShortcut kbd {
        text-align: center;
        display: inline-block;
        text-transform: capitalize;
        font-family: Inter, sans-serif;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LinkModal {
    padding: 32px;
    max-width: 600px;
    height: 341px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

    .mx_LinkModal .mx_LinkModal_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        gap: 8px;
        margin-top: 7px;
    }

        .mx_LinkModal .mx_LinkModal_content .mx_LinkModal_Field {
            -webkit-box-flex: initial;
                -ms-flex: initial;
                    flex: initial;
            height: 40px;
        }

        .mx_LinkModal .mx_LinkModal_content .mx_LinkModal_buttons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            -webkit-box-align: end;
                -ms-flex-align: end;
                    align-items: flex-end;
        }

            .mx_LinkModal .mx_LinkModal_content .mx_LinkModal_buttons .mx_Dialog_buttons {
                display: inline-block;
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_AvatarSetting_avatar {
    width: 90px;
    min-width: 90px; /* so it doesn't get crushed by the flexbox in languages with longer words */
    height: 90px;
    margin-top: 8px;
    position: relative;
}

    .mx_AvatarSetting_avatar.mx_AvatarSetting_avatarDisplay:hover .mx_AvatarSetting_hover {
        opacity: 1;
    }

    .mx_AvatarSetting_avatar > * {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .mx_AvatarSetting_avatar .mx_AccessibleButton.mx_AccessibleButton_kind_primary {
        margin-top: 8px;
    }

    .mx_AvatarSetting_avatar .mx_AccessibleButton.mx_AccessibleButton_kind_link_sm {
        width: 100%;
    }

    .mx_AvatarSetting_avatar > img {
        display: block;
        height: 90px;
        width: inherit;
        border-radius: 90px;
        cursor: pointer;
        -o-object-fit: cover;
           object-fit: cover;
    }

    .mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton {
        width: 28px;
        height: 28px;
        border-radius: 32px;
        border: 1px solid var(--cpd-color-bg-canvas-default);
        background-color: var(--cpd-color-bg-canvas-default);

        position: absolute;
        bottom: 0;
        right: 0;
        text-align: center;
        cursor: pointer;
    }

        .mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton svg {
            position: relative;
            top: 3px;
        }

    .mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton:hover,
    .mx_AvatarSetting_avatar .mx_AvatarSetting_uploadButton_active {
        background-color: var(--cpd-color-bg-subtle-primary);
    }

.mx_AvatarSetting_removeMenuItem svg,
.mx_AvatarSetting_removeMenuItem span {
    color: #e0454b !important;
    color: var(--cpd-color-text-critical-primary) !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_FontScalingPanel_preview {
    --FontScalingPanel_preview-padding-block: 9px;

    border: 1px solid var(--cpd-color-gray-400);
    border-radius: 10px;
    padding: 0 16px 9px 16px;
    padding: 0 16px var(--FontScalingPanel_preview-padding-block) 16px;
    pointer-events: none;
    display: flow-root;
}

    .mx_FontScalingPanel_preview.mx_IRCLayout {
        padding-top: 9px;
    }

    .mx_FontScalingPanel_preview .mx_EventTile[data-layout="bubble"] {
        margin-top: 30px;
    }

    .mx_FontScalingPanel_preview .mx_EventTile_msgOption {
        display: none;
    }

.mx_FontScalingPanel_Dropdown {
    width: 120px;
    /* Override default mx_Field margin */
    margin-bottom: var(--cpd-space-2x) !important;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ImageSizePanel_radios {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 16px;
}

    .mx_ImageSizePanel_radios > label {
        margin-right: 68px; /* keep the boxes separate */
        cursor: pointer;
    }

    .mx_ImageSizePanel_radios .mx_ImageSizePanel_size {
        display: block;
        color: var(--cpd-color-gray-400);
        width: 221px;
        height: 148px;
        margin-bottom: 14px; /* move radio button away from bottom edge a bit */
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_IntegrationManager .mx_Dialog_border {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 60%;
        height: 70%;
        max-width: none;
        max-width: initial;
        max-height: none;
        max-height: initial;
    }

    .mx_IntegrationManager .mx_Dialog {
        padding: 0;
        overflow: hidden;
    }

    .mx_IntegrationManager iframe {
        background-color: #fff;
        border: 0;
        width: 100%;
        height: 100%;
    }

    .mx_IntegrationManager h3 {
        margin-block: 20px;
    }

    .mx_IntegrationManager .mx_IntegrationManager_loading,
    .mx_IntegrationManager .mx_IntegrationManager_error {
        text-align: center;
    }

    .mx_IntegrationManager .mx_IntegrationManager_error h3 {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_JoinRuleSettings_upgradeRequired {
    margin-left: 16px;
    padding: 4px 16px;
    border: 1px solid #2e80de;
    border: 1px solid var(--cpd-color-text-action-accent);
    border-radius: 8px;
    color: #2e80de;
    color: var(--cpd-color-text-action-accent);
    font-size: 0.75rem;
    line-height: 0.9375rem;
}
    .mx_JoinRuleSettings_spacesWithAccess > h4 {
        color: var(--cpd-color-text-secondary);
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.75rem;
        line-height: 0.9375rem;
        text-transform: uppercase;
    }

    .mx_JoinRuleSettings_spacesWithAccess > span {
        font: var(--cpd-font-body-md-medium);
        line-height: 32px; /* matches height of avatar for v-align */
        color: var(--cpd-color-text-secondary);
        display: inline-block;
    }

        .mx_JoinRuleSettings_spacesWithAccess > span .mx_BaseAvatar {
            margin-right: 8px;
        }

        .mx_JoinRuleSettings_spacesWithAccess > span + span {
            margin-left: 16px;
        }

.mx_JoinRuleSettings_radioButton {
    padding-top: 16px;
}

    .mx_JoinRuleSettings_radioButton .mx_StyledRadioButton_content {
        margin-left: 14px;
        font-weight: var(--cpd-font-weight-semibold);
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        display: block;
    }

    .mx_JoinRuleSettings_radioButton.mx_StyledRadioButton_disabled {
        opacity: 0.5;
    }

    .mx_JoinRuleSettings_radioButton.mx_StyledRadioButton_disabled + span {
        opacity: 0.5;
    }

    .mx_JoinRuleSettings_radioButton + span {
        display: inline-block;
        margin-left: 34px;
        margin-bottom: 16px;
        font-size: 0.9375rem;
        line-height: 1.5rem;
        color: var(--cpd-color-text-secondary);
    }

        .mx_JoinRuleSettings_radioButton + span + .mx_StyledRadioButton {
            border-top: 1px solid var(--cpd-color-gray-400);
        }

.mx_JoinRuleSettings_labelledCheckbox {
    font: var(--cpd-font-body-md-regular);
    margin-top: var(--cpd-space-2x);
}

.mx_JoinRuleSettings_recommended {
    color: var(--cpd-color-green-1000);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_KeyboardShortcut kbd {
        padding: 5px;
        border-radius: 4px;
        background-color: var(--cpd-color-bg-canvas-default);
        min-width: 20px;
        text-align: center;
        display: inline-block;
        border: 1px solid var(--cpd-color-border-interactive-primary);
        -webkit-box-shadow: 0 2px var(--cpd-color-border-interactive-primary);
                box-shadow: 0 2px var(--cpd-color-border-interactive-primary);
        text-transform: capitalize;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LayoutSwitcher_LayoutSelector {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    /**
     * The settings form has a default gap of 10px
     * We want to have a bigger gap between the layout options
     */
    gap: var(--cpd-space-4x) !important;
}

    .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio {
        border: 1px solid var(--cpd-color-border-interactive-primary);
        border-radius: var(--cpd-space-2x);

        /**
         * Override the event tile style to make it fit in the selector
         * Tweak also hover style and remove action bar
         */
    }

        .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_inline {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            /*
             * 10px
             */
            gap: calc(var(--cpd-space-2x) + var(--cpd-space-0-5x));
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
        }

        .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_inline,
        .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview {
            margin: var(--cpd-space-3x);
        }
        .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview {
            pointer-events: none;
        }

            .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile {
                margin: 0;

                /**
                 * Hide the message options and message action bar in the preview
                 */

                /**
                 * Add margin to center the bubble
                 */
            }
                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_EventTile_msgOption,
                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_MessageActionBar {
                    display: none;
                }

                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_EventTile_content {
                    margin-right: 0;
                }

                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile[data-layout="group"] {
                    margin-top: calc(var(--cpd-space-3x) * -1);
                }
                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile[data-layout="bubble"] {
                    /**
                     * Add the layout margin and the margin to vertically center the bubble
                     */
                    margin-top: var(--cpd-space-6x);
                    margin-right: 34px;
                    -ms-flex-negative: 1;
                        flex-shrink: 1;
                }

                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile[data-layout="irc"] .mx_MessageTimestamp {
                    display: none; /* hide the container used for spacing consistency */
                }

                .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_EventTilePreview .mx_EventTile .mx_EventTile_line {
                    max-width: 100%;
                }

        .mx_LayoutSwitcher_LayoutSelector .mxLayoutSwitcher_LayoutSelector_LayoutRadio .mxLayoutSwitcher_LayoutSelector_LayoutRadio_separator {
            border-top: 0;
            border-bottom: 1px solid var(--cpd-color-border-interactive-secondary);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_NotificationPusherSettings .mx_NotificationPusherSettings_description {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
    }

    .mx_NotificationPusherSettings .mx_NotificationPusherSettings_detail {
        margin-top: -4px;
        margin-bottom: 12px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SettingsTab .mx_NotificationSettings2 .mx_SettingsSection_subSections {
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        gap: 32px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .mx_SettingsTab .mx_NotificationSettings2 .mx_SettingsSubsection_description {
        margin-bottom: 20px;
    }
            .mx_SettingsTab .mx_NotificationSettings2 .mx_SettingsSubsection_description .mx_SettingsSubsection_text .mx_NotificationBadge {
                vertical-align: baseline;
                display: -webkit-inline-box;
                display: -ms-inline-flexbox;
                display: inline-flex;
                margin: 0 2px;
            }

    .mx_SettingsTab .mx_NotificationSettings2 .mx_SettingsSubsection_content {
        margin-top: 12px;
        gap: 12px;
        justify-items: stretch;
        -webkit-box-pack: stretch;
            -ms-flex-pack: stretch;
                justify-content: stretch;
    }

    .mx_SettingsTab .mx_NotificationSettings2 .mx_StyledRadioButton_content {
        margin-left: 10px;
        margin-right: 10px;
    }

    .mx_SettingsTab .mx_NotificationSettings2 .mx_TagComposer {
        margin-top: 16px;
    }

        .mx_SettingsTab .mx_NotificationSettings2 .mx_TagComposer.mx_TagComposer_disabled {
            opacity: 0.7;
        }

        .mx_SettingsTab .mx_NotificationSettings2 .mx_TagComposer .mx_TagComposer_tags {
            margin-top: 16px;
            gap: 8px;
        }

            .mx_SettingsTab .mx_NotificationSettings2 .mx_TagComposer .mx_TagComposer_tags .mx_Tag {
                border-radius: 18px;
                padding: 6px 12px;
                background: var(--cpd-color-alpha-gray-300);
                margin: 0;
            }

                .mx_SettingsTab .mx_NotificationSettings2 .mx_TagComposer .mx_TagComposer_tags .mx_Tag .mx_Tag_delete {
                    background: var(--cpd-color-gray-800);
                    color: #fff;
                    -ms-flex-item-align: initial;
                        align-self: initial;
                }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2015-2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserNotifSettings_grid {
    width: calc(100% + 12px); /* +12px to line up center of 'Noisy' column with toggle switches */
    display: grid;
    grid-template-columns: auto repeat(3, 62px);
    place-items: center center;
    grid-gap: 8px;
    gap: 8px;

    /* Override StyledRadioButton default styles */

    /* left align section heading*/
}
    .mx_UserNotifSettings_grid .mx_StyledRadioButton {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

        .mx_UserNotifSettings_grid .mx_StyledRadioButton .mx_StyledRadioButton_content {
            display: none;
        }

        .mx_UserNotifSettings_grid .mx_StyledRadioButton .mx_StyledRadioButton_spacer {
            display: none;
        }
    .mx_UserNotifSettings_grid .mx_SettingsSubsectionHeading {
        justify-self: start;
    }

.mx_UserNotifSettings_gridRowContainer {
    display: contents;
}

.mx_UserNotifSettings_gridRow {
    display: contents;
}

.mx_UserNotifSettings_gridRowLabel {
    justify-self: start;
    /* <legend> does not accept */
    /* display: inline | inline-block */
    /* force it inline using float */
    float: left;
}

.mx_UserNotifSettings_gridColumnLabel {
    color: var(--cpd-color-text-secondary);
    font: var(--cpd-font-body-sm-semibold);
}
.mx_UserNotifSettings_gridRowError {
    /* occupy full row */
    grid-column: 1/-1;
    justify-self: start;
    padding-right: 30%;
    /* collapse half of the grid-gap */
    margin-top: -4px;
}

.mx_UserNotifSettings_floatingSection {
    margin-top: 40px;
}

    .mx_UserNotifSettings_floatingSection > div:first-child {
        /* section header */
        font-size: 1.125rem;
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_UserNotifSettings_floatingSection > table {
        border-collapse: collapse;
        border-spacing: 0;
        margin-top: 8px;
    }

        .mx_UserNotifSettings_floatingSection > table tr > td:first-child {
            /* Just for a bit of spacing */
            padding-right: 8px;
        }

.mx_UserNotifSettings_clearNotifsButton {
    margin-top: 8px;
}

.mx_TagComposer {
    margin-top: 35px; /* lots of distance from the last line of the table */
}

.mx_AccessibleButton.mx_NotificationSound_browse {
    margin-right: 10px;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_GeneralUserSettingsTab_section--discovery_existing_verification {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

    .mx_GeneralUserSettingsTab_section--discovery_existing_verification .mx_Field {
        margin: 0 0 0 1em;
    }

.mx_PhoneNumbers_input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_PhoneNumbers_input > .mx_Field {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.mx_PhoneNumbers_country {
    width: 80px;
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 * Copyright 2024 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_PowerLevelSelector_Button {
    -ms-flex-item-align: start;
        align-self: flex-start;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 , 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RoomProfileSettings {
    border-bottom: 1px solid var(--cpd-color-gray-400);
}

    .mx_RoomProfileSettings .mx_RoomProfileSettings_profile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

        .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            -webkit-margin-end: 54px;
                    margin-inline-end: 54px;
        }

            .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_Field {
                margin-top: 8px;
            }

            .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_topic {
                margin-top: 8px;
            }

                .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_topic > textarea {
                    font-family: inherit;
                    resize: vertical;
                }

                .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_topic.mx_RoomProfileSettings_profile_controls_topic--room textarea {
                    min-height: 4em;
                }

            .mx_RoomProfileSettings .mx_RoomProfileSettings_profile .mx_RoomProfileSettings_profile_controls .mx_RoomProfileSettings_profile_controls_userId {
                -webkit-margin-end: 20px;
                        margin-inline-end: 20px;
            }

    .mx_RoomProfileSettings .mx_RoomProfileSettings_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: var(--cpd-space-4x);
        margin-top: 10px; /* 18px is already accounted for by the <p> above the buttons */
        margin-bottom: 28px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SetIntegrationManager .mx_SetIntegrationManager_heading_manager {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-column-gap: 4px;
           -moz-column-gap: 4px;
                column-gap: 4px;
    }
    .mx_SetIntegrationManager form {
        margin-top: var(--cpd-space-3x);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsFieldset {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
}

.mx_SettingsFieldset_legend {
    font: var(--cpd-font-heading-md-semibold);
    font-weight: var(--cpd-font-weight-semibold);
    display: block;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    margin-bottom: 10px;
    margin-top: 12px;
}

.mx_SettingsFieldset_description {
    display: block;
    margin-top: 0;
    margin-bottom: 10px;
}

    .mx_SettingsFieldset_description p {
        margin-top: 10px;
        margin-bottom: 0;
    }

        .mx_SettingsFieldset_description p:first-child {
            margin: 0;
        }

.mx_SettingsFieldset_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_SettingsHeader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: var(--cpd-space-2x);
    /* Override margin from common.pcss */
    margin: 0;
}

    .mx_SettingsHeader > span {
        font: var(--cpd-font-body-sm-medium);
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
    }

    .mx_SettingsHeader.mx_SettingsHeader_recommended::after {
        display: inline-block;
        content: "";
        width: 8px;
        height: 8px;
        background-color: var(--cpd-color-icon-critical-primary);
        clip-path: circle(4px);
    }
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_SettingsSubheader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--cpd-space-2x);
}

    .mx_SettingsSubheader > span {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: var(--cpd-space-2x);
        font: var(--cpd-font-body-sm-medium);
    }

    .mx_SettingsSubheader .mx_SettingsSubheader_success {
        color: #3ecf8e;
        color: var(--cpd-color-text-success-primary);
    }

    .mx_SettingsSubheader .mx_SettingsSubheader_error {
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ExistingSpellCheckLanguage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.mx_ExistingSpellCheckLanguage_language {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 10px;
}

.mx_GeneralUserSettingsTab_spellCheckLanguageInput {
    margin-bottom: 8px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_ThemeChoicePanel_ThemeSelectors {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    /* Override form default style */
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important;
    gap: var(--cpd-space-4x) !important;
}

    .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector {
        border: 1px solid var(--cpd-color-border-interactive-secondary);
        border-radius: var(--cpd-space-1-5x);
        padding: var(--cpd-space-3x) var(--cpd-space-5x) var(--cpd-space-3x) var(--cpd-space-3x);
        gap: var(--cpd-space-2x);
        background-color: var(--cpd-color-bg-canvas-default);
    }

        .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector.mx_ThemeChoicePanel_themeSelector_enabled {
            border-color: var(--cpd-color-border-interactive-primary);
        }

        .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector.mx_ThemeChoicePanel_themeSelector_disabled {
            border-color: var(--cpd-color-border-disabled);
        }

            .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector.mx_ThemeChoicePanel_themeSelector_disabled .mx_ThemeChoicePanel_themeSelector_Label {
                color: var(--cpd-color-text-disabled);
                cursor: not-allowed;
            }

        .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector .mx_ThemeChoicePanel_themeSelector_Label {
            font: var(--cpd-font-body-md-semibold);
        }
            .mx_ThemeChoicePanel_ThemeSelectors .mx_ThemeChoicePanel_themeSelector:not(.mx_ThemeChoicePanel_themeSelector_disabled) .mx_ThemeChoicePanel_themeSelector_Label {
                color: #ffffff;
                color: var(--cpd-color-text-primary);
            }

.mx_ThemeChoicePanel_CustomTheme {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--cpd-space-4x);
}

    .mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomTheme_EditInPlace input:focus {
        /*
         * When the input is focused, the border is growing
         * We need to move it a bit to avoid the left border to be under the left panel
         */
        margin-left: var(--cpd-space-0-5x);
    }

    .mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomThemeList {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        /*
         * Override the default padding/margin of the list
         */
        padding: 0;
        margin: 0;
    }

        .mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomThemeList .mx_ThemeChoicePanel_CustomThemeList_theme {
            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;
            background-color: var(--cpd-color-gray-200);
            padding: var(--cpd-space-2x) var(--cpd-space-2x) var(--cpd-space-2x) var(--cpd-space-4x);
        }

            .mx_ThemeChoicePanel_CustomTheme .mx_ThemeChoicePanel_CustomThemeList .mx_ThemeChoicePanel_CustomThemeList_theme .mx_ThemeChoicePanel_CustomThemeList_name {
                font: var(--cpd-font-body-sm-semibold);
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UpdateCheckButton_summary {
    margin-left: 16px;
}
}
@layer app-web{

/*
Copyright 2026 Element Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_UserPersonalInfoSettings h2 {
        margin: var(--cpd-space-4x) 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019, 2020 , 2024 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_UserProfileSettings {
    border-bottom: 1px solid var(--cpd-color-gray-400);
}

    .mx_UserProfileSettings h2 {
        margin: var(--cpd-space-4x) 0;
    }

    .mx_UserProfileSettings .mx_UserProfileSettings_profile {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: var(--cpd-space-6x);
        gap: 16px;
    }

        .mx_UserProfileSettings .mx_UserProfileSettings_profile .mx_UserProfileSettings_profile_displayName {
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1;
            width: 100%;
            gap: 0;
        }

    .mx_UserProfileSettings .mx_UserProfileSettings_profile_controls {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }

    .mx_UserProfileSettings .mx_UserProfileSettings_profile_controls_userId {
        width: 100%;
        margin-top: var(--cpd-space-4x);
    }
        .mx_UserProfileSettings .mx_UserProfileSettings_profile_controls_userId .mx_CopyableText {
            margin-top: var(--cpd-space-1x);
            width: 100%;
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

    .mx_UserProfileSettings .mx_UserProfileSettings_profile_controls_userId_label {
        font-size: 15px;
        font-weight: 500;
    }

    .mx_UserProfileSettings .mx_UserProfileSettings_profile_buttons {
        margin-top: var(--cpd-space-8x);
        margin-bottom: var(--cpd-space-8x);
    }

    .mx_UserProfileSettings .mx_UserProfileSettings_accountmanageIcon {
        margin-right: var(--cpd-space-2x);
    }

@media (max-width: 768px) {
    .mx_UserProfileSettings_profile {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 30px;
    }
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_EncryptionDetails,
.mx_OtherSettings {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    /* !important override compound form */
    gap: var(--cpd-space-6x) !important;
    width: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
}

    .mx_EncryptionDetails .mx_EncryptionDetails_session_title,
    .mx_EncryptionDetails .mx_OtherSettings_title,
    .mx_OtherSettings .mx_EncryptionDetails_session_title,
    .mx_OtherSettings .mx_OtherSettings_title {
        font: var(--cpd-font-body-lg-semibold);
        padding-bottom: var(--cpd-space-2x);
        border-bottom: 1px solid var(--cpd-color-gray-400);
        width: 100%;
        margin: 0;
    }
    .mx_EncryptionDetails .mx_EncryptionDetails_session {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        width: 100%;
    }

        .mx_EncryptionDetails .mx_EncryptionDetails_session > div {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
        }

            .mx_EncryptionDetails .mx_EncryptionDetails_session > div > span {
                width: 50%;
                word-wrap: break-word;
            }

        .mx_EncryptionDetails .mx_EncryptionDetails_session > div:nth-child(odd) {
            background-color: var(--cpd-color-gray-200);
        }

    .mx_EncryptionDetails .mx_EncryptionDetails_buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: var(--cpd-space-4x);
    }
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */
    .mx_ChangeRecoveryKey .mx_InformationPanel_description {
        text-align: center;
    }

    .mx_ChangeRecoveryKey .mx_ChangeRecoveryKey_Form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-8x);
    }

        .mx_ChangeRecoveryKey .mx_ChangeRecoveryKey_Form .mx_ChangeRecoveryKey_footer {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: var(--cpd-space-4x);
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

    .mx_ChangeRecoveryKey .mx_KeyPanel {
        display: grid;
        grid-template:
            "header button" auto
            "content button" auto / 1fr;

        grid-column-gap: var(--cpd-space-3x);

        -webkit-column-gap: var(--cpd-space-3x);

           -moz-column-gap: var(--cpd-space-3x);

                column-gap: var(--cpd-space-3x);
        grid-row-gap: var(--cpd-space-1x);
        row-gap: var(--cpd-space-1x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_ChangeRecoveryKey .mx_KeyPanel > span {
            grid-area: header;
        }

        .mx_ChangeRecoveryKey .mx_KeyPanel > div {
            grid-area: content;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: var(--cpd-space-2x);
            color: var(--cpd-color-text-secondary);
        }

            .mx_ChangeRecoveryKey .mx_KeyPanel > div .mx_KeyPanel_key {
                font-family: "Fira Code", monospace;
                /*
                 * From figma https://www.figma.com/design/qTWRfItpO3RdCjnTKPu4mL/Settings?node-id=375-77471&t=t7lozYrSI1AVZZ3U-4
                 */
                height: 70px;
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                border-radius: var(--cpd-space-2x);
                padding: var(--cpd-space-3x) var(--cpd-space-4x);
                background-color: var(--cpd-color-bg-subtle-secondary);
            }

        .mx_ChangeRecoveryKey .mx_KeyPanel > button {
            margin: 0 var(--cpd-space-1x);
            grid-area: button;
            color: var(--cpd-color-icon-secondary-alpha);
        }

    .mx_ChangeRecoveryKey .mx_KeyForm {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-8x);
    }
            .mx_ChangeRecoveryKey .mx_KeyForm .mx_KeyForm_password > input[name="recoveryKey"] {
                /*
                 * From figma https://www.figma.com/design/qTWRfItpO3RdCjnTKPu4mL/Settings?node-id=375-77506&t=d82NdRBDoKsUe1C9-4
                 */
                height: 70px;
                padding: var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-4x);
                border: var(--cpd-border-width-1) solid;
                border-radius: 8px;
                margin: 0px;
            }

            .mx_ChangeRecoveryKey .mx_KeyForm .mx_KeyForm_password > button {
                /*
                 * See figma https://www.figma.com/design/qTWRfItpO3RdCjnTKPu4mL/Settings?node-id=375-77506&t=d82NdRBDoKsUe1C9-4
                 * Avoid stretching the hide/show symbol to the height of the input, and centre it vertically.
                 */
                height: 24.5px;
                padding: var(--cpd-space-1x);
                -ms-flex-item-align: center;
                    align-self: center;
            }
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_EncryptionCard {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--cpd-space-8x);
    padding: var(--cpd-space-10x);
    border-radius: var(--cpd-space-4x);
    /* From figma */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(27, 29, 34, 0.15);
            box-shadow: 0 1.2px 2.4px 0 rgb(27, 29, 34, 0.15);
    border: 1px solid var(--cpd-color-gray-400);

    /* extra class for specifying that we don't need a border */
}

    .mx_EncryptionCard .mx_EncryptionCard_header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_EncryptionCard .mx_EncryptionCard_header > h2 {
            margin: 0;
        }

        .mx_EncryptionCard .mx_EncryptionCard_header > span {
            color: var(--cpd-color-text-secondary);
            text-align: center;
        }
    .mx_EncryptionCard.mx_EncryptionCard_noBorder {
        border: 0px none;
        -webkit-box-shadow: none;
                box-shadow: none;
        padding: 0px;
    }

.mx_EncryptionCard_buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--cpd-space-4x);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */
    .mx_EncryptionCard_emphasisedContent span {
        font: var(--cpd-font-body-md-medium);
        text-align: center;
    }
}
@layer app-web{

/*
 * Copyright 2025 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

.mx_RecoveryPanelOutOfSync {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-2x);
}
}
@layer app-web{

/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

/* Red text for the "Do not close this window" warning*/
.mx_ResetIdentityPanel_warning {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsBanner {
    background: var(--cpd-color-bg-subtle-primary);
    border-radius: 8px;
    padding: 12px 16px;
    gap: 12px;
    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;
}

    .mx_SettingsBanner .mx_SettingsBanner_content {
        margin: 0;
    }

    .mx_SettingsBanner .mx_AccessibleButton {
        white-space: nowrap;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsIndent {
    padding-left: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
}
}
@layer app-web{

/*
Copyright 2023, 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsSection {
    --SettingsTab_section-margin-bottom-preferences-labs: 30px;
    --SettingsTab_heading_nth_child-margin-top: 30px;
    --SettingsTab_tooltip-max-width: 20px; /* So it fits in the space provided by the page */

    color: #ffffff;

    color: var(--cpd-color-text-primary);

    /* Compound links carry data-kind and provide their own colour. */
}
    .mx_SettingsSection a:not([data-kind]) {
        color: var(--cpd-color-text-link-external);
    }

    .mx_SettingsSection.mx_SettingsSection_newUi {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-6x);
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: start;
    }

    .mx_SettingsSection .mx_SettingsSection_header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-3x);
        color: var(--cpd-color-text-secondary);
    }

.mx_SettingsSection_subSections {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 32px;
    gap: 32px;

    margin: 16px 0;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SettingsTab {
    --SettingsTab_tooltip-max-width: 120px; /* So it fits in the space provided by the page */

    color: #ffffff;

    color: var(--cpd-color-text-primary);

    /* Compound links carry data-kind and provide their own colour. */

    /* never want full width buttons*/
    /* event when other content is 100% width*/
}
    .mx_SettingsTab a:not([data-kind]) {
        color: var(--cpd-color-text-link-external);
    }

    .mx_SettingsTab form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-3x);
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }
    .mx_SettingsTab .mx_AccessibleButton {
        -ms-flex-item-align: start;
            align-self: flex-start;
        justify-self: flex-start;
    }

    .mx_SettingsTab .mx_Field {
        margin: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
    }

.mx_SettingsTab_warningText {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

.mx_SettingsTab_subsectionText {
    color: var(--cpd-color-text-secondary);
    font: var(--cpd-font-body-md-regular);
    display: block;
    margin-top: 10px;
    -webkit-margin-end: 80px;
            margin-inline-end: 80px; /* Align with the rest of the view */
    margin-bottom: 10px;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
}

.mx_SettingsTab_section {

    margin-bottom: 24px;
}

    .mx_SettingsTab_section .mx_SettingsFlag {
        -webkit-margin-end: 80px;
                margin-inline-end: 80px;
        margin-bottom: 10px;
    }

        .mx_SettingsTab_section .mx_SettingsFlag .mx_SettingsFlag_label {
            vertical-align: middle;
            display: inline-block;
            max-width: calc(100% - 3rem); /* Force word wrap instead of colliding with the switch */
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
        }

        .mx_SettingsTab_section .mx_SettingsFlag .mx_ToggleSwitch {
            float: inline-end;
        }

    .mx_SettingsTab_section > p {
        -webkit-margin-end: 80px;
                margin-inline-end: 80px;
    }

    .mx_SettingsTab_section.mx_SettingsTab_subsectionText .mx_SettingsFlag {
        -webkit-margin-end: 0 !important;
                margin-inline-end: 0 !important;
    }

.mx_SettingsTab_sections {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 32px;
    gap: 32px;

    padding-bottom: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_NotificationSettingsTab_notificationsSection {
    width: 360px;
}

    .mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
        color: #ffffff;
        color: var(--cpd-color-text-primary);
        font-size: 0.9375rem;
        line-height: 1.125rem;
        font-weight: var(--cpd-font-weight-semibold);
        margin-top: 16px;
        position: relative;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

        .mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton input + div {
            margin-top: 8px;
        }

        .mx_NotificationSettingsTab_notificationsSection .mx_StyledRadioButton .mx_NotificationSettingsTab_microCopy {
            color: var(--cpd-color-text-secondary);
            font-weight: normal;
            font-size: 0.75rem;
            line-height: 0.9375rem;
            margin-right: 32px;
        }

input[type="file"].mx_NotificationSound_soundUpload {
    display: none;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2023 Nordeck IT + Consulting GmbH

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PeopleRoomSettingsTab_knock {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: var(--cpd-space-2x);
}

.mx_PeopleRoomSettingsTab_content {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0 var(--cpd-space-4x);
}

.mx_PeopleRoomSettingsTab_avatar {
    -ms-flex-item-align: start;
        align-self: flex-start;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.mx_PeopleRoomSettingsTab_name {
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_PeopleRoomSettingsTab_timestamp {
    color: var(--cpd-color-text-secondary);
    margin-left: var(--cpd-space-1x);
}

.mx_PeopleRoomSettingsTab_userId {
    color: var(--cpd-color-text-secondary);
    display: block;
    font-size: var(--cpd-font-size-body-sm);
}

.mx_PeopleRoomSettingsTab_seeMoreOrLess {
    margin: var(--cpd-space-3x) 0 0;
}

.mx_PeopleRoomSettingsTab_action {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

    .mx_PeopleRoomSettingsTab_action + .mx_PeopleRoomSettingsTab_action {
        margin-left: var(--cpd-space-3x);
    }

.mx_PeopleRoomSettingsTab_paragraph {
    margin: 0;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_RolesRoomSettingsTab_bannedList {
    margin-bottom: 0;
}

.mx_RolesRoomSettingsTab_unbanBtn {
    margin-right: 10px;
    margin-bottom: 5px;
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SecurityRoomSettingsTab_advancedSection {
    margin-top: 16px;
}

.mx_SecurityRoomSettingsTab_warning {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
}

    .mx_SecurityRoomSettingsTab_warning svg {
        color: #ff0064; /* Match legacy icon colour until redesign */
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Field.mx_AppearanceUserSettingsTab_checkboxControlledField {
    width: 256px;
    /* Line up with Settings field toggle button */
    -webkit-margin-start: 0;
            margin-inline-start: 0;
}
}
@layer app-web{

/*
Copyright 2026 PLX.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.

PLX Bots settings tab — Midnight-themed bot cards + create form.
Scoped under .mx_BotsUserSettingsTab; colours pull from the Midnight token
block defined in res/css/themes/_plx-telegram.pcss.
*/
    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_error {
        margin-bottom: 12px;
        padding: 10px 12px;
        border-radius: 13px;
        border-radius: var(--plx-radius-input, 13px);
        background: rgba(224, 69, 75, 0.12); /* --danger soft */
        color: #e0454b;
        color: var(--plx-danger, #e0454b);
        font-size: 14px;
        line-height: 1.4;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_empty,
    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_forbidden {
        padding: 16px;
        border-radius: 14px;
        border-radius: var(--plx-radius-card, 14px);
        background: #202b36;
        background: var(--plx-panel-2, #202b36);
        color: #7f91a4;
        color: var(--plx-dim, #7f91a4);
        font-size: 14px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 12px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_card {
        padding: 16px;
        border-radius: 14px;
        border-radius: var(--plx-radius-card, 14px);
        background: #202b36;
        background: var(--plx-panel-2, #202b36);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border: 1px solid var(--plx-border, rgba(255, 255, 255, 0.06));
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 10px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_cardHeader {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 12px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_cardIdentity {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline;
        gap: 10px;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_handle {
        font-weight: 700;
        font-size: 15px;
        color: #2e80de;
        color: var(--plx-accent, #2e80de);
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_name {
        font-weight: 600;
        font-size: 15px;
        color: #ffffff;
        color: var(--plx-text, #ffffff);
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_inactive {
        font-size: 12px;
        padding: 2px 8px;
        border-radius: 9px;
        background: rgba(224, 69, 75, 0.16);
        color: #e0454b;
        color: var(--plx-danger, #e0454b);
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_description {
        font-size: 14px;
        color: #7f91a4;
        color: var(--plx-dim, #7f91a4);
        line-height: 1.4;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_token {
        padding: 8px 10px;
        border-radius: 13px;
        border-radius: var(--plx-radius-input, 13px);
        background: #0e1621;
        background: var(--plx-bg, #0e1621);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border: 1px solid var(--plx-border, rgba(255, 255, 255, 0.06));
        overflow-x: auto;
    }

        .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_token code {
            font-family: monospace;
            font-size: 13px;
            color: #8fd0ff;
            color: var(--plx-read-tick, #8fd0ff);
            word-break: break-all;
        }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_actions {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: 8px;
        margin-top: 4px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_createForm,
    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_editForm {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 12px;
        max-width: 420px;
    }

    .mx_BotsUserSettingsTab .mx_BotsUserSettingsTab_editForm {
        margin-top: 4px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_HelpUserSettingsTab_accessTokenDetails {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_KeyboardShortcut_shortcutList {
    margin: 0;
    padding: 0;
    width: 100%;
    display: grid;
    grid-gap: 4px;
    gap: 4px;
}

.mx_KeyboardShortcut_shortcutRow,
.mx_KeyboardShortcut {
    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;
}

.mx_KeyboardShortcut_shortcutRow {
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
}

.mx_KeyboardShortcut {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
}
}
@layer app-web{

/*
Copyright 2025 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MediaPreviewAccountSetting_Radio {
    margin: var(--cpd-space-1x) 0;
}

.mx_MediaPreviewAccountSetting {
    margin-top: var(--cpd-space-1x);
}

.mx_MediaPreviewAccountSetting_RadioHelp {
    /* !important because it's overriding compound help message */
    margin-top: 0 !important;
    margin-bottom: var(--cpd-space-1x);
}

.mx_MediaPreviewAccountSetting_Form {
    width: 100%;
}

.mx_MediaPreviewAccountSetting_ToggleSwitch {
    font: var(--cpd-font-body-md-medium);
    letter-spacing: var(--cpd-font-letter-spacing-body-md);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_MjolnirUserSettingsTab_listItem {
    margin-bottom: 2px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2024 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_PreferencesUserSettingsTab_section_hint {
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
}
}
@layer app-web{

/*
Copyright 2019-2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SecurityUserSettingsTab_bulkOptions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
}

.mx_SecurityUserSettingsTab_ignoredUsers {
    padding-left: 0;
    margin: 0;
    list-style: none;
}

.mx_SecurityUserSettingsTab_ignoredUser {
    margin-bottom: 4px;
}

.mx_SecurityUserSettingsTab_ignoredUser .mx_AccessibleButton {
    margin-right: 8px;
}

.mx_SecurityUserSettingsTab_warning {
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
}

    .mx_SecurityUserSettingsTab_warning svg {
        width: 24px;
        height: 24px;
        margin-right: var(--cpd-space-4x);
        color: #e0454b;
        color: var(--cpd-color-text-critical-primary);
    }

form.mx_SecurityUserSettingsTab_posthogSection {
    /* Inhibit compound spacing here as it clashes with pre-compound UI */
    display: contents !important;
}
}
@layer app-web{

/*
Copyright 2024,2025 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SidebarUserSettingsTab_homeAllRoomsCheckbox {
    margin-left: 24px;
}

    .mx_SidebarUserSettingsTab_homeAllRoomsCheckbox + div {
        margin-left: 48px;
    }

.mx_SidebarUserSettingsTab_icon {
    margin-right: var(--cpd-space-2x);
    margin-top: auto;
    margin-bottom: auto;
}

.mx_SidebarUserSettingsTab_checkbox label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_SpaceBasicSettings .mx_Field {
        margin: 24px 0;
    }

    .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 24px;
    }

        .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer .mx_SpaceBasicSettings_avatar {
            height: 80px;
            width: 80px;
            background-color: var(--cpd-color-gray-800);
            border-radius: 16px;
            -o-object-fit: cover;
               object-fit: cover;
        }

            .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer .mx_SpaceBasicSettings_avatar svg {
                width: 20px;
                height: 20px;
                padding: 30px;
                color: #ffffff; /* white icon fill */
            }

        .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer > input[type="file"] {
            display: none;
        }

        .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer > .mx_AccessibleButton_kind_link {
            display: inline-block;
            margin: auto 18px;
            color: var(--cpd-color-text-link-external);
            font: var(--cpd-font-body-md-regular);
        }

        .mx_SpaceBasicSettings .mx_SpaceBasicSettings_avatarContainer > .mx_SpaceBasicSettings_avatar_remove {
            color: #e0454b;
            color: var(--cpd-color-text-critical-primary);
        }

    .mx_SpaceBasicSettings .mx_AccessibleButton_hasKind {
        margin-left: auto;
        display: block;
        width: -webkit-min-content;
        width: -moz-min-content;
        width: min-content;
    }

    .mx_SpaceBasicSettings .mx_AccessibleButton_disabled {
        cursor: not-allowed;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceChildrenPicker {
    margin: 16px 0;
}

    .mx_SpaceChildrenPicker .mx_StyledRadioButton + .mx_StyledRadioButton {
        margin-top: 16px;
    }

    .mx_SpaceChildrenPicker .mx_SearchBox {
        /* To match the space around the title */
        margin: 0 0 15px 0;
        -webkit-box-flex: 0;
            -ms-flex-positive: 0;
                flex-grow: 0;
        border-radius: 8px;
    }

    .mx_SpaceChildrenPicker .mx_SpaceChildrenPicker_noResults {
        display: block;
        margin-top: 24px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_SpaceCreateMenu_wrapper {
    /* background blur everything except SpacePanel */
}
    .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu_background {
        background-color: #030c1b4d;
        opacity: 0.6;
        left: 68px;
    }

    .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu {
        padding: 24px;
        width: 480px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--cpd-color-bg-canvas-default);
        position: relative;
    }
            .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu > div > h2 {
                font: var(--cpd-font-heading-sm-semibold);
                font-size: 1.125rem;
                margin-top: 4px;
            }

            .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu > div > p {
                font-size: 0.9375rem;
                color: var(--cpd-color-text-secondary);
            }

        .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenu_back {
            width: 24px;
            height: 24px;
            padding: var(--cpd-space-0-5x);
            background-color: var(--cpd-color-alpha-gray-300);
            border-radius: 14px;
            margin-bottom: 12px;
        }

            .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_SpaceCreateMenu_back svg {
                color: var(--cpd-color-gray-800);
            }

        .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_AccessibleButton_kind_primary {
            padding: 8px 22px;
            margin-left: auto;
            display: block;
            width: -webkit-min-content;
            width: -moz-min-content;
            width: min-content;
        }

        .mx_SpaceCreateMenu_wrapper .mx_ContextualMenu .mx_AccessibleButton_disabled {
            cursor: not-allowed;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2019 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_InlineTermsAgreement_cbContainer {
    margin-top: var(--cpd-space-4x);
    margin-bottom: 10px;
    font: var(--cpd-font-body-md-regular);
}

    .mx_InlineTermsAgreement_cbContainer a {
        color: #2e80de;
        color: var(--cpd-color-text-action-accent);
        text-decoration: none;
    }

    .mx_InlineTermsAgreement_cbContainer .mx_InlineTermsAgreement_checkbox {
        margin-top: 10px;
    }

        .mx_InlineTermsAgreement_cbContainer .mx_InlineTermsAgreement_checkbox input {
            vertical-align: text-bottom;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_AnalyticsToast .mx_AccessibleButton_kind_danger_outline {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
        color: #ffffff;
        border: 1px solid #2e80de;
        border: 1px solid var(--cpd-color-text-action-accent);
        font-weight: var(--cpd-font-weight-semibold);
    }

    .mx_AnalyticsToast .mx_AccessibleButton_kind_primary {
        background-color: #2e80de;
        background-color: var(--cpd-color-text-action-accent);
        color: #ffffff;
        border: 1px solid #2e80de;
        border: 1px solid var(--cpd-color-text-action-accent);
        font-weight: var(--cpd-font-weight-semibold);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_IncomingCallToast {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    pointer-events: initial; /* restore pointer events so the user can accept/decline */
}

    .mx_IncomingCallToast .mx_IncomingCallToast_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: var(--cpd-space-4x);
        width: 100%;
        overflow: hidden;
    }

        .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_title {
            display: grid;
            grid-template-columns: auto 1fr auto;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            grid-gap: var(--cpd-space-2x);
            gap: var(--cpd-space-2x);
        }

            .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_title h2 {
                margin: 0;
            }

            .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_title .mx_IncomingCallToast_expandButton {
                padding: var(--cpd-space-1x);
                color: var(--cpd-color-icon-secondary);
                -webkit-transition: color 0.1s;
                transition: color 0.1s;
            }

                .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_title .mx_IncomingCallToast_expandButton:hover {
                    color: var(--cpd-color-icon-primary);
                }

                .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_title .mx_IncomingCallToast_expandButton > svg {
                    display: block;
                }

        .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_avatars {
            display: inline-block;
            vertical-align: top;
        }

        .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_buttons {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            gap: var(--cpd-space-2x);
            -webkit-padding-before: var(--cpd-space-2x);
                    padding-block-start: var(--cpd-space-2x);
        }

        .mx_IncomingCallToast .mx_IncomingCallToast_content .mx_IncomingCallToast_actionButton {
            -webkit-box-sizing: border-box;
                    box-sizing: border-box;
            min-width: 131px;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_IncomingLegacyCallToast {
    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: start;
        -ms-flex-align: start;
            align-items: flex-start;
    pointer-events: initial; /* restore pointer events so the user can accept/decline */
}

    .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-left: 8px;
    }

        .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_LegacyCallEvent_caller {
            font-weight: bold;
            font-size: 0.9375rem;
            line-height: 1.125rem;

            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;

            margin-top: 2px;
            margin-right: 6px;

            max-width: 200px;
        }

        .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_LegacyCallEvent_type {
            font-size: 0.75rem;
            line-height: 0.9375rem;
            color: var(--cpd-color-gray-800);

            margin-top: 4px;
            margin-bottom: 6px;

            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;
        }

        .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons {
            margin-top: 8px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
            gap: 12px;
        }

            .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button {
                -webkit-box-sizing: border-box;
                        box-sizing: border-box;
                font-weight: var(--cpd-font-weight-semibold);
                height: 1.5rem;
                line-height: 1.5rem;
                margin-right: 0;
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                    -ms-flex-align: center;
                        align-items: center;
            }
                .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button svg {
        width: 16px;
        height: 16px;
        display: inline-block;
        color: var(--cpd-color-bg-canvas-default);
        margin-right: 8px;
        vertical-align: middle;
    }
                .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_content .mx_IncomingLegacyCallToast_buttons .mx_IncomingLegacyCallToast_button{
                padding: 8px;
                -ms-flex-negative: 0;
                    flex-shrink: 0;
                -webkit-box-flex: 1;
                    -ms-flex-positive: 1;
                        flex-grow: 1;
                font-size: 0.9375rem;
}

    .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_iconButton {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 20px;
        width: 20px;
    }

        .mx_IncomingLegacyCallToast .mx_IncomingLegacyCallToast_iconButton svg {
            height: inherit;
            width: inherit;
            color: var(--cpd-color-gray-800);
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/
    .mx_NonUrgentEchoFailureToast svg {
        display: inline-block;
        width: 1.125rem;
        height: 1.125rem;
        color: #fff; /* we know that non-urgent toasts are always styled the same */
        margin-right: 8px;
    }

    .mx_NonUrgentEchoFailureToast span {
        /* includes the i18n block */
        vertical-align: middle;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021-2023 x The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Heading_h1,
.mx_Heading_h2,
.mx_Heading_h3,
.mx_Heading_h4 {
    margin-inline: unset;
    margin-block: unset;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
}

.mx_Heading_h1 {
    font: var(--cpd-font-heading-xl-semibold);
}

.mx_Heading_h2 {
    font: var(--cpd-font-heading-lg-semibold);
}

.mx_Heading_h3 {
    font: var(--cpd-font-heading-md-semibold);
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_Heading_h4 {
    font: var(--cpd-font-heading-sm-semibold);
    font-weight: var(--cpd-font-weight-semibold);
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VerificationShowSas_decimalSas {
    text-align: center;
    font-weight: bold;
    padding-left: 3px;
    padding-right: 3px;
}

.mx_VerificationShowSas_decimalSas span {
    margin-left: 5px;
    margin-right: 5px;
}

.mx_VerificationShowSas_emojiSas {
    margin: 25px 0;
}

.mx_VerificationShowSas_buttonRow {
    text-align: center;
    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;
    gap: 9px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* data-whatintent makes more sense here semantically but then the tooltip would stay visible without the button */
/* which looks broken, so we match the behaviour of tooltips which is fine too. */
[data-whatinput="mouse"] .mx_LegacyCallViewButtons.mx_LegacyCallViewButtons_hidden {
    opacity: 0.001; /* opacity 0 can cause a re-layout */
    pointer-events: none;
}

.mx_LegacyCallViewButtons {
    --LegacyCallViewButtons_dropdownButton-size: 16px;

    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    bottom: 32px;
    opacity: 1;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
    z-index: 200; /* To be above _all_ feeds */
    gap: 18px;
}

    .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button {
        cursor: pointer;

        background-color: var(--cpd-color-bg-canvas-default);

        border-radius: 100%;
        height: 40px;
        width: 40px;

        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;

        position: relative;

        -webkit-box-shadow: 0px 4px 4px 0px #00000026;

                box-shadow: 0px 4px 4px 0px #00000026; /* Same on both themes */

        /* State buttons */
        /* State buttons */

        /* Stateless buttons */
        /* Stateless buttons */

        /* Invisible state */
        /* Invisible state */
    }

        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button svg {
            display: inline-block;

            color: var(--cpd-color-text-secondary);

            height: 24px;
            width: 24px;
        }

        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_dropdownButton {
            width: var(--LegacyCallViewButtons_dropdownButton-size);
            height: var(--LegacyCallViewButtons_dropdownButton-size);

            position: absolute;
            right: 0;
            bottom: 0;
        }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_dropdownButton svg {
                width: 16px;
                height: 16px;
            }

        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_mic svg {
            height: 20px;
            width: 20px;
        }
        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on {
            background-color: var(--cpd-color-bg-canvas-default);
        }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on svg {
                color: var(--cpd-color-text-secondary);
            }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on.mx_LegacyCallViewButtons_button_screensharing {
                background-color: #2e80de;
                background-color: var(--cpd-color-text-action-accent);
            }

                .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_on.mx_LegacyCallViewButtons_button_screensharing svg {
                    color: white; /* Same on both themes */
                }

        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off {
            background-color: var(--cpd-color-text-secondary);
        }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off svg {
                color: var(--cpd-color-bg-canvas-default);
            }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_screensharing,
            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_sidebar {
                background-color: var(--cpd-color-bg-canvas-default);
            }

                .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_screensharing svg, .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_off.mx_LegacyCallViewButtons_button_sidebar svg {
                    color: var(--cpd-color-text-secondary);
                }
        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_hangup {
            background-color: #e0454b;
            background-color: var(--cpd-color-text-critical-primary);
        }

            .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_hangup svg {
                color: white; /* Same on both themes */
            }
        .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_button_invisible {
            visibility: hidden;
            pointer-events: none;
            position: absolute;
        }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CallDuration {
    color: var(--cpd-color-text-secondary);
    font-size: 0.75rem;
    white-space: nowrap;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2022 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_CallView {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    min-height: 0;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    background-color: var(--cpd-color-bg-subtle-primary);
}

    .mx_CallView .mx_AppTile {
        width: auto;
        height: 100%;
        border: none;
        border-radius: inherit;
        background-color: #15191e;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialPad {
    display: grid;
    grid-row-gap: 16px;
    row-gap: 16px;
    grid-column-gap: 0px;
    -webkit-column-gap: 0px;
       -moz-column-gap: 0px;
            column-gap: 0px;
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;

    /* squeeze the dial pad buttons together horizontally */
    grid-template-columns: repeat(3, 1fr);
}

.mx_DialPad_button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    width: 40px;
    height: 40px;
    background-color: var(--cpd-color-gray-400);
    border-radius: 40px;
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
    text-align: center;
    vertical-align: middle;
    margin-left: auto;
    margin-right: auto;
}

.mx_DialPad_button .mx_DialPad_buttonSubText {
    font-size: 8px;
}

.mx_DialPad_dialButton {
    /* Always show the dial button in the center grid column */
    grid-column: 2;
    background-color: #2e80de;
    background-color: var(--cpd-color-text-action-accent);
}

    .mx_DialPad_dialButton svg {
        display: inline-block;
        height: 20px;
        width: 20px;
        padding: 10px;
        color: #fff; /* on all themes */
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_DialPadContextMenu_dialPad .mx_DialPad {
    row-gap: 16px;
    -webkit-column-gap: 32px;
       -moz-column-gap: 32px;
            column-gap: 32px;
}

.mx_DialPadContextMenuWrapper {
    padding: 15px;
}

.mx_DialPadContextMenu_header {
    border: none;
    margin-top: 32px;
    margin-left: 20px;
    margin-right: 20px;

    /* a separator between the input line and the dial buttons */
    border-bottom: 1px solid var(--cpd-color-gray-600);
    -webkit-transition: border-bottom 0.25s;
    transition: border-bottom 0.25s;
}

.mx_DialPadContextMenu_cancel {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}
    .mx_DialPadContextMenu_cancel:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
    .mx_DialPadContextMenu_cancel svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
    .mx_DialPadContextMenu_cancel{
    float: right;
}

.mx_DialPadContextMenu_header:focus-within {
    border-bottom: 1px solid #2e80de;
    border-bottom: 1px solid var(--cpd-color-text-action-accent);
}

.mx_DialPadContextMenu_title {
    color: #61708b;
    font-size: 12px;
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_DialPadContextMenu_dialled {
    height: 1.5em;
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
    border: none;
    margin: 0px;
}
.mx_DialPadContextMenu_dialled input {
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
    overflow: hidden;
    max-width: 185px;
    text-align: left;
    padding: 8px 0px;
    background-color: rgb(0, 0, 0, 0);
}

.mx_DialPadContextMenu_dialPad {
    margin: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_Dialog_dialPadWrapper .mx_Dialog {
    padding: 0px;
}

.mx_DialPadModal {
    width: 292px;
    height: 370px;
    padding: 16px 0px 0px 0px;
}

.mx_DialPadModal_header {
    margin-top: 32px;
    margin-left: 40px;
    margin-right: 40px;

    /* a separator between the input line and the dial buttons */
    border-bottom: 1px solid var(--cpd-color-gray-600);
    -webkit-transition: border-bottom 0.25s;
    transition: border-bottom 0.25s;
}

.mx_DialPadModal_header:focus-within {
    border-bottom: 1px solid #2e80de;
    border-bottom: 1px solid var(--cpd-color-text-action-accent);
}

.mx_DialPadModal_title {
    color: #61708b;
    font-size: 12px;
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_DialPadModal_cancel {
    width: 20px;
    height: 20px;
    padding: var(--cpd-space-1x);
    border-radius: 14px;
    background-color: var(--cpd-color-bg-subtle-secondary);
}
    .mx_DialPadModal_cancel:hover {
        background-color: var(--cpd-color-bg-subtle-primary);
    }
    .mx_DialPadModal_cancel svg {
        width: inherit;
        height: inherit;
        vertical-align: top;
        color: var(--cpd-color-icon-secondary);
    }
    .mx_DialPadModal_cancel{
    float: right;
    margin-right: 16px;
}

.mx_DialPadModal_field {
    border: none;
    margin: 0px;
    height: 30px;
}

.mx_DialPadModal_field .mx_Field_postfix {
    /* Remove border separator between postfix and field content */
    border-left: none;
}

.mx_DialPadModal_field input {
    font-size: 18px;
    font-weight: var(--cpd-font-weight-semibold);
}

.mx_DialPadModal_dialPad {
    margin-left: 16px;
    margin-right: 16px;
    margin-top: 16px;
}
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.
Copyright 2015, 2016 OpenMarket Ltd

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallView {
    border-radius: 8px;
    background-color: var(--cpd-color-bg-subtle-secondary);
    padding-left: 8px;
    padding-right: 8px;
    /* XXX: PiPContainer sets pointer-events: none - should probably be set back in a better place */
    pointer-events: initial;
}

    .mx_LegacyCallView .mx_LegacyCallView_toast {
        position: absolute;
        top: 74px;

        padding: 4px 8px;

        border-radius: 4px;
        z-index: 50;

        /* Same on both themes */
        color: white;
        background-color: #17191c;
    }

    .mx_LegacyCallView .mx_LegacyCallView_content_wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;

        width: 100%;
        height: 100%;

        overflow: hidden;
    }

        .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content {
            position: relative;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;

            -webkit-box-flex: 1;

                -ms-flex: 1;

                    flex: 1;
            overflow: hidden;

            border-radius: 10px;

            padding: 10px;
            padding-right: calc(20% + 20px); /* Space for the sidebar */

            background-color: #21262c;
        }

            .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_status {
                z-index: 50;
                color: #f4f6fa;
            }

            .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_avatarsContainer {
                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;
                -webkit-box-pack: center;
                    -ms-flex-pack: center;
                        justify-content: center;
            }

                .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_avatarsContainer div {
                    margin-left: 12px;
                    margin-right: 12px;
                }

            .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_holdBackground {
                position: absolute;
                left: 0;
                right: 0;

                width: 100%;
                height: 100%;

                background-repeat: no-repeat;
                background-size: cover;
                background-position: center;
                -webkit-filter: blur(20px);
                        filter: blur(20px);
            }

                .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content .mx_LegacyCallView_holdBackground::after {
                    content: "";
                    display: block;
                    position: absolute;
                    width: 100%;
                    height: 100%;
                    left: 0;
                    right: 0;
                    background-color: rgb(0, 0, 0, 0.6);
                }

            .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content.mx_LegacyCallView_content_hold .mx_LegacyCallView_status {
                font-weight: bold;
                text-align: center;
            }

                .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content.mx_LegacyCallView_content_hold .mx_LegacyCallView_status::before {
                    display: block;
                    margin-left: auto;
                    margin-right: auto;
                    content: "";
                    width: 40px;
                    height: 40px;
                    background-image: url(../../img/voip/paused.9ca5412.svg);
                    background-position: center;
                    background-size: cover;
                }

                .mx_LegacyCallView_pip .mx_LegacyCallView .mx_LegacyCallView_content_wrapper .mx_LegacyCallView_content.mx_LegacyCallView_content_hold .mx_LegacyCallView_status::before {
                    width: 30px;
                    height: 30px;
                }

    .mx_LegacyCallView:not(.mx_LegacyCallView_sidebar) .mx_LegacyCallView_content {
        padding: 0;
        width: 100%;
        height: 100%;
    }

        .mx_LegacyCallView:not(.mx_LegacyCallView_sidebar) .mx_LegacyCallView_content .mx_VideoFeed_primary {
            aspect-ratio: unset;
            border: 0;

            width: 100%;
            height: 100%;
        }

    .mx_LegacyCallView.mx_LegacyCallView_pip {
        width: 320px;
        padding-bottom: 8px;

        border-radius: 8px;

        background-color: var(--cpd-color-bg-subtle-primary);
        -webkit-box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.2);
                box-shadow: 0px 4px 20px rgb(0, 0, 0, 0.2);
    }

        .mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons {
            bottom: 13px;
        }

            .mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button {
                width: 34px;
                height: 34px;
            }

                .mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button.mx_LegacyCallViewButtons_dropdownButton {
                    width: var(--LegacyCallViewButtons_dropdownButton-size);
                    height: var(--LegacyCallViewButtons_dropdownButton-size);
                }

                .mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallViewButtons .mx_LegacyCallViewButtons_button::before {
                    width: 22px;
                    height: 22px;
                }

        .mx_LegacyCallView.mx_LegacyCallView_pip .mx_LegacyCallView_content {
            min-height: 180px;
        }

    .mx_LegacyCallView.mx_LegacyCallView_large {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;

        -webkit-box-flex: 1;

            -ms-flex: 1;

                flex: 1;

        padding-bottom: 10px;

        margin: 8px;

        margin: var(--container-gap-width);
        /* The left side gap is fully handled by this margin. To prohibit bleeding on webkit browser. */
        margin-right: calc(8px / 2);
        margin-right: calc(var(--container-gap-width) / 2);
        margin-bottom: 10px;
    }

    .mx_LegacyCallView.mx_LegacyCallView_belowWidget {
        margin-top: 0;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallViewForRoom {
    overflow: hidden;
}

    .mx_LegacyCallViewForRoom .mx_LegacyCallViewForRoom_ResizeWrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

        .mx_LegacyCallViewForRoom .mx_LegacyCallViewForRoom_ResizeWrapper:hover .mx_LegacyCallViewForRoom_ResizeHandle {
            /* Need to use important to override element style attributes */
            /* set by re-resizable */
            width: 100% !important;

            display: -webkit-box;

            display: -ms-flexbox;

            display: flex;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
        }

            .mx_LegacyCallViewForRoom .mx_LegacyCallViewForRoom_ResizeWrapper:hover .mx_LegacyCallViewForRoom_ResizeHandle::after {
                content: "";
                border-radius: 4px;

                height: 4px;
                width: 100%;
                max-width: 64px;

                background-color: #ffffff;

                background-color: var(--cpd-color-text-primary);
            }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallViewHeader {
    height: 44px;
    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;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 100%;
}

    .mx_LegacyCallViewHeader.mx_LegacyCallViewHeader_pip {
        cursor: -webkit-grab;
        cursor: grab;
    }

.mx_LegacyCallViewHeader_text {
    font-size: 1.2rem;
    font-weight: bold;
    vertical-align: middle;
}
    .mx_LegacyCallViewHeader_secondaryCallInfo::before {
        content: "·";
        margin-left: 6px;
        margin-right: 6px;
    }

.mx_LegacyCallViewHeader_controls {
    margin-left: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
}

.mx_LegacyCallViewHeader_button {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

    .mx_LegacyCallViewHeader_button svg {
        display: inline-block;
        height: 20px;
        width: 20px;
        vertical-align: middle;
        color: var(--cpd-color-text-secondary);
    }

.mx_LegacyCallViewHeader_callInfo {
    margin-left: 12px;
    margin-right: 16px;
    overflow: hidden;
}

.mx_LegacyCallViewHeader_roomName {
    font-weight: bold;
    font-size: 12px;
    line-height: normal;
    line-height: initial;
    height: 15px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mx_LegacyCallView_secondaryCall_roomName {
    margin-left: 4px;
}

.mx_LegacyCallViewHeader_icon {
    display: inline-block;
    margin-right: 6px;
    height: 16px;
    width: 16px;
    vertical-align: middle;
}

    .mx_LegacyCallViewHeader_icon svg {
        display: inline-block;
        vertical-align: top;

        height: 16px;
        width: 16px;
        color: var(--cpd-color-text-secondary);
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_LegacyCallViewSidebar {
    position: absolute;
    right: 10px;

    width: 20%;
    height: 100%;
    overflow: auto;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 12px;
}

    .mx_LegacyCallViewSidebar > .mx_VideoFeed {
        width: 100%;
        border-radius: 4px;
    }

        .mx_LegacyCallViewSidebar > .mx_VideoFeed.mx_VideoFeed_voice {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;

            background-color: #394049;
        }

    .mx_LegacyCallViewSidebar.mx_LegacyCallViewSidebar_pipMode {
        top: 16px;
        bottom: auto;
        bottom: initial;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        gap: 4px;
    }
}
@layer app-web{

/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 Šimon Brandner <simon.bra.ag@gmail.com>
Copyright 2015, 2016 , 2020, 2021 The Matrix.org Foundation C.I.C.

SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

.mx_VideoFeed {
    overflow: hidden;
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: transparent 2px solid;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 4px;
}

    .mx_VideoFeed.mx_VideoFeed_secondary {
        position: absolute;
        right: 24px;
        bottom: 72px;
        width: 20%;
    }

    .mx_VideoFeed.mx_VideoFeed_voice {
        background-color: #2e80de;
        background-color: var(--cpd-color-bg-action-primary-rest);

        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;
    }

        .mx_VideoFeed.mx_VideoFeed_voice:not(.mx_VideoFeed_primary) {
            aspect-ratio: 16 / 9;
        }

    .mx_VideoFeed .mx_VideoFeed_video {
        height: 100%;
        width: 100%;
        border-radius: 4px;
        background-color: #000000;
    }

        .mx_VideoFeed .mx_VideoFeed_video.mx_VideoFeed_video_mirror {
            -webkit-transform: scale(-1, 1);
                    transform: scale(-1, 1);
        }

    .mx_VideoFeed .mx_VideoFeed_mic {
        position: absolute;
        left: 6px;
        bottom: 6px;
        z-index: 1;

        width: 24px;
        height: 24px;

        background-color: rgb(0, 0, 0, 0.5); /* Same on both themes */
        border-radius: 100%;
    }

        .mx_VideoFeed .mx_VideoFeed_mic svg {
            width: 16px;
            height: 16px;
            padding: 4px;
            color: white; /* Same on both themes */
        }
}
/* Shared cascade order: Compound tokens, Compound Web, shared components, then app overrides. */
/* Modules bundled with compound apply compound lastly. In order to catch issue due to css class ordering, we put compound at the end */
@layer compound-tokens{
/* Establish a layer order that allows semantic tokens to be customized, but not base tokens.
 * The layers are prefixed by 'cpd-' because Tailwind will interpret '@layer base' directives.
 */
}
@layer compound-tokens{
/* Fallback for Inter regular */
@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue'), local('HelveticaNeue');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 91.2883%;
  descent-override: 22.7301%;
  line-gap-override: 0%;
  size-adjust: 106.1198%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI'), local('SegoeUI');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 89.9412%;
  descent-override: 22.3946%;
  size-adjust: 107.7093%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Regular'), local('Roboto-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.2384%;
  descent-override: 22.4686%;
  size-adjust: 107.3546%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Regular'), local('Ubuntu-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 92.3027%;
  descent-override: 22.9826%;
  line-gap-override: 0%;
  size-adjust: 104.9536%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Regular'), local('FiraSans-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 92.9112%;
  descent-override: 23.1342%;
  size-adjust: 104.2662%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Regular'), local('NotoSans-Regular');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 96.1571%;
  descent-override: 23.9423%;
  size-adjust: 100.7466%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial'), local('ArialMT');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.4365%;
  descent-override: 22.518%;
  line-gap-override: 0%;
  size-adjust: 107.1194%;
}

@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Italic'), local('HelveticaNeue-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.3285%;
  descent-override: 22.4911%;
  line-gap-override: 0%;
  size-adjust: 107.2475%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Italic'), local('SegoeUI-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 87.4238%;
  descent-override: 21.7678%;
  size-adjust: 110.8108%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Italic'), local('Roboto-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 87.2269%;
  descent-override: 21.7188%;
  size-adjust: 111.0609%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Italic'), local('Ubuntu-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 88.7154%;
  descent-override: 22.0894%;
  line-gap-override: 0%;
  size-adjust: 109.1974%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Italic'), local('FiraSans-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 91.3366%;
  descent-override: 22.7421%;
  size-adjust: 106.0637%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Italic'), local('NotoSans-Italic');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 90.1268%;
  descent-override: 22.4409%;
  size-adjust: 107.4874%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial Italic'), local('Arial-ItalicMT');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  ascent-override: 89.885%;
  descent-override: 22.3806%;
  line-gap-override: 0%;
  size-adjust: 107.7766%;
}


/* Fallback for Inter medium */
@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Medium'), local('HelveticaNeue-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 93.3765%;
  descent-override: 23.25%;
  line-gap-override: 0%;
  size-adjust: 103.7466%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Semibold'), local('SegoeUI-Semibold');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 91.8744%;
  descent-override: 22.876%;
  size-adjust: 105.4429%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Medium'), local('Roboto-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.1094%;
  descent-override: 22.4365%;
  size-adjust: 107.5082%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Medium'), local('Ubuntu-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 93.5773%;
  descent-override: 23.3%;
  line-gap-override: 0%;
  size-adjust: 103.524%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Medium'), local('FiraSans-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 92.1717%;
  descent-override: 22.95%;
  size-adjust: 105.1028%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Medium'), local('NotoSans-Medium');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  ascent-override: 96.7903%;
  descent-override: 24.1%;
  size-adjust: 100.0875%;
}

@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Medium Italic'), local('HelveticaNeue-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 92.8129%;
  descent-override: 23.1097%;
  line-gap-override: 0%;
  size-adjust: 104.3767%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Semibold Italic'), local('SegoeUI-SemiboldItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.3452%;
  descent-override: 22.4952%;
  line-gap-override: 0%;
  size-adjust: 107.2276%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Medium Italic'), local('Roboto-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 87.0316%;
  descent-override: 21.6702%;
  size-adjust: 111.3102%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Medium Italic'), local('Ubuntu-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.6173%;
  descent-override: 22.563%;
  line-gap-override: 0%;
  size-adjust: 106.9056%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans Medium Italic'), local('FiraSans-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 90.2181%;
  descent-override: 22.4636%;
  size-adjust: 107.3787%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans Medium Italic'), local('NotoSans-MediumItalic');
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  ascent-override: 91.0165%;
  descent-override: 22.6624%;
  size-adjust: 106.4367%;
}


/* Fallback for Inter semibold */
@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Bold'), local('HelveticaNeue-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 95.4228%;
  descent-override: 23.7595%;
  line-gap-override: 0%;
  size-adjust: 101.5218%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Bold'), local('SegoeUI-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 94.4483%;
  descent-override: 23.5169%;
  size-adjust: 102.5694%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Bold'), local('Roboto-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 89.886%;
  descent-override: 22.3809%;
  size-adjust: 107.7754%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Bold'), local('Ubuntu-Bold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 95.4228%;
  descent-override: 23.7595%;
  line-gap-override: 0%;
  size-adjust: 101.5218%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans SemiBold'), local('FiraSans-SemiBold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 91.2481%;
  descent-override: 22.72%;
  size-adjust: 106.1666%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans SemiBold'), local('NotoSans-SemiBold');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 97.8084%;
  descent-override: 24.3535%;
  size-adjust: 99.0457%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial Bold'), local('Arial-BoldMT');
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  ascent-override: 95.419%;
  descent-override: 23.7586%;
  line-gap-override: 0%;
  size-adjust: 101.5259%;
}

@font-face {
  font-family: "Inter Fallback: Helvetica Neue";
  src: local('Helvetica Neue Bold Italic'), local('HelveticaNeue-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 94.9556%;
  descent-override: 23.6432%;
  line-gap-override: 0%;
  size-adjust: 102.0213%;
}
@font-face {
  font-family: "Inter Fallback: Segoe UI";
  src: local('Segoe UI Bold Italic'), local('SegoeUI-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 93.4049%;
  descent-override: 23.2571%;
  size-adjust: 103.7152%;
}
@font-face {
  font-family: "Inter Fallback: Roboto";
  src: local('Roboto Bold Italic'), local('Roboto-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 86.7537%;
  descent-override: 21.601%;
  size-adjust: 111.6667%;
}
@font-face {
  font-family: "Inter Fallback: Ubuntu";
  src: local('Ubuntu Bold Italic'), local('Ubuntu-BoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 92.3893%;
  descent-override: 23.0042%;
  line-gap-override: 0%;
  size-adjust: 104.8553%;
}
@font-face {
  font-family: "Inter Fallback: Fira Sans";
  src: local('Fira Sans SemiBold Italic'), local('FiraSans-SemiBoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 89.2306%;
  descent-override: 22.2177%;
  size-adjust: 108.567%;
}
@font-face {
  font-family: "Inter Fallback: Noto Sans";
  src: local('Noto Sans SemiBold Italic'), local('NotoSans-SemiBoldItalic');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 91.9944%;
  descent-override: 22.9059%;
  size-adjust: 105.3053%;
}
@font-face {
  font-family: "Inter Fallback: Arial";
  src: local('Arial Bold Italic'), local('Arial-BoldItalicMT');
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  ascent-override: 94.7544%;
  descent-override: 23.5931%;
  line-gap-override: 0%;
  size-adjust: 102.238%;
}
}
@layer compound-tokens{
@media screen{
@layer cpd-base{
:root, [class*="cpd-theme-"] {
  --cpd-space-scale: 4px;
  --cpd-space-0x: 0;
  --cpd-space-6x: 24px;
  --cpd-space-10x: 40px;
  --cpd-space-11x: 44px;
  --cpd-space-12x: 48px;
  --cpd-space-16x: 64px;
  --cpd-space-36x: 144px;
  --cpd-space-56x: 224px;
  --cpd-border-width-1: 1px;
  --cpd-border-width-2: 2px;
  --cpd-border-width-4: 4px;
  --cpd-border-width-0-5: 0.5px;
  --cpd-font-family-sans: Inter, "Inter Fallback: Helvetica Neue", "Inter Fallback: Segoe UI", "Inter Fallback: Roboto", "Inter Fallback: Ubuntu", "Inter Fallback: Fira Sans", "Inter Fallback: Noto Sans", "Inter Fallback: Arial", "Helvetica Neue", "Segoe UI", Roboto, Ubuntu, "Fira Sans", "Noto Sans", Arial, sans-serif;
  --cpd-font-family-mono: Inconsolata, ui-monospace, monospace;
  --cpd-font-weight-regular: 400;
  --cpd-font-weight-medium: 500;
  --cpd-font-weight-semibold: 600;
  --cpd-font-line-height-minimum: 1;
  --cpd-font-line-height-tight: 1.25;
  --cpd-font-line-height-regular: 1.5;
  --cpd-font-size-body-xs: 0.6875rem;
  --cpd-font-size-body-sm: 0.8125rem;
  --cpd-font-size-body-md: 0.9375rem;
  --cpd-font-size-body-lg: 1.0625rem;
  --cpd-font-size-heading-sm: 1.25rem;
  --cpd-font-size-heading-md: 1.5rem;
  --cpd-font-size-heading-lg: 1.75rem;
  --cpd-font-size-heading-xl: 2rem;
  --cpd-font-size-root: 1rem;
  --cpd-font-letter-spacing-body-xs: 0.0048em;
  --cpd-font-letter-spacing-body-sm: -0.0031em;
  --cpd-font-letter-spacing-body-md: -0.0088em;
  --cpd-font-letter-spacing-body-lg: -0.0128em;
  --cpd-font-letter-spacing-heading-sm: -0.0166em;
  --cpd-font-letter-spacing-heading-md: -0.0195em;
  --cpd-font-letter-spacing-heading-lg: -0.0209em;
  --cpd-font-letter-spacing-heading-xl: -0.0216em;
  --cpd-space-0-5x: 2px;
  --cpd-space-1x: var(--cpd-space-scale);
  --cpd-space-1-5x: 6px;
  --cpd-space-2x: 8px;
  --cpd-space-3x: 12px;
  --cpd-space-4x: 16px;
  --cpd-space-5x: 20px;
  --cpd-space-7x: 28px;
  --cpd-space-8x: 32px;
  --cpd-space-9x: 36px;
  --cpd-space-13x: 52px;
  --cpd-space-14x: 56px;
  --cpd-space-15x: 60px;
  --cpd-space-20x: 80px;
  --cpd-space-24x: 96px;
  --cpd-space-28x: 112px;
  --cpd-space-32x: 128px;
  --cpd-space-40x: 160px;
  --cpd-space-48x: 192px;
  --cpd-space-64x: 256px;
  --cpd-font-body-xs-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-xs)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-xs-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-xs)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-xs-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-xs)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-sm-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-sm)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-sm-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-sm)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-sm-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-sm)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-md-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-md)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-md-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-md)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-md-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-md)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-lg-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-body-lg)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-lg-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-body-lg)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-body-lg-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-body-lg)/var(--cpd-font-line-height-regular) var(--cpd-font-family-sans);
  --cpd-font-heading-sm-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-sm)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-sm-medium: var(--cpd-font-weight-medium) var(--cpd-font-size-heading-sm)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-sm-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-sm)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-md-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-md)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-md-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-md)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-lg-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-lg)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-lg-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-lg)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-xl-regular: var(--cpd-font-weight-regular) var(--cpd-font-size-heading-xl)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
  --cpd-font-heading-xl-semibold: var(--cpd-font-weight-semibold) var(--cpd-font-size-heading-xl)/var(--cpd-font-line-height-tight) var(--cpd-font-family-sans);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-semantic{
:root, [class*="cpd-theme-"] {
  --cpd-color-text-primary: var(--cpd-color-gray-1400);
  --cpd-color-text-secondary: var(--cpd-color-gray-900);
  --cpd-color-text-disabled: var(--cpd-color-gray-800);
  --cpd-color-text-action-primary: var(--cpd-color-gray-1400);
  --cpd-color-text-action-accent: var(--cpd-color-green-900);
  --cpd-color-text-link-external: var(--cpd-color-blue-1100);
  --cpd-color-text-critical-primary: var(--cpd-color-red-900);
  --cpd-color-text-success-primary: var(--cpd-color-green-900);
  --cpd-color-text-info-primary: var(--cpd-color-blue-1100);
  --cpd-color-text-on-solid-primary: var(--cpd-color-theme-bg);
  --cpd-color-text-decorative-1: var(--cpd-color-lime-1100);
  --cpd-color-text-decorative-2: var(--cpd-color-cyan-1100);
  --cpd-color-text-decorative-3: var(--cpd-color-fuchsia-1100);
  --cpd-color-text-decorative-4: var(--cpd-color-purple-1100);
  --cpd-color-text-decorative-5: var(--cpd-color-pink-1100);
  --cpd-color-text-decorative-6: var(--cpd-color-orange-1100);
  --cpd-color-text-badge-accent: var(--cpd-color-green-1100);
  --cpd-color-text-badge-info: var(--cpd-color-blue-1100);
  --cpd-color-bg-subtle-primary: var(--cpd-color-gray-400);
  --cpd-color-bg-subtle-secondary: var(--cpd-color-gray-300);
  --cpd-color-bg-canvas-default: var(--cpd-color-theme-bg);
  --cpd-color-bg-canvas-disabled: var(--cpd-color-gray-200);
  --cpd-color-bg-action-primary-rest: var(--cpd-color-gray-1400);
  --cpd-color-bg-action-primary-hovered: var(--cpd-color-gray-1200);
  --cpd-color-bg-action-primary-pressed: var(--cpd-color-gray-1100);
  --cpd-color-bg-action-primary-disabled: var(--cpd-color-gray-700);
  --cpd-color-bg-action-secondary-rest: var(--cpd-color-theme-bg);
  --cpd-color-bg-action-secondary-hovered: var(--cpd-color-alpha-gray-200);
  --cpd-color-bg-action-secondary-pressed: var(--cpd-color-alpha-gray-300);
  --cpd-color-bg-action-tertiary-rest: var(--cpd-color-theme-bg);
  --cpd-color-bg-action-tertiary-hovered: var(--cpd-color-gray-300);
  --cpd-color-bg-action-tertiary-selected: var(--cpd-color-gray-400);
  --cpd-color-bg-critical-primary: var(--cpd-color-red-900);
  --cpd-color-bg-critical-hovered: var(--cpd-color-red-1000);
  --cpd-color-bg-critical-subtle: var(--cpd-color-red-200);
  --cpd-color-bg-critical-subtle-hovered: var(--cpd-color-red-300);
  --cpd-color-bg-success-subtle: var(--cpd-color-green-200);
  --cpd-color-bg-info-subtle: var(--cpd-color-blue-200);
  --cpd-color-bg-decorative-1: var(--cpd-color-lime-300);
  --cpd-color-bg-decorative-2: var(--cpd-color-cyan-300);
  --cpd-color-bg-decorative-3: var(--cpd-color-fuchsia-300);
  --cpd-color-bg-decorative-4: var(--cpd-color-purple-300);
  --cpd-color-bg-decorative-5: var(--cpd-color-pink-300);
  --cpd-color-bg-decorative-6: var(--cpd-color-orange-300);
  --cpd-color-bg-accent-rest: var(--cpd-color-green-900);
  --cpd-color-bg-accent-hovered: var(--cpd-color-green-1000);
  --cpd-color-bg-accent-pressed: var(--cpd-color-green-1100);
  --cpd-color-bg-accent-selected: var(--cpd-color-alpha-green-300);
  --cpd-color-bg-badge-accent: var(--cpd-color-green-400);
  --cpd-color-bg-badge-info: var(--cpd-color-blue-400);
  --cpd-color-bg-badge-default: var(--cpd-color-theme-bg);
  --cpd-color-bg-badge-primary: var(--cpd-color-gray-1400);
  --cpd-color-bg-badge-secondary: var(--cpd-color-gray-400);
  --cpd-color-bg-badge-critical: var(--cpd-color-red-300);
  --cpd-color-border-disabled: var(--cpd-color-gray-500);
  --cpd-color-border-focused: var(--cpd-color-blue-900);
  --cpd-color-border-interactive-primary: var(--cpd-color-gray-800);
  --cpd-color-border-interactive-secondary: var(--cpd-color-gray-600);
  --cpd-color-border-interactive-hovered: var(--cpd-color-gray-1100);
  --cpd-color-border-critical-primary: var(--cpd-color-red-900);
  --cpd-color-border-critical-hovered: var(--cpd-color-red-1000);
  --cpd-color-border-critical-subtle: var(--cpd-color-red-500);
  --cpd-color-border-success-subtle: var(--cpd-color-green-500);
  --cpd-color-border-info-subtle: var(--cpd-color-blue-700);
  --cpd-color-border-accent-subtle: var(--cpd-color-green-700);
  --cpd-color-border-accent-primary: var(--cpd-color-green-900);
  --cpd-color-icon-primary: var(--cpd-color-gray-1400);
  --cpd-color-icon-secondary: var(--cpd-color-gray-900);
  --cpd-color-icon-tertiary: var(--cpd-color-gray-800);
  --cpd-color-icon-quaternary: var(--cpd-color-gray-700);
  --cpd-color-icon-disabled: var(--cpd-color-gray-700);
  --cpd-color-icon-primary-alpha: var(--cpd-color-alpha-gray-1400);
  --cpd-color-icon-secondary-alpha: var(--cpd-color-alpha-gray-900);
  --cpd-color-icon-tertiary-alpha: var(--cpd-color-alpha-gray-800);
  --cpd-color-icon-quaternary-alpha: var(--cpd-color-alpha-gray-700);
  --cpd-color-icon-accent-tertiary: var(--cpd-color-green-800);
  --cpd-color-icon-accent-primary: var(--cpd-color-green-900);
  --cpd-color-icon-critical-primary: var(--cpd-color-red-900);
  --cpd-color-icon-success-primary: var(--cpd-color-green-900);
  --cpd-color-icon-info-primary: var(--cpd-color-blue-1100);
  --cpd-color-icon-on-solid-primary: var(--cpd-color-theme-bg);
  --cpd-color-gradient-subtle-stop1: var(--cpd-color-alpha-green-500);
  --cpd-color-gradient-subtle-stop2: var(--cpd-color-alpha-green-400);
  --cpd-color-gradient-subtle-stop3: var(--cpd-color-alpha-green-300);
  --cpd-color-gradient-subtle-stop4: var(--cpd-color-alpha-green-200);
  --cpd-color-gradient-subtle-stop5: var(--cpd-color-alpha-green-100);
  --cpd-color-gradient-subtle-stop6: var(--cpd-color-transparent);
  --cpd-color-gradient-info-stop1: var(--cpd-color-blue-200);
  --cpd-color-gradient-info-stop2: var(--cpd-color-theme-bg);
  --cpd-color-gradient-critical-stop1: var(--cpd-color-red-200);
  --cpd-color-gradient-critical-stop2: var(--cpd-color-theme-bg);
  --cpd-color-separator-primary: var(--cpd-color-gray-400);
  --cpd-color-separator-secondary: var(--cpd-color-gray-300);
  --cpd-color-gradient-subtle-linear: linear-gradient(180deg, var(--cpd-color-gradient-subtle-stop1) 0%, var(--cpd-color-gradient-subtle-stop2) 20%, var(--cpd-color-gradient-subtle-stop3) 40%, var(--cpd-color-gradient-subtle-stop4) 60%, var(--cpd-color-gradient-subtle-stop5) 80%, var(--cpd-color-gradient-subtle-stop6) 100%);
  --cpd-color-gradient-info-linear: linear-gradient(180deg, var(--cpd-color-gradient-info-stop1) 0%, var(--cpd-color-gradient-info-stop2) 100%);
  --cpd-color-gradient-critical-linear: linear-gradient(180deg, var(--cpd-color-gradient-critical-stop1) 0%, var(--cpd-color-gradient-critical-stop2) 100%);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-base{
.cpd-theme-light.cpd-theme-light {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #fbfcfd;
  --cpd-color-gray-200: #f7f9fa;
  --cpd-color-gray-300: #f0f2f5;
  --cpd-color-gray-400: #e1e6ec;
  --cpd-color-gray-500: #cdd3da;
  --cpd-color-gray-600: #bdc4cc;
  --cpd-color-gray-700: #a6adb7;
  --cpd-color-gray-800: #818a95;
  --cpd-color-gray-900: #656d77;
  --cpd-color-gray-1000: #595e67;
  --cpd-color-gray-1100: #4c5158;
  --cpd-color-gray-1200: #3c4045;
  --cpd-color-gray-1300: #2b2d32;
  --cpd-color-gray-1400: #1b1d22;
  --cpd-color-red-100: #fffaf9;
  --cpd-color-red-200: #fff7f6;
  --cpd-color-red-300: #ffefec;
  --cpd-color-red-400: #ffdfda;
  --cpd-color-red-500: #ffc5bc;
  --cpd-color-red-600: #ffafa5;
  --cpd-color-red-700: #ff8c81;
  --cpd-color-red-800: #ff3d3d;
  --cpd-color-red-900: #d51928;
  --cpd-color-red-1000: #bc0f22;
  --cpd-color-red-1100: #a4041d;
  --cpd-color-red-1200: #850006;
  --cpd-color-red-1300: #620000;
  --cpd-color-red-1400: #450000;
  --cpd-color-orange-100: #fffaf7;
  --cpd-color-orange-200: #fff6ef;
  --cpd-color-orange-300: #ffefe4;
  --cpd-color-orange-400: #ffdfc8;
  --cpd-color-orange-500: #ffc8a1;
  --cpd-color-orange-600: #fdb37c;
  --cpd-color-orange-700: #f89440;
  --cpd-color-orange-800: #dc6700;
  --cpd-color-orange-900: #bc4500;
  --cpd-color-orange-1000: #ac3300;
  --cpd-color-orange-1100: #9b2200;
  --cpd-color-orange-1200: #850000;
  --cpd-color-orange-1300: #620000;
  --cpd-color-orange-1400: #450000;
  --cpd-color-yellow-100: #fffcf0;
  --cpd-color-yellow-200: #fff8e0;
  --cpd-color-yellow-300: #fff2c1;
  --cpd-color-yellow-400: #ffe484;
  --cpd-color-yellow-500: #fbce00;
  --cpd-color-yellow-600: #f1bd00;
  --cpd-color-yellow-700: #dea200;
  --cpd-color-yellow-800: #be7a00;
  --cpd-color-yellow-900: #9f5b00;
  --cpd-color-yellow-1000: #8f4d00;
  --cpd-color-yellow-1100: #803f00;
  --cpd-color-yellow-1200: #692e00;
  --cpd-color-yellow-1300: #541a00;
  --cpd-color-yellow-1400: #410600;
  --cpd-color-lime-100: #f8fdf6;
  --cpd-color-lime-200: #f1fcee;
  --cpd-color-lime-300: #e0f8d9;
  --cpd-color-lime-400: #c8f1ba;
  --cpd-color-lime-500: #99e57e;
  --cpd-color-lime-600: #76db4c;
  --cpd-color-lime-700: #54c424;
  --cpd-color-lime-800: #359d18;
  --cpd-color-lime-900: #197d0c;
  --cpd-color-lime-1000: #006e00;
  --cpd-color-lime-1100: #005f00;
  --cpd-color-lime-1200: #004b00;
  --cpd-color-lime-1300: #003600;
  --cpd-color-lime-1400: #002400;
  --cpd-color-green-100: #f8fdfb;
  --cpd-color-green-200: #f1fbf6;
  --cpd-color-green-300: #e3f7ed;
  --cpd-color-green-400: #c6eedb;
  --cpd-color-green-500: #98e1c1;
  --cpd-color-green-600: #71d7ae;
  --cpd-color-green-700: #0bc491;
  --cpd-color-green-800: #009b78;
  --cpd-color-green-900: #007a61;
  --cpd-color-green-1000: #006b52;
  --cpd-color-green-1100: #005c45;
  --cpd-color-green-1200: #004933;
  --cpd-color-green-1300: #003420;
  --cpd-color-green-1400: #002311;
  --cpd-color-cyan-100: #f8fdfd;
  --cpd-color-cyan-200: #f1fafb;
  --cpd-color-cyan-300: #e3f5f8;
  --cpd-color-cyan-400: #c7ecf0;
  --cpd-color-cyan-500: #9bdde5;
  --cpd-color-cyan-600: #76d1dd;
  --cpd-color-cyan-700: #15becf;
  --cpd-color-cyan-800: #0094c0;
  --cpd-color-cyan-900: #0072ac;
  --cpd-color-cyan-1000: #00629c;
  --cpd-color-cyan-1100: #00548c;
  --cpd-color-cyan-1200: #004077;
  --cpd-color-cyan-1300: #002b61;
  --cpd-color-cyan-1400: #00194f;
  --cpd-color-blue-100: #f9fcff;
  --cpd-color-blue-200: #f4f8ff;
  --cpd-color-blue-300: #e9f2ff;
  --cpd-color-blue-400: #d8e7fe;
  --cpd-color-blue-500: #bad5fc;
  --cpd-color-blue-600: #a3c6fa;
  --cpd-color-blue-700: #7eaff6;
  --cpd-color-blue-800: #4088ee;
  --cpd-color-blue-900: #0467dd;
  --cpd-color-blue-1000: #0558c7;
  --cpd-color-blue-1100: #064ab1;
  --cpd-color-blue-1200: #043894;
  --cpd-color-blue-1300: #012478;
  --cpd-color-blue-1400: #000e65;
  --cpd-color-purple-100: #fbfbff;
  --cpd-color-purple-200: #f8f7ff;
  --cpd-color-purple-300: #f1efff;
  --cpd-color-purple-400: #e6e2ff;
  --cpd-color-purple-500: #d4cdff;
  --cpd-color-purple-600: #c5bbff;
  --cpd-color-purple-700: #b1a0ff;
  --cpd-color-purple-800: #9271fd;
  --cpd-color-purple-900: #7a47f1;
  --cpd-color-purple-1000: #6b37de;
  --cpd-color-purple-1100: #5d26cd;
  --cpd-color-purple-1200: #4c05b5;
  --cpd-color-purple-1300: #33008d;
  --cpd-color-purple-1400: #200066;
  --cpd-color-fuchsia-100: #fefafe;
  --cpd-color-fuchsia-200: #fcf5fd;
  --cpd-color-fuchsia-300: #faeefb;
  --cpd-color-fuchsia-400: #f6dff7;
  --cpd-color-fuchsia-500: #edc6f0;
  --cpd-color-fuchsia-600: #e7b2ea;
  --cpd-color-fuchsia-700: #db93e1;
  --cpd-color-fuchsia-800: #c85ed1;
  --cpd-color-fuchsia-900: #ad33bd;
  --cpd-color-fuchsia-1000: #972aaa;
  --cpd-color-fuchsia-1100: #822198;
  --cpd-color-fuchsia-1200: #671481;
  --cpd-color-fuchsia-1300: #4e0068;
  --cpd-color-fuchsia-1400: #34004c;
  --cpd-color-pink-100: #fffafb;
  --cpd-color-pink-200: #fff5f7;
  --cpd-color-pink-300: #ffecf0;
  --cpd-color-pink-400: #ffdee5;
  --cpd-color-pink-500: #ffc2cf;
  --cpd-color-pink-600: #ffadc0;
  --cpd-color-pink-700: #ff88a6;
  --cpd-color-pink-800: #f7407d;
  --cpd-color-pink-900: #d20c65;
  --cpd-color-pink-1000: #b80a5b;
  --cpd-color-pink-1100: #9f0850;
  --cpd-color-pink-1200: #7e0642;
  --cpd-color-pink-1300: #5f002b;
  --cpd-color-pink-1400: #430017;
  --cpd-color-alpha-gray-100: hsla(210, 48%, 41%, 0.02);
  --cpd-color-alpha-gray-200: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-300: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-400: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-500: hsla(212, 87%, 15%, 0.2);
  --cpd-color-alpha-gray-600: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-700: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-800: hsla(213, 87%, 9%, 0.5);
  --cpd-color-alpha-gray-900: hsla(213, 83%, 7%, 0.61);
  --cpd-color-alpha-gray-1000: hsla(218, 79%, 6%, 0.66);
  --cpd-color-alpha-gray-1100: hsla(215, 74%, 5%, 0.71);
  --cpd-color-alpha-gray-1200: hsla(213, 73%, 3%, 0.77);
  --cpd-color-alpha-gray-1300: hsla(225, 57%, 3%, 0.84);
  --cpd-color-alpha-gray-1400: hsla(223, 64%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(10, 100%, 61%, 0.03);
  --cpd-color-alpha-red-200: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-300: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-400: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-500: hsla(8, 100%, 51%, 0.27);
  --cpd-color-alpha-red-600: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-700: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-800: hsla(0, 100%, 51%, 0.77);
  --cpd-color-alpha-red-900: hsla(355, 98%, 41%, 0.91);
  --cpd-color-alpha-red-1000: hsla(353, 98%, 37%, 0.95);
  --cpd-color-alpha-red-1100: hsla(350, 99%, 32%, 0.99);
  --cpd-color-alpha-red-1200: hsl(357, 100%, 26%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-100: hsla(22, 100%, 61%, 0.04);
  --cpd-color-alpha-orange-200: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-300: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-500: hsla(25, 100%, 50%, 0.37);
  --cpd-color-alpha-orange-600: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-700: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-800: hsl(28, 100%, 43%, 1);
  --cpd-color-alpha-orange-900: hsl(22, 100%, 37%, 1);
  --cpd-color-alpha-orange-1000: hsl(18, 100%, 34%, 1);
  --cpd-color-alpha-orange-1100: hsl(13, 100%, 30%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 26%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-yellow-100: hsla(48, 100%, 51%, 0.06);
  --cpd-color-alpha-yellow-200: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-400: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-500: hsl(49, 100%, 49%, 1);
  --cpd-color-alpha-yellow-600: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-700: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-800: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-900: hsl(34, 100%, 31%, 1);
  --cpd-color-alpha-yellow-1000: hsl(32, 100%, 28%, 1);
  --cpd-color-alpha-yellow-1100: hsl(30, 100%, 25%, 1);
  --cpd-color-alpha-yellow-1200: hsl(26, 100%, 21%, 1);
  --cpd-color-alpha-yellow-1300: hsl(19, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1400: hsl(6, 100%, 13%, 1);
  --cpd-color-alpha-lime-100: hsla(103, 75%, 46%, 0.04);
  --cpd-color-alpha-lime-200: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-300: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-400: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-500: hsla(104, 98%, 40%, 0.51);
  --cpd-color-alpha-lime-600: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-700: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-800: hsla(107, 99%, 29%, 0.91);
  --cpd-color-alpha-lime-900: hsla(113, 97%, 24%, 0.96);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 22%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 19%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(156, 79%, 41%, 0.03);
  --cpd-color-alpha-green-200: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-300: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-400: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-500: hsla(154, 96%, 37%, 0.41);
  --cpd-color-alpha-green-600: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-700: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-800: hsl(166, 100%, 30%, 1);
  --cpd-color-alpha-green-900: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-1000: hsl(166, 100%, 21%, 1);
  --cpd-color-alpha-green-1100: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-1200: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-1300: hsl(157, 100%, 10%, 1);
  --cpd-color-alpha-green-1400: hsl(149, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(180, 79%, 41%, 0.03);
  --cpd-color-alpha-cyan-200: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-300: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-400: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-500: hsla(186, 95%, 38%, 0.4);
  --cpd-color-alpha-cyan-600: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-700: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-800: hsl(194, 100%, 38%, 1);
  --cpd-color-alpha-cyan-900: hsl(200, 100%, 34%, 1);
  --cpd-color-alpha-cyan-1000: hsl(202, 100%, 31%, 1);
  --cpd-color-alpha-cyan-1100: hsl(204, 100%, 28%, 1);
  --cpd-color-alpha-cyan-1200: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-1300: hsl(213, 100%, 19%, 1);
  --cpd-color-alpha-cyan-1400: hsl(221, 100%, 16%, 1);
  --cpd-color-alpha-blue-100: hsla(210, 100%, 61%, 0.03);
  --cpd-color-alpha-blue-200: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-300: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-400: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-500: hsla(215, 93%, 50%, 0.28);
  --cpd-color-alpha-blue-600: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-800: hsla(215, 100%, 46%, 0.75);
  --cpd-color-alpha-blue-900: hsla(213, 99%, 44%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(214, 98%, 39%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(216, 99%, 35%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(218, 99%, 29%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(222, 98%, 24%, 1);
  --cpd-color-alpha-blue-1400: hsl(232, 100%, 20%, 1);
  --cpd-color-alpha-purple-100: hsla(240, 100%, 61%, 0.02);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-500: hsla(248, 100%, 51%, 0.2);
  --cpd-color-alpha-purple-600: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-700: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-800: hsla(254, 99%, 49%, 0.56);
  --cpd-color-alpha-purple-900: hsla(258, 98%, 47%, 0.73);
  --cpd-color-alpha-purple-1000: hsla(259, 98%, 42%, 0.79);
  --cpd-color-alpha-purple-1100: hsla(260, 97%, 39%, 0.86);
  --cpd-color-alpha-purple-1200: hsla(264, 98%, 36%, 0.99);
  --cpd-color-alpha-purple-1300: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(300, 95%, 41%, 0.02);
  --cpd-color-alpha-fuchsia-200: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-300: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-400: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-500: hsla(296, 93%, 39%, 0.23);
  --cpd-color-alpha-fuchsia-600: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-700: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-800: hsla(295, 97%, 37%, 0.64);
  --cpd-color-alpha-fuchsia-900: hsla(293, 100%, 34%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(291, 99%, 30%, 0.84);
  --cpd-color-alpha-fuchsia-1100: hsla(289, 96%, 28%, 0.88);
  --cpd-color-alpha-fuchsia-1200: hsla(286, 97%, 24%, 0.93);
  --cpd-color-alpha-fuchsia-1300: hsl(285, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.02);
  --cpd-color-alpha-pink-200: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-500: hsla(347, 100%, 50%, 0.24);
  --cpd-color-alpha-pink-600: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-700: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-800: hsla(340, 100%, 48%, 0.75);
  --cpd-color-alpha-pink-900: hsla(333, 98%, 41%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(332, 98%, 36%, 0.97);
  --cpd-color-alpha-pink-1100: hsla(331, 100%, 31%, 0.97);
  --cpd-color-alpha-pink-1200: hsla(330, 98%, 24%, 0.98);
  --cpd-color-alpha-pink-1300: hsl(333, 100%, 19%, 1);
  --cpd-color-alpha-pink-1400: hsl(339, 100%, 13%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: light){
@layer cpd-base{
:root {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #fbfcfd;
  --cpd-color-gray-200: #f7f9fa;
  --cpd-color-gray-300: #f0f2f5;
  --cpd-color-gray-400: #e1e6ec;
  --cpd-color-gray-500: #cdd3da;
  --cpd-color-gray-600: #bdc4cc;
  --cpd-color-gray-700: #a6adb7;
  --cpd-color-gray-800: #818a95;
  --cpd-color-gray-900: #656d77;
  --cpd-color-gray-1000: #595e67;
  --cpd-color-gray-1100: #4c5158;
  --cpd-color-gray-1200: #3c4045;
  --cpd-color-gray-1300: #2b2d32;
  --cpd-color-gray-1400: #1b1d22;
  --cpd-color-red-100: #fffaf9;
  --cpd-color-red-200: #fff7f6;
  --cpd-color-red-300: #ffefec;
  --cpd-color-red-400: #ffdfda;
  --cpd-color-red-500: #ffc5bc;
  --cpd-color-red-600: #ffafa5;
  --cpd-color-red-700: #ff8c81;
  --cpd-color-red-800: #ff3d3d;
  --cpd-color-red-900: #d51928;
  --cpd-color-red-1000: #bc0f22;
  --cpd-color-red-1100: #a4041d;
  --cpd-color-red-1200: #850006;
  --cpd-color-red-1300: #620000;
  --cpd-color-red-1400: #450000;
  --cpd-color-orange-100: #fffaf7;
  --cpd-color-orange-200: #fff6ef;
  --cpd-color-orange-300: #ffefe4;
  --cpd-color-orange-400: #ffdfc8;
  --cpd-color-orange-500: #ffc8a1;
  --cpd-color-orange-600: #fdb37c;
  --cpd-color-orange-700: #f89440;
  --cpd-color-orange-800: #dc6700;
  --cpd-color-orange-900: #bc4500;
  --cpd-color-orange-1000: #ac3300;
  --cpd-color-orange-1100: #9b2200;
  --cpd-color-orange-1200: #850000;
  --cpd-color-orange-1300: #620000;
  --cpd-color-orange-1400: #450000;
  --cpd-color-yellow-100: #fffcf0;
  --cpd-color-yellow-200: #fff8e0;
  --cpd-color-yellow-300: #fff2c1;
  --cpd-color-yellow-400: #ffe484;
  --cpd-color-yellow-500: #fbce00;
  --cpd-color-yellow-600: #f1bd00;
  --cpd-color-yellow-700: #dea200;
  --cpd-color-yellow-800: #be7a00;
  --cpd-color-yellow-900: #9f5b00;
  --cpd-color-yellow-1000: #8f4d00;
  --cpd-color-yellow-1100: #803f00;
  --cpd-color-yellow-1200: #692e00;
  --cpd-color-yellow-1300: #541a00;
  --cpd-color-yellow-1400: #410600;
  --cpd-color-lime-100: #f8fdf6;
  --cpd-color-lime-200: #f1fcee;
  --cpd-color-lime-300: #e0f8d9;
  --cpd-color-lime-400: #c8f1ba;
  --cpd-color-lime-500: #99e57e;
  --cpd-color-lime-600: #76db4c;
  --cpd-color-lime-700: #54c424;
  --cpd-color-lime-800: #359d18;
  --cpd-color-lime-900: #197d0c;
  --cpd-color-lime-1000: #006e00;
  --cpd-color-lime-1100: #005f00;
  --cpd-color-lime-1200: #004b00;
  --cpd-color-lime-1300: #003600;
  --cpd-color-lime-1400: #002400;
  --cpd-color-green-100: #f8fdfb;
  --cpd-color-green-200: #f1fbf6;
  --cpd-color-green-300: #e3f7ed;
  --cpd-color-green-400: #c6eedb;
  --cpd-color-green-500: #98e1c1;
  --cpd-color-green-600: #71d7ae;
  --cpd-color-green-700: #0bc491;
  --cpd-color-green-800: #009b78;
  --cpd-color-green-900: #007a61;
  --cpd-color-green-1000: #006b52;
  --cpd-color-green-1100: #005c45;
  --cpd-color-green-1200: #004933;
  --cpd-color-green-1300: #003420;
  --cpd-color-green-1400: #002311;
  --cpd-color-cyan-100: #f8fdfd;
  --cpd-color-cyan-200: #f1fafb;
  --cpd-color-cyan-300: #e3f5f8;
  --cpd-color-cyan-400: #c7ecf0;
  --cpd-color-cyan-500: #9bdde5;
  --cpd-color-cyan-600: #76d1dd;
  --cpd-color-cyan-700: #15becf;
  --cpd-color-cyan-800: #0094c0;
  --cpd-color-cyan-900: #0072ac;
  --cpd-color-cyan-1000: #00629c;
  --cpd-color-cyan-1100: #00548c;
  --cpd-color-cyan-1200: #004077;
  --cpd-color-cyan-1300: #002b61;
  --cpd-color-cyan-1400: #00194f;
  --cpd-color-blue-100: #f9fcff;
  --cpd-color-blue-200: #f4f8ff;
  --cpd-color-blue-300: #e9f2ff;
  --cpd-color-blue-400: #d8e7fe;
  --cpd-color-blue-500: #bad5fc;
  --cpd-color-blue-600: #a3c6fa;
  --cpd-color-blue-700: #7eaff6;
  --cpd-color-blue-800: #4088ee;
  --cpd-color-blue-900: #0467dd;
  --cpd-color-blue-1000: #0558c7;
  --cpd-color-blue-1100: #064ab1;
  --cpd-color-blue-1200: #043894;
  --cpd-color-blue-1300: #012478;
  --cpd-color-blue-1400: #000e65;
  --cpd-color-purple-100: #fbfbff;
  --cpd-color-purple-200: #f8f7ff;
  --cpd-color-purple-300: #f1efff;
  --cpd-color-purple-400: #e6e2ff;
  --cpd-color-purple-500: #d4cdff;
  --cpd-color-purple-600: #c5bbff;
  --cpd-color-purple-700: #b1a0ff;
  --cpd-color-purple-800: #9271fd;
  --cpd-color-purple-900: #7a47f1;
  --cpd-color-purple-1000: #6b37de;
  --cpd-color-purple-1100: #5d26cd;
  --cpd-color-purple-1200: #4c05b5;
  --cpd-color-purple-1300: #33008d;
  --cpd-color-purple-1400: #200066;
  --cpd-color-fuchsia-100: #fefafe;
  --cpd-color-fuchsia-200: #fcf5fd;
  --cpd-color-fuchsia-300: #faeefb;
  --cpd-color-fuchsia-400: #f6dff7;
  --cpd-color-fuchsia-500: #edc6f0;
  --cpd-color-fuchsia-600: #e7b2ea;
  --cpd-color-fuchsia-700: #db93e1;
  --cpd-color-fuchsia-800: #c85ed1;
  --cpd-color-fuchsia-900: #ad33bd;
  --cpd-color-fuchsia-1000: #972aaa;
  --cpd-color-fuchsia-1100: #822198;
  --cpd-color-fuchsia-1200: #671481;
  --cpd-color-fuchsia-1300: #4e0068;
  --cpd-color-fuchsia-1400: #34004c;
  --cpd-color-pink-100: #fffafb;
  --cpd-color-pink-200: #fff5f7;
  --cpd-color-pink-300: #ffecf0;
  --cpd-color-pink-400: #ffdee5;
  --cpd-color-pink-500: #ffc2cf;
  --cpd-color-pink-600: #ffadc0;
  --cpd-color-pink-700: #ff88a6;
  --cpd-color-pink-800: #f7407d;
  --cpd-color-pink-900: #d20c65;
  --cpd-color-pink-1000: #b80a5b;
  --cpd-color-pink-1100: #9f0850;
  --cpd-color-pink-1200: #7e0642;
  --cpd-color-pink-1300: #5f002b;
  --cpd-color-pink-1400: #430017;
  --cpd-color-alpha-gray-100: hsla(210, 48%, 41%, 0.02);
  --cpd-color-alpha-gray-200: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-300: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-400: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-500: hsla(212, 87%, 15%, 0.2);
  --cpd-color-alpha-gray-600: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-700: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-800: hsla(213, 87%, 9%, 0.5);
  --cpd-color-alpha-gray-900: hsla(213, 83%, 7%, 0.61);
  --cpd-color-alpha-gray-1000: hsla(218, 79%, 6%, 0.66);
  --cpd-color-alpha-gray-1100: hsla(215, 74%, 5%, 0.71);
  --cpd-color-alpha-gray-1200: hsla(213, 73%, 3%, 0.77);
  --cpd-color-alpha-gray-1300: hsla(225, 57%, 3%, 0.84);
  --cpd-color-alpha-gray-1400: hsla(223, 64%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(10, 100%, 61%, 0.03);
  --cpd-color-alpha-red-200: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-300: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-400: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-500: hsla(8, 100%, 51%, 0.27);
  --cpd-color-alpha-red-600: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-700: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-800: hsla(0, 100%, 51%, 0.77);
  --cpd-color-alpha-red-900: hsla(355, 98%, 41%, 0.91);
  --cpd-color-alpha-red-1000: hsla(353, 98%, 37%, 0.95);
  --cpd-color-alpha-red-1100: hsla(350, 99%, 32%, 0.99);
  --cpd-color-alpha-red-1200: hsl(357, 100%, 26%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-100: hsla(22, 100%, 61%, 0.04);
  --cpd-color-alpha-orange-200: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-300: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-500: hsla(25, 100%, 50%, 0.37);
  --cpd-color-alpha-orange-600: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-700: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-800: hsl(28, 100%, 43%, 1);
  --cpd-color-alpha-orange-900: hsl(22, 100%, 37%, 1);
  --cpd-color-alpha-orange-1000: hsl(18, 100%, 34%, 1);
  --cpd-color-alpha-orange-1100: hsl(13, 100%, 30%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 26%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 19%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-yellow-100: hsla(48, 100%, 51%, 0.06);
  --cpd-color-alpha-yellow-200: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-400: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-500: hsl(49, 100%, 49%, 1);
  --cpd-color-alpha-yellow-600: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-700: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-800: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-900: hsl(34, 100%, 31%, 1);
  --cpd-color-alpha-yellow-1000: hsl(32, 100%, 28%, 1);
  --cpd-color-alpha-yellow-1100: hsl(30, 100%, 25%, 1);
  --cpd-color-alpha-yellow-1200: hsl(26, 100%, 21%, 1);
  --cpd-color-alpha-yellow-1300: hsl(19, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1400: hsl(6, 100%, 13%, 1);
  --cpd-color-alpha-lime-100: hsla(103, 75%, 46%, 0.04);
  --cpd-color-alpha-lime-200: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-300: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-400: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-500: hsla(104, 98%, 40%, 0.51);
  --cpd-color-alpha-lime-600: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-700: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-800: hsla(107, 99%, 29%, 0.91);
  --cpd-color-alpha-lime-900: hsla(113, 97%, 24%, 0.96);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 22%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 19%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(156, 79%, 41%, 0.03);
  --cpd-color-alpha-green-200: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-300: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-400: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-500: hsla(154, 96%, 37%, 0.41);
  --cpd-color-alpha-green-600: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-700: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-800: hsl(166, 100%, 30%, 1);
  --cpd-color-alpha-green-900: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-1000: hsl(166, 100%, 21%, 1);
  --cpd-color-alpha-green-1100: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-1200: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-1300: hsl(157, 100%, 10%, 1);
  --cpd-color-alpha-green-1400: hsl(149, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(180, 79%, 41%, 0.03);
  --cpd-color-alpha-cyan-200: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-300: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-400: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-500: hsla(186, 95%, 38%, 0.4);
  --cpd-color-alpha-cyan-600: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-700: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-800: hsl(194, 100%, 38%, 1);
  --cpd-color-alpha-cyan-900: hsl(200, 100%, 34%, 1);
  --cpd-color-alpha-cyan-1000: hsl(202, 100%, 31%, 1);
  --cpd-color-alpha-cyan-1100: hsl(204, 100%, 28%, 1);
  --cpd-color-alpha-cyan-1200: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-1300: hsl(213, 100%, 19%, 1);
  --cpd-color-alpha-cyan-1400: hsl(221, 100%, 16%, 1);
  --cpd-color-alpha-blue-100: hsla(210, 100%, 61%, 0.03);
  --cpd-color-alpha-blue-200: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-300: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-400: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-500: hsla(215, 93%, 50%, 0.28);
  --cpd-color-alpha-blue-600: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-800: hsla(215, 100%, 46%, 0.75);
  --cpd-color-alpha-blue-900: hsla(213, 99%, 44%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(214, 98%, 39%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(216, 99%, 35%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(218, 99%, 29%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(222, 98%, 24%, 1);
  --cpd-color-alpha-blue-1400: hsl(232, 100%, 20%, 1);
  --cpd-color-alpha-purple-100: hsla(240, 100%, 61%, 0.02);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-500: hsla(248, 100%, 51%, 0.2);
  --cpd-color-alpha-purple-600: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-700: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-800: hsla(254, 99%, 49%, 0.56);
  --cpd-color-alpha-purple-900: hsla(258, 98%, 47%, 0.73);
  --cpd-color-alpha-purple-1000: hsla(259, 98%, 42%, 0.79);
  --cpd-color-alpha-purple-1100: hsla(260, 97%, 39%, 0.86);
  --cpd-color-alpha-purple-1200: hsla(264, 98%, 36%, 0.99);
  --cpd-color-alpha-purple-1300: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(300, 95%, 41%, 0.02);
  --cpd-color-alpha-fuchsia-200: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-300: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-400: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-500: hsla(296, 93%, 39%, 0.23);
  --cpd-color-alpha-fuchsia-600: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-700: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-800: hsla(295, 97%, 37%, 0.64);
  --cpd-color-alpha-fuchsia-900: hsla(293, 100%, 34%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(291, 99%, 30%, 0.84);
  --cpd-color-alpha-fuchsia-1100: hsla(289, 96%, 28%, 0.88);
  --cpd-color-alpha-fuchsia-1200: hsla(286, 97%, 24%, 0.93);
  --cpd-color-alpha-fuchsia-1300: hsl(285, 100%, 20%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.02);
  --cpd-color-alpha-pink-200: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-500: hsla(347, 100%, 50%, 0.24);
  --cpd-color-alpha-pink-600: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-700: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-800: hsla(340, 100%, 48%, 0.75);
  --cpd-color-alpha-pink-900: hsla(333, 98%, 41%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(332, 98%, 36%, 0.97);
  --cpd-color-alpha-pink-1100: hsla(331, 100%, 31%, 0.97);
  --cpd-color-alpha-pink-1200: hsla(330, 98%, 24%, 0.98);
  --cpd-color-alpha-pink-1300: hsl(333, 100%, 19%, 1);
  --cpd-color-alpha-pink-1400: hsl(339, 100%, 13%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-semantic{
.cpd-theme-light.cpd-theme-light {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-500);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: light){
@layer cpd-semantic{
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-500);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-base{
.cpd-theme-light-hc.cpd-theme-light-hc {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #f7f9fa;
  --cpd-color-gray-200: #f0f2f5;
  --cpd-color-gray-300: #e1e6ec;
  --cpd-color-gray-400: #d7dce3;
  --cpd-color-gray-500: #bdc4cc;
  --cpd-color-gray-600: #a6adb7;
  --cpd-color-gray-700: #878f9b;
  --cpd-color-gray-800: #6c737e;
  --cpd-color-gray-900: #474a51;
  --cpd-color-gray-1000: #3f4248;
  --cpd-color-gray-1100: #35383d;
  --cpd-color-gray-1200: #2d3034;
  --cpd-color-gray-1300: #1f2126;
  --cpd-color-gray-1400: #1a1c21;
  --cpd-color-red-100: #fff7f6;
  --cpd-color-red-200: #ffefec;
  --cpd-color-red-300: #ffdfda;
  --cpd-color-red-400: #ffd1ca;
  --cpd-color-red-500: #ffafa5;
  --cpd-color-red-600: #ff8c81;
  --cpd-color-red-700: #ff4e49;
  --cpd-color-red-800: #e11e2a;
  --cpd-color-red-900: #99001a;
  --cpd-color-red-1000: #8b000c;
  --cpd-color-red-1100: #770000;
  --cpd-color-red-1200: #670000;
  --cpd-color-red-1300: #4c0000;
  --cpd-color-red-1400: #420000;
  --cpd-color-orange-100: #fff6ef;
  --cpd-color-orange-200: #ffefe4;
  --cpd-color-orange-300: #ffdfc8;
  --cpd-color-orange-400: #ffd4b5;
  --cpd-color-orange-500: #fdb37c;
  --cpd-color-orange-600: #f89440;
  --cpd-color-orange-700: #e26e00;
  --cpd-color-orange-800: #c44d00;
  --cpd-color-orange-900: #931700;
  --cpd-color-orange-1000: #890800;
  --cpd-color-orange-1100: #770000;
  --cpd-color-orange-1200: #670000;
  --cpd-color-orange-1300: #4c0000;
  --cpd-color-orange-1400: #420000;
  --cpd-color-yellow-100: #fff8e0;
  --cpd-color-yellow-200: #fff2c1;
  --cpd-color-yellow-300: #ffe484;
  --cpd-color-yellow-400: #ffda49;
  --cpd-color-yellow-500: #f1bd00;
  --cpd-color-yellow-600: #dea200;
  --cpd-color-yellow-700: #c38100;
  --cpd-color-yellow-800: #a76300;
  --cpd-color-yellow-900: #773800;
  --cpd-color-yellow-1000: #6e3100;
  --cpd-color-yellow-1100: #612600;
  --cpd-color-yellow-1200: #571d00;
  --cpd-color-yellow-1300: #450c00;
  --cpd-color-yellow-1400: #3f0500;
  --cpd-color-lime-100: #f1fcee;
  --cpd-color-lime-200: #e0f8d9;
  --cpd-color-lime-300: #c8f1ba;
  --cpd-color-lime-400: #afeb9b;
  --cpd-color-lime-500: #76db4c;
  --cpd-color-lime-600: #54c424;
  --cpd-color-lime-700: #3aa31a;
  --cpd-color-lime-800: #1f850f;
  --cpd-color-lime-900: #005700;
  --cpd-color-lime-1000: #004f00;
  --cpd-color-lime-1100: #004200;
  --cpd-color-lime-1200: #003900;
  --cpd-color-lime-1300: #002900;
  --cpd-color-lime-1400: #002200;
  --cpd-color-green-100: #f1fbf6;
  --cpd-color-green-200: #e3f7ed;
  --cpd-color-green-300: #c6eedb;
  --cpd-color-green-400: #afe8ce;
  --cpd-color-green-500: #71d7ae;
  --cpd-color-green-600: #0bc491;
  --cpd-color-green-700: #00a27c;
  --cpd-color-green-800: #008268;
  --cpd-color-green-900: #00553d;
  --cpd-color-green-1000: #004d36;
  --cpd-color-green-1100: #00402b;
  --cpd-color-green-1200: #003723;
  --cpd-color-green-1300: #002715;
  --cpd-color-green-1400: #00210f;
  --cpd-color-cyan-100: #f1fafb;
  --cpd-color-cyan-200: #e3f5f8;
  --cpd-color-cyan-300: #c7ecf0;
  --cpd-color-cyan-400: #b1e4eb;
  --cpd-color-cyan-500: #76d1dd;
  --cpd-color-cyan-600: #15becf;
  --cpd-color-cyan-700: #009ac3;
  --cpd-color-cyan-800: #007ab3;
  --cpd-color-cyan-900: #004c84;
  --cpd-color-cyan-1000: #00447b;
  --cpd-color-cyan-1100: #00376e;
  --cpd-color-cyan-1200: #002e64;
  --cpd-color-cyan-1300: #001e53;
  --cpd-color-cyan-1400: #00174d;
  --cpd-color-blue-100: #f4f8ff;
  --cpd-color-blue-200: #e9f2ff;
  --cpd-color-blue-300: #d8e7fe;
  --cpd-color-blue-400: #c8ddfd;
  --cpd-color-blue-500: #a3c6fa;
  --cpd-color-blue-600: #7eaff6;
  --cpd-color-blue-700: #4a8ef0;
  --cpd-color-blue-800: #046ee8;
  --cpd-color-blue-900: #0543a7;
  --cpd-color-blue-1000: #053b9a;
  --cpd-color-blue-1100: #043088;
  --cpd-color-blue-1200: #03277b;
  --cpd-color-blue-1300: #001569;
  --cpd-color-blue-1400: #000c63;
  --cpd-color-purple-100: #f8f7ff;
  --cpd-color-purple-200: #f1efff;
  --cpd-color-purple-300: #e6e2ff;
  --cpd-color-purple-400: #ddd8ff;
  --cpd-color-purple-500: #c5bbff;
  --cpd-color-purple-600: #b1a0ff;
  --cpd-color-purple-700: #9778fe;
  --cpd-color-purple-800: #824ef9;
  --cpd-color-purple-900: #571cc4;
  --cpd-color-purple-1000: #4f0dba;
  --cpd-color-purple-1100: #4200a6;
  --cpd-color-purple-1200: #360094;
  --cpd-color-purple-1300: #240070;
  --cpd-color-purple-1400: #1f0062;
  --cpd-color-fuchsia-100: #fcf5fd;
  --cpd-color-fuchsia-200: #faeefb;
  --cpd-color-fuchsia-300: #f6dff7;
  --cpd-color-fuchsia-400: #f1d2f3;
  --cpd-color-fuchsia-500: #e7b2ea;
  --cpd-color-fuchsia-600: #db93e1;
  --cpd-color-fuchsia-700: #cb68d4;
  --cpd-color-fuchsia-800: #b937c6;
  --cpd-color-fuchsia-900: #781c90;
  --cpd-color-fuchsia-1000: #6c1785;
  --cpd-color-fuchsia-1100: #5c0f76;
  --cpd-color-fuchsia-1200: #52026c;
  --cpd-color-fuchsia-1300: #3b0053;
  --cpd-color-fuchsia-1400: #32004a;
  --cpd-color-pink-100: #fff5f7;
  --cpd-color-pink-200: #ffecf0;
  --cpd-color-pink-300: #ffdee5;
  --cpd-color-pink-400: #ffd0da;
  --cpd-color-pink-500: #ffadc0;
  --cpd-color-pink-600: #ff88a6;
  --cpd-color-pink-700: #f94e84;
  --cpd-color-pink-800: #e00c6a;
  --cpd-color-pink-900: #92084b;
  --cpd-color-pink-1000: #840745;
  --cpd-color-pink-1100: #72003a;
  --cpd-color-pink-1200: #64002f;
  --cpd-color-pink-1300: #4a001c;
  --cpd-color-pink-1400: #410015;
  --cpd-color-alpha-gray-100: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-200: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-300: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-400: hsla(215, 88%, 17%, 0.16);
  --cpd-color-alpha-gray-500: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-600: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-700: hsla(216, 81%, 10%, 0.48);
  --cpd-color-alpha-gray-800: hsla(217, 89%, 7%, 0.58);
  --cpd-color-alpha-gray-900: hsla(223, 70%, 4%, 0.73);
  --cpd-color-alpha-gray-1000: hsla(220, 75%, 3%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(222, 63%, 3%, 0.8);
  --cpd-color-alpha-gray-1200: hsla(210, 67%, 2%, 0.83);
  --cpd-color-alpha-gray-1300: hsla(218, 100%, 2%, 0.88);
  --cpd-color-alpha-gray-1400: hsla(223, 78%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-200: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-300: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-400: hsla(8, 100%, 51%, 0.21);
  --cpd-color-alpha-red-500: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-600: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-700: hsla(2, 100%, 50%, 0.72);
  --cpd-color-alpha-red-800: hsla(356, 98%, 44%, 0.89);
  --cpd-color-alpha-red-900: hsl(350, 100%, 30%, 1);
  --cpd-color-alpha-red-1000: hsl(355, 100%, 27%, 1);
  --cpd-color-alpha-red-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-red-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-orange-100: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-200: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-300: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 52%, 0.3);
  --cpd-color-alpha-orange-500: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-600: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-700: hsl(29, 100%, 44%, 1);
  --cpd-color-alpha-orange-800: hsl(24, 100%, 38%, 1);
  --cpd-color-alpha-orange-900: hsl(9, 100%, 29%, 1);
  --cpd-color-alpha-orange-1000: hsl(4, 100%, 27%, 1);
  --cpd-color-alpha-orange-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-yellow-100: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-200: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-400: hsla(48, 100%, 50%, 0.72);
  --cpd-color-alpha-yellow-500: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-600: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-700: hsl(40, 100%, 38%, 1);
  --cpd-color-alpha-yellow-800: hsl(36, 100%, 33%, 1);
  --cpd-color-alpha-yellow-900: hsl(28, 100%, 23%, 1);
  --cpd-color-alpha-yellow-1000: hsl(27, 100%, 22%, 1);
  --cpd-color-alpha-yellow-1100: hsl(24, 100%, 19%, 1);
  --cpd-color-alpha-yellow-1200: hsl(20, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1300: hsl(10, 100%, 14%, 1);
  --cpd-color-alpha-yellow-1400: hsl(5, 100%, 12%, 1);
  --cpd-color-alpha-lime-100: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-200: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-300: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-400: hsla(105, 95%, 41%, 0.4);
  --cpd-color-alpha-lime-500: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-600: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-700: hsla(106, 99%, 30%, 0.9);
  --cpd-color-alpha-lime-800: hsla(112, 97%, 25%, 0.95);
  --cpd-color-alpha-lime-900: hsl(120, 100%, 17%, 1);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 16%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 13%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-200: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-300: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-400: hsla(153, 95%, 37%, 0.32);
  --cpd-color-alpha-green-500: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-600: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-700: hsl(166, 100%, 32%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 26%, 1);
  --cpd-color-alpha-green-900: hsl(163, 100%, 17%, 1);
  --cpd-color-alpha-green-1000: hsl(162, 100%, 15%, 1);
  --cpd-color-alpha-green-1100: hsl(160, 100%, 13%, 1);
  --cpd-color-alpha-green-1200: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-1300: hsl(152, 100%, 8%, 1);
  --cpd-color-alpha-green-1400: hsl(147, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-200: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-300: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-400: hsla(187, 97%, 38%, 0.31);
  --cpd-color-alpha-cyan-500: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-600: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-700: hsl(193, 100%, 38%, 1);
  --cpd-color-alpha-cyan-800: hsl(199, 100%, 35%, 1);
  --cpd-color-alpha-cyan-900: hsl(205, 100%, 26%, 1);
  --cpd-color-alpha-cyan-1000: hsl(207, 100%, 24%, 1);
  --cpd-color-alpha-cyan-1100: hsl(210, 100%, 22%, 1);
  --cpd-color-alpha-cyan-1200: hsl(212, 100%, 20%, 1);
  --cpd-color-alpha-cyan-1300: hsl(218, 100%, 16%, 1);
  --cpd-color-alpha-cyan-1400: hsl(222, 100%, 15%, 1);
  --cpd-color-alpha-blue-100: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-200: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-300: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-400: hsla(216, 96%, 49%, 0.22);
  --cpd-color-alpha-blue-500: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-600: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-700: hsla(215, 100%, 46%, 0.71);
  --cpd-color-alpha-blue-800: hsla(212, 99%, 46%, 0.99);
  --cpd-color-alpha-blue-900: hsla(217, 98%, 33%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(218, 97%, 30%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(220, 99%, 27%, 0.99);
  --cpd-color-alpha-blue-1200: hsla(222, 100%, 24%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(228, 100%, 21%, 1);
  --cpd-color-alpha-blue-1400: hsl(233, 100%, 19%, 1);
  --cpd-color-alpha-purple-100: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 52%, 0.16);
  --cpd-color-alpha-purple-500: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-600: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-700: hsla(254, 100%, 50%, 0.53);
  --cpd-color-alpha-purple-800: hsla(258, 98%, 49%, 0.7);
  --cpd-color-alpha-purple-900: hsla(261, 97%, 38%, 0.9);
  --cpd-color-alpha-purple-1000: hsla(263, 100%, 36%, 0.95);
  --cpd-color-alpha-purple-1100: hsl(264, 100%, 33%, 1);
  --cpd-color-alpha-purple-1200: hsl(262, 100%, 29%, 1);
  --cpd-color-alpha-purple-1300: hsl(259, 100%, 22%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 19%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-200: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-300: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-400: hsla(296, 95%, 38%, 0.18);
  --cpd-color-alpha-fuchsia-500: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-600: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-700: hsla(295, 97%, 37%, 0.6);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 36%, 0.79);
  --cpd-color-alpha-fuchsia-900: hsla(287, 96%, 27%, 0.9);
  --cpd-color-alpha-fuchsia-1000: hsla(286, 100%, 24%, 0.91);
  --cpd-color-alpha-fuchsia-1100: hsla(285, 97%, 22%, 0.95);
  --cpd-color-alpha-fuchsia-1200: hsl(285, 96%, 22%, 1);
  --cpd-color-alpha-fuchsia-1300: hsl(283, 100%, 16%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-200: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 52%, 0.19);
  --cpd-color-alpha-pink-500: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-600: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-700: hsla(341, 98%, 49%, 0.7);
  --cpd-color-alpha-pink-800: hsla(333, 98%, 44%, 0.96);
  --cpd-color-alpha-pink-900: hsla(331, 100%, 28%, 0.97);
  --cpd-color-alpha-pink-1000: hsla(330, 97%, 26%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(329, 100%, 22%, 1);
  --cpd-color-alpha-pink-1200: hsl(332, 100%, 20%, 1);
  --cpd-color-alpha-pink-1300: hsl(337, 100%, 15%, 1);
  --cpd-color-alpha-pink-1400: hsl(341, 100%, 13%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: light) and (prefers-contrast: more){
@layer cpd-base{
:root {
  --cpd-color-theme-bg: #ffffff;
  --cpd-color-gray-100: #f7f9fa;
  --cpd-color-gray-200: #f0f2f5;
  --cpd-color-gray-300: #e1e6ec;
  --cpd-color-gray-400: #d7dce3;
  --cpd-color-gray-500: #bdc4cc;
  --cpd-color-gray-600: #a6adb7;
  --cpd-color-gray-700: #878f9b;
  --cpd-color-gray-800: #6c737e;
  --cpd-color-gray-900: #474a51;
  --cpd-color-gray-1000: #3f4248;
  --cpd-color-gray-1100: #35383d;
  --cpd-color-gray-1200: #2d3034;
  --cpd-color-gray-1300: #1f2126;
  --cpd-color-gray-1400: #1a1c21;
  --cpd-color-red-100: #fff7f6;
  --cpd-color-red-200: #ffefec;
  --cpd-color-red-300: #ffdfda;
  --cpd-color-red-400: #ffd1ca;
  --cpd-color-red-500: #ffafa5;
  --cpd-color-red-600: #ff8c81;
  --cpd-color-red-700: #ff4e49;
  --cpd-color-red-800: #e11e2a;
  --cpd-color-red-900: #99001a;
  --cpd-color-red-1000: #8b000c;
  --cpd-color-red-1100: #770000;
  --cpd-color-red-1200: #670000;
  --cpd-color-red-1300: #4c0000;
  --cpd-color-red-1400: #420000;
  --cpd-color-orange-100: #fff6ef;
  --cpd-color-orange-200: #ffefe4;
  --cpd-color-orange-300: #ffdfc8;
  --cpd-color-orange-400: #ffd4b5;
  --cpd-color-orange-500: #fdb37c;
  --cpd-color-orange-600: #f89440;
  --cpd-color-orange-700: #e26e00;
  --cpd-color-orange-800: #c44d00;
  --cpd-color-orange-900: #931700;
  --cpd-color-orange-1000: #890800;
  --cpd-color-orange-1100: #770000;
  --cpd-color-orange-1200: #670000;
  --cpd-color-orange-1300: #4c0000;
  --cpd-color-orange-1400: #420000;
  --cpd-color-yellow-100: #fff8e0;
  --cpd-color-yellow-200: #fff2c1;
  --cpd-color-yellow-300: #ffe484;
  --cpd-color-yellow-400: #ffda49;
  --cpd-color-yellow-500: #f1bd00;
  --cpd-color-yellow-600: #dea200;
  --cpd-color-yellow-700: #c38100;
  --cpd-color-yellow-800: #a76300;
  --cpd-color-yellow-900: #773800;
  --cpd-color-yellow-1000: #6e3100;
  --cpd-color-yellow-1100: #612600;
  --cpd-color-yellow-1200: #571d00;
  --cpd-color-yellow-1300: #450c00;
  --cpd-color-yellow-1400: #3f0500;
  --cpd-color-lime-100: #f1fcee;
  --cpd-color-lime-200: #e0f8d9;
  --cpd-color-lime-300: #c8f1ba;
  --cpd-color-lime-400: #afeb9b;
  --cpd-color-lime-500: #76db4c;
  --cpd-color-lime-600: #54c424;
  --cpd-color-lime-700: #3aa31a;
  --cpd-color-lime-800: #1f850f;
  --cpd-color-lime-900: #005700;
  --cpd-color-lime-1000: #004f00;
  --cpd-color-lime-1100: #004200;
  --cpd-color-lime-1200: #003900;
  --cpd-color-lime-1300: #002900;
  --cpd-color-lime-1400: #002200;
  --cpd-color-green-100: #f1fbf6;
  --cpd-color-green-200: #e3f7ed;
  --cpd-color-green-300: #c6eedb;
  --cpd-color-green-400: #afe8ce;
  --cpd-color-green-500: #71d7ae;
  --cpd-color-green-600: #0bc491;
  --cpd-color-green-700: #00a27c;
  --cpd-color-green-800: #008268;
  --cpd-color-green-900: #00553d;
  --cpd-color-green-1000: #004d36;
  --cpd-color-green-1100: #00402b;
  --cpd-color-green-1200: #003723;
  --cpd-color-green-1300: #002715;
  --cpd-color-green-1400: #00210f;
  --cpd-color-cyan-100: #f1fafb;
  --cpd-color-cyan-200: #e3f5f8;
  --cpd-color-cyan-300: #c7ecf0;
  --cpd-color-cyan-400: #b1e4eb;
  --cpd-color-cyan-500: #76d1dd;
  --cpd-color-cyan-600: #15becf;
  --cpd-color-cyan-700: #009ac3;
  --cpd-color-cyan-800: #007ab3;
  --cpd-color-cyan-900: #004c84;
  --cpd-color-cyan-1000: #00447b;
  --cpd-color-cyan-1100: #00376e;
  --cpd-color-cyan-1200: #002e64;
  --cpd-color-cyan-1300: #001e53;
  --cpd-color-cyan-1400: #00174d;
  --cpd-color-blue-100: #f4f8ff;
  --cpd-color-blue-200: #e9f2ff;
  --cpd-color-blue-300: #d8e7fe;
  --cpd-color-blue-400: #c8ddfd;
  --cpd-color-blue-500: #a3c6fa;
  --cpd-color-blue-600: #7eaff6;
  --cpd-color-blue-700: #4a8ef0;
  --cpd-color-blue-800: #046ee8;
  --cpd-color-blue-900: #0543a7;
  --cpd-color-blue-1000: #053b9a;
  --cpd-color-blue-1100: #043088;
  --cpd-color-blue-1200: #03277b;
  --cpd-color-blue-1300: #001569;
  --cpd-color-blue-1400: #000c63;
  --cpd-color-purple-100: #f8f7ff;
  --cpd-color-purple-200: #f1efff;
  --cpd-color-purple-300: #e6e2ff;
  --cpd-color-purple-400: #ddd8ff;
  --cpd-color-purple-500: #c5bbff;
  --cpd-color-purple-600: #b1a0ff;
  --cpd-color-purple-700: #9778fe;
  --cpd-color-purple-800: #824ef9;
  --cpd-color-purple-900: #571cc4;
  --cpd-color-purple-1000: #4f0dba;
  --cpd-color-purple-1100: #4200a6;
  --cpd-color-purple-1200: #360094;
  --cpd-color-purple-1300: #240070;
  --cpd-color-purple-1400: #1f0062;
  --cpd-color-fuchsia-100: #fcf5fd;
  --cpd-color-fuchsia-200: #faeefb;
  --cpd-color-fuchsia-300: #f6dff7;
  --cpd-color-fuchsia-400: #f1d2f3;
  --cpd-color-fuchsia-500: #e7b2ea;
  --cpd-color-fuchsia-600: #db93e1;
  --cpd-color-fuchsia-700: #cb68d4;
  --cpd-color-fuchsia-800: #b937c6;
  --cpd-color-fuchsia-900: #781c90;
  --cpd-color-fuchsia-1000: #6c1785;
  --cpd-color-fuchsia-1100: #5c0f76;
  --cpd-color-fuchsia-1200: #52026c;
  --cpd-color-fuchsia-1300: #3b0053;
  --cpd-color-fuchsia-1400: #32004a;
  --cpd-color-pink-100: #fff5f7;
  --cpd-color-pink-200: #ffecf0;
  --cpd-color-pink-300: #ffdee5;
  --cpd-color-pink-400: #ffd0da;
  --cpd-color-pink-500: #ffadc0;
  --cpd-color-pink-600: #ff88a6;
  --cpd-color-pink-700: #f94e84;
  --cpd-color-pink-800: #e00c6a;
  --cpd-color-pink-900: #92084b;
  --cpd-color-pink-1000: #840745;
  --cpd-color-pink-1100: #72003a;
  --cpd-color-pink-1200: #64002f;
  --cpd-color-pink-1300: #4a001c;
  --cpd-color-pink-1400: #410015;
  --cpd-color-alpha-gray-100: hsla(200, 41%, 36%, 0.04);
  --cpd-color-alpha-gray-200: hsla(216, 89%, 18%, 0.06);
  --cpd-color-alpha-gray-300: hsla(213, 90%, 20%, 0.12);
  --cpd-color-alpha-gray-400: hsla(215, 88%, 17%, 0.16);
  --cpd-color-alpha-gray-500: hsla(212, 97%, 12%, 0.26);
  --cpd-color-alpha-gray-600: hsla(215, 96%, 10%, 0.35);
  --cpd-color-alpha-gray-700: hsla(216, 81%, 10%, 0.48);
  --cpd-color-alpha-gray-800: hsla(217, 89%, 7%, 0.58);
  --cpd-color-alpha-gray-900: hsla(223, 70%, 4%, 0.73);
  --cpd-color-alpha-gray-1000: hsla(220, 75%, 3%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(222, 63%, 3%, 0.8);
  --cpd-color-alpha-gray-1200: hsla(210, 67%, 2%, 0.83);
  --cpd-color-alpha-gray-1300: hsla(218, 100%, 2%, 0.88);
  --cpd-color-alpha-gray-1400: hsla(223, 78%, 2%, 0.9);
  --cpd-color-alpha-red-100: hsla(7, 100%, 56%, 0.04);
  --cpd-color-alpha-red-200: hsla(9, 100%, 54%, 0.08);
  --cpd-color-alpha-red-300: hsla(8, 100%, 52%, 0.15);
  --cpd-color-alpha-red-400: hsla(8, 100%, 51%, 0.21);
  --cpd-color-alpha-red-500: hsla(7, 100%, 51%, 0.36);
  --cpd-color-alpha-red-600: hsla(5, 100%, 51%, 0.5);
  --cpd-color-alpha-red-700: hsla(2, 100%, 50%, 0.72);
  --cpd-color-alpha-red-800: hsla(356, 98%, 44%, 0.89);
  --cpd-color-alpha-red-900: hsl(350, 100%, 30%, 1);
  --cpd-color-alpha-red-1000: hsl(355, 100%, 27%, 1);
  --cpd-color-alpha-red-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-red-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-red-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-orange-100: hsla(26, 100%, 55%, 0.07);
  --cpd-color-alpha-orange-200: hsla(24, 100%, 52%, 0.11);
  --cpd-color-alpha-orange-300: hsla(25, 100%, 51%, 0.22);
  --cpd-color-alpha-orange-400: hsla(25, 100%, 52%, 0.3);
  --cpd-color-alpha-orange-500: hsla(26, 98%, 50%, 0.52);
  --cpd-color-alpha-orange-600: hsla(27, 100%, 48%, 0.75);
  --cpd-color-alpha-orange-700: hsl(29, 100%, 44%, 1);
  --cpd-color-alpha-orange-800: hsl(24, 100%, 38%, 1);
  --cpd-color-alpha-orange-900: hsl(9, 100%, 29%, 1);
  --cpd-color-alpha-orange-1000: hsl(4, 100%, 27%, 1);
  --cpd-color-alpha-orange-1100: hsl(0, 100%, 23%, 1);
  --cpd-color-alpha-orange-1200: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-1300: hsl(0, 100%, 15%, 1);
  --cpd-color-alpha-orange-1400: hsl(0, 100%, 13%, 1);
  --cpd-color-alpha-yellow-100: hsla(46, 100%, 53%, 0.13);
  --cpd-color-alpha-yellow-200: hsla(47, 100%, 51%, 0.25);
  --cpd-color-alpha-yellow-300: hsla(47, 100%, 51%, 0.49);
  --cpd-color-alpha-yellow-400: hsla(48, 100%, 50%, 0.72);
  --cpd-color-alpha-yellow-500: hsl(47, 100%, 47%, 1);
  --cpd-color-alpha-yellow-600: hsl(44, 100%, 44%, 1);
  --cpd-color-alpha-yellow-700: hsl(40, 100%, 38%, 1);
  --cpd-color-alpha-yellow-800: hsl(36, 100%, 33%, 1);
  --cpd-color-alpha-yellow-900: hsl(28, 100%, 23%, 1);
  --cpd-color-alpha-yellow-1000: hsl(27, 100%, 22%, 1);
  --cpd-color-alpha-yellow-1100: hsl(24, 100%, 19%, 1);
  --cpd-color-alpha-yellow-1200: hsl(20, 100%, 17%, 1);
  --cpd-color-alpha-yellow-1300: hsl(10, 100%, 14%, 1);
  --cpd-color-alpha-yellow-1400: hsl(5, 100%, 12%, 1);
  --cpd-color-alpha-lime-100: hsla(107, 89%, 44%, 0.07);
  --cpd-color-alpha-lime-200: hsla(107, 98%, 41%, 0.15);
  --cpd-color-alpha-lime-300: hsla(105, 92%, 42%, 0.28);
  --cpd-color-alpha-lime-400: hsla(105, 95%, 41%, 0.4);
  --cpd-color-alpha-lime-500: hsla(102, 97%, 41%, 0.71);
  --cpd-color-alpha-lime-600: hsla(102, 100%, 37%, 0.86);
  --cpd-color-alpha-lime-700: hsla(106, 99%, 30%, 0.9);
  --cpd-color-alpha-lime-800: hsla(112, 97%, 25%, 0.95);
  --cpd-color-alpha-lime-900: hsl(120, 100%, 17%, 1);
  --cpd-color-alpha-lime-1000: hsl(120, 100%, 16%, 1);
  --cpd-color-alpha-lime-1100: hsl(120, 100%, 13%, 1);
  --cpd-color-alpha-lime-1200: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-1300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-1400: hsl(120, 100%, 7%, 1);
  --cpd-color-alpha-green-100: hsla(150, 79%, 41%, 0.06);
  --cpd-color-alpha-green-200: hsla(150, 100%, 36%, 0.11);
  --cpd-color-alpha-green-300: hsla(151, 93%, 37%, 0.23);
  --cpd-color-alpha-green-400: hsla(153, 95%, 37%, 0.32);
  --cpd-color-alpha-green-500: hsla(156, 99%, 36%, 0.56);
  --cpd-color-alpha-green-600: hsla(163, 99%, 38%, 0.96);
  --cpd-color-alpha-green-700: hsl(166, 100%, 32%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 26%, 1);
  --cpd-color-alpha-green-900: hsl(163, 100%, 17%, 1);
  --cpd-color-alpha-green-1000: hsl(162, 100%, 15%, 1);
  --cpd-color-alpha-green-1100: hsl(160, 100%, 13%, 1);
  --cpd-color-alpha-green-1200: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-1300: hsl(152, 100%, 8%, 1);
  --cpd-color-alpha-green-1400: hsl(147, 100%, 7%, 1);
  --cpd-color-alpha-cyan-100: hsla(186, 79%, 41%, 0.06);
  --cpd-color-alpha-cyan-200: hsla(188, 100%, 38%, 0.11);
  --cpd-color-alpha-cyan-300: hsla(186, 100%, 37%, 0.22);
  --cpd-color-alpha-cyan-400: hsla(187, 97%, 38%, 0.31);
  --cpd-color-alpha-cyan-500: hsla(187, 99%, 38%, 0.54);
  --cpd-color-alpha-cyan-600: hsla(186, 99%, 40%, 0.92);
  --cpd-color-alpha-cyan-700: hsl(193, 100%, 38%, 1);
  --cpd-color-alpha-cyan-800: hsl(199, 100%, 35%, 1);
  --cpd-color-alpha-cyan-900: hsl(205, 100%, 26%, 1);
  --cpd-color-alpha-cyan-1000: hsl(207, 100%, 24%, 1);
  --cpd-color-alpha-cyan-1100: hsl(210, 100%, 22%, 1);
  --cpd-color-alpha-cyan-1200: hsl(212, 100%, 20%, 1);
  --cpd-color-alpha-cyan-1300: hsl(218, 100%, 16%, 1);
  --cpd-color-alpha-cyan-1400: hsl(222, 100%, 15%, 1);
  --cpd-color-alpha-blue-100: hsla(218, 100%, 57%, 0.05);
  --cpd-color-alpha-blue-200: hsla(215, 100%, 52%, 0.09);
  --cpd-color-alpha-blue-300: hsla(216, 95%, 51%, 0.16);
  --cpd-color-alpha-blue-400: hsla(216, 96%, 49%, 0.22);
  --cpd-color-alpha-blue-500: hsla(216, 95%, 48%, 0.37);
  --cpd-color-alpha-blue-600: hsla(215, 98%, 47%, 0.51);
  --cpd-color-alpha-blue-700: hsla(215, 100%, 46%, 0.71);
  --cpd-color-alpha-blue-800: hsla(212, 99%, 46%, 0.99);
  --cpd-color-alpha-blue-900: hsla(217, 98%, 33%, 0.99);
  --cpd-color-alpha-blue-1000: hsla(218, 97%, 30%, 0.99);
  --cpd-color-alpha-blue-1100: hsla(220, 99%, 27%, 0.99);
  --cpd-color-alpha-blue-1200: hsla(222, 100%, 24%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(228, 100%, 21%, 1);
  --cpd-color-alpha-blue-1400: hsl(233, 100%, 19%, 1);
  --cpd-color-alpha-purple-100: hsla(248, 100%, 61%, 0.04);
  --cpd-color-alpha-purple-200: hsla(248, 100%, 55%, 0.07);
  --cpd-color-alpha-purple-300: hsla(248, 100%, 53%, 0.12);
  --cpd-color-alpha-purple-400: hsla(248, 100%, 52%, 0.16);
  --cpd-color-alpha-purple-500: hsla(249, 100%, 51%, 0.27);
  --cpd-color-alpha-purple-600: hsla(251, 100%, 51%, 0.38);
  --cpd-color-alpha-purple-700: hsla(254, 100%, 50%, 0.53);
  --cpd-color-alpha-purple-800: hsla(258, 98%, 49%, 0.7);
  --cpd-color-alpha-purple-900: hsla(261, 97%, 38%, 0.9);
  --cpd-color-alpha-purple-1000: hsla(263, 100%, 36%, 0.95);
  --cpd-color-alpha-purple-1100: hsl(264, 100%, 33%, 1);
  --cpd-color-alpha-purple-1200: hsl(262, 100%, 29%, 1);
  --cpd-color-alpha-purple-1300: hsl(259, 100%, 22%, 1);
  --cpd-color-alpha-purple-1400: hsl(259, 100%, 19%, 1);
  --cpd-color-alpha-fuchsia-100: hsla(293, 95%, 41%, 0.04);
  --cpd-color-alpha-fuchsia-200: hsla(295, 89%, 41%, 0.07);
  --cpd-color-alpha-fuchsia-300: hsla(298, 91%, 40%, 0.13);
  --cpd-color-alpha-fuchsia-400: hsla(296, 95%, 38%, 0.18);
  --cpd-color-alpha-fuchsia-500: hsla(297, 93%, 38%, 0.31);
  --cpd-color-alpha-fuchsia-600: hsla(295, 96%, 37%, 0.43);
  --cpd-color-alpha-fuchsia-700: hsla(295, 97%, 37%, 0.6);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 36%, 0.79);
  --cpd-color-alpha-fuchsia-900: hsla(287, 96%, 27%, 0.9);
  --cpd-color-alpha-fuchsia-1000: hsla(286, 100%, 24%, 0.91);
  --cpd-color-alpha-fuchsia-1100: hsla(285, 97%, 22%, 0.95);
  --cpd-color-alpha-fuchsia-1200: hsl(285, 96%, 22%, 1);
  --cpd-color-alpha-fuchsia-1300: hsl(283, 100%, 16%, 1);
  --cpd-color-alpha-fuchsia-1400: hsl(281, 100%, 15%, 1);
  --cpd-color-alpha-pink-100: hsla(348, 100%, 51%, 0.04);
  --cpd-color-alpha-pink-200: hsla(347, 100%, 54%, 0.08);
  --cpd-color-alpha-pink-300: hsla(347, 100%, 50%, 0.13);
  --cpd-color-alpha-pink-400: hsla(347, 100%, 52%, 0.19);
  --cpd-color-alpha-pink-500: hsla(346, 100%, 51%, 0.33);
  --cpd-color-alpha-pink-600: hsla(345, 100%, 50%, 0.47);
  --cpd-color-alpha-pink-700: hsla(341, 98%, 49%, 0.7);
  --cpd-color-alpha-pink-800: hsla(333, 98%, 44%, 0.96);
  --cpd-color-alpha-pink-900: hsla(331, 100%, 28%, 0.97);
  --cpd-color-alpha-pink-1000: hsla(330, 97%, 26%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(329, 100%, 22%, 1);
  --cpd-color-alpha-pink-1200: hsl(332, 100%, 20%, 1);
  --cpd-color-alpha-pink-1300: hsl(337, 100%, 15%, 1);
  --cpd-color-alpha-pink-1400: hsl(341, 100%, 13%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-semantic{
.cpd-theme-light-hc.cpd-theme-light-hc {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-500);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: light) and (prefers-contrast: more){
@layer cpd-semantic{
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-theme-bg);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-gray-300);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-500);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-base{
.cpd-theme-dark.cpd-theme-dark {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #14171b;
  --cpd-color-gray-200: #181a1f;
  --cpd-color-gray-300: #1d1f24;
  --cpd-color-gray-400: #26282d;
  --cpd-color-gray-500: #323539;
  --cpd-color-gray-600: #3c3f44;
  --cpd-color-gray-700: #4a4f55;
  --cpd-color-gray-800: #656c76;
  --cpd-color-gray-900: #808994;
  --cpd-color-gray-1000: #9199a4;
  --cpd-color-gray-1100: #a3aab4;
  --cpd-color-gray-1200: #bdc3cc;
  --cpd-color-gray-1300: #d9dee4;
  --cpd-color-gray-1400: #ebeef2;
  --cpd-color-red-100: #370000;
  --cpd-color-red-200: #3e0000;
  --cpd-color-red-300: #470000;
  --cpd-color-red-400: #590000;
  --cpd-color-red-500: #710000;
  --cpd-color-red-600: #830009;
  --cpd-color-red-700: #9f0d1e;
  --cpd-color-red-800: #d1212a;
  --cpd-color-red-900: #fd3e3c;
  --cpd-color-red-1000: #ff665d;
  --cpd-color-red-1100: #ff877c;
  --cpd-color-red-1200: #ffaea4;
  --cpd-color-red-1300: #ffd4cd;
  --cpd-color-red-1400: #ffe9e6;
  --cpd-color-orange-100: #380000;
  --cpd-color-orange-200: #3c0000;
  --cpd-color-orange-300: #470000;
  --cpd-color-orange-400: #580000;
  --cpd-color-orange-500: #710000;
  --cpd-color-orange-600: #830500;
  --cpd-color-orange-700: #972206;
  --cpd-color-orange-800: #b94607;
  --cpd-color-orange-900: #da670d;
  --cpd-color-orange-1000: #eb7a12;
  --cpd-color-orange-1100: #f6913d;
  --cpd-color-orange-1200: #fbb37e;
  --cpd-color-orange-1300: #ffd5b9;
  --cpd-color-orange-1400: #ffeadb;
  --cpd-color-yellow-100: #360000;
  --cpd-color-yellow-200: #3a0300;
  --cpd-color-yellow-300: #410900;
  --cpd-color-yellow-400: #4c1400;
  --cpd-color-yellow-500: #5c2400;
  --cpd-color-yellow-600: #682e03;
  --cpd-color-yellow-700: #7c3e02;
  --cpd-color-yellow-800: #9d5b00;
  --cpd-color-yellow-900: #bc7a00;
  --cpd-color-yellow-1000: #cc8c00;
  --cpd-color-yellow-1100: #db9f00;
  --cpd-color-yellow-1200: #efbb0b;
  --cpd-color-yellow-1300: #fedb58;
  --cpd-color-yellow-1400: #ffedb1;
  --cpd-color-lime-100: #001b00;
  --cpd-color-lime-200: #002000;
  --cpd-color-lime-300: #002600;
  --cpd-color-lime-400: #003000;
  --cpd-color-lime-500: #003e00;
  --cpd-color-lime-600: #004a00;
  --cpd-color-lime-700: #005c00;
  --cpd-color-lime-800: #1d7c13;
  --cpd-color-lime-900: #389b20;
  --cpd-color-lime-1000: #47ad26;
  --cpd-color-lime-1100: #56c02c;
  --cpd-color-lime-1200: #77d94f;
  --cpd-color-lime-1300: #b6eca3;
  --cpd-color-lime-1400: #daf6d0;
  --cpd-color-green-100: #001c0b;
  --cpd-color-green-200: #001f0e;
  --cpd-color-green-300: #002513;
  --cpd-color-green-400: #002e1b;
  --cpd-color-green-500: #003d29;
  --cpd-color-green-600: #004832;
  --cpd-color-green-700: #005a43;
  --cpd-color-green-800: #007a62;
  --cpd-color-green-900: #129a78;
  --cpd-color-green-1000: #17ac84;
  --cpd-color-green-1100: #1fc090;
  --cpd-color-green-1200: #72d5ae;
  --cpd-color-green-1300: #b5e8d1;
  --cpd-color-green-1400: #d9f4e7;
  --cpd-color-cyan-100: #001144;
  --cpd-color-cyan-200: #001448;
  --cpd-color-cyan-300: #001b4e;
  --cpd-color-cyan-400: #002559;
  --cpd-color-cyan-500: #003468;
  --cpd-color-cyan-600: #003f75;
  --cpd-color-cyan-700: #005188;
  --cpd-color-cyan-800: #0271aa;
  --cpd-color-cyan-900: #0093be;
  --cpd-color-cyan-1000: #02a7c6;
  --cpd-color-cyan-1100: #21bacd;
  --cpd-color-cyan-1200: #78d0dc;
  --cpd-color-cyan-1300: #b8e5eb;
  --cpd-color-cyan-1400: #dbf2f5;
  --cpd-color-blue-100: #00055a;
  --cpd-color-blue-200: #00095d;
  --cpd-color-blue-300: #001264;
  --cpd-color-blue-400: #001e6f;
  --cpd-color-blue-500: #062d80;
  --cpd-color-blue-600: #083891;
  --cpd-color-blue-700: #0b49ab;
  --cpd-color-blue-800: #0e67d9;
  --cpd-color-blue-900: #4187eb;
  --cpd-color-blue-1000: #5e99f0;
  --cpd-color-blue-1100: #7aacf4;
  --cpd-color-blue-1200: #a1c4f8;
  --cpd-color-blue-1300: #cbdffc;
  --cpd-color-blue-1400: #e4eefe;
  --cpd-color-purple-100: #1a0055;
  --cpd-color-purple-200: #1c005a;
  --cpd-color-purple-300: #22006a;
  --cpd-color-purple-400: #2c0080;
  --cpd-color-purple-500: #3d009e;
  --cpd-color-purple-600: #4a0db1;
  --cpd-color-purple-700: #5a27c6;
  --cpd-color-purple-800: #7849ec;
  --cpd-color-purple-900: #9171f9;
  --cpd-color-purple-1000: #9e87fc;
  --cpd-color-purple-1100: #ad9cfe;
  --cpd-color-purple-1200: #c4baff;
  --cpd-color-purple-1300: #dedaff;
  --cpd-color-purple-1400: #eeebff;
  --cpd-color-fuchsia-100: #28003d;
  --cpd-color-fuchsia-200: #2e0044;
  --cpd-color-fuchsia-300: #37004e;
  --cpd-color-fuchsia-400: #46005e;
  --cpd-color-fuchsia-500: #560f6f;
  --cpd-color-fuchsia-600: #65177d;
  --cpd-color-fuchsia-700: #7d2394;
  --cpd-color-fuchsia-800: #aa36ba;
  --cpd-color-fuchsia-900: #c560cf;
  --cpd-color-fuchsia-1000: #cf78d7;
  --cpd-color-fuchsia-1100: #d991de;
  --cpd-color-fuchsia-1200: #e5b1e9;
  --cpd-color-fuchsia-1300: #f1d4f3;
  --cpd-color-fuchsia-1400: #f8e9f9;
  --cpd-color-pink-100: #37000f;
  --cpd-color-pink-200: #3c0012;
  --cpd-color-pink-300: #450018;
  --cpd-color-pink-400: #550024;
  --cpd-color-pink-500: #6d0036;
  --cpd-color-pink-600: #7c0c41;
  --cpd-color-pink-700: #99114f;
  --cpd-color-pink-800: #ce1865;
  --cpd-color-pink-900: #f4427d;
  --cpd-color-pink-1000: #fa658f;
  --cpd-color-pink-1100: #fe84a2;
  --cpd-color-pink-1200: #ffabbe;
  --cpd-color-pink-1300: #ffd2dc;
  --cpd-color-pink-1400: #ffe8ed;
  --cpd-color-alpha-gray-100: hsla(214, 10%, 86%, 0.02);
  --cpd-color-alpha-gray-200: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-300: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-400: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-500: hsla(214, 41%, 97%, 0.15);
  --cpd-color-alpha-gray-600: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-700: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-800: hsla(216, 100%, 94%, 0.41);
  --cpd-color-alpha-gray-900: hsla(211, 94%, 94%, 0.54);
  --cpd-color-alpha-gray-1000: hsla(213, 93%, 94%, 0.61);
  --cpd-color-alpha-gray-1100: hsla(215, 92%, 95%, 0.68);
  --cpd-color-alpha-gray-1200: hsla(215, 74%, 96%, 0.79);
  --cpd-color-alpha-gray-1300: hsla(213, 73%, 97%, 0.89);
  --cpd-color-alpha-gray-1400: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-red-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-red-600: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-700: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-800: hsla(357, 99%, 57%, 0.81);
  --cpd-color-alpha-red-900: hsl(1, 98%, 61%, 1);
  --cpd-color-alpha-red-1000: hsl(3, 100%, 68%, 1);
  --cpd-color-alpha-red-1100: hsl(5, 100%, 74%, 1);
  --cpd-color-alpha-red-1200: hsl(7, 100%, 82%, 1);
  --cpd-color-alpha-red-1300: hsl(8, 100%, 90%, 1);
  --cpd-color-alpha-red-1400: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-orange-600: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-700: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-800: hsla(21, 100%, 50%, 0.71);
  --cpd-color-alpha-orange-900: hsla(26, 99%, 52%, 0.85);
  --cpd-color-alpha-orange-1000: hsla(29, 99%, 53%, 0.92);
  --cpd-color-alpha-orange-1100: hsla(27, 98%, 62%, 0.97);
  --cpd-color-alpha-orange-1200: hsla(26, 97%, 75%, 0.99);
  --cpd-color-alpha-orange-1300: hsl(24, 100%, 86%, 1);
  --cpd-color-alpha-orange-1400: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-yellow-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-300: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-400: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-500: hsl(23, 100%, 18%, 1);
  --cpd-color-alpha-yellow-600: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-700: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-800: hsl(35, 100%, 31%, 1);
  --cpd-color-alpha-yellow-900: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-1000: hsl(41, 100%, 40%, 1);
  --cpd-color-alpha-yellow-1100: hsl(44, 100%, 43%, 1);
  --cpd-color-alpha-yellow-1200: hsla(46, 98%, 52%, 0.94);
  --cpd-color-alpha-yellow-1300: hsl(47, 99%, 67%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 5%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 12%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-700: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-800: hsla(112, 98%, 52%, 0.45);
  --cpd-color-alpha-lime-900: hsla(107, 98%, 57%, 0.58);
  --cpd-color-alpha-lime-1000: hsla(105, 97%, 58%, 0.66);
  --cpd-color-alpha-lime-1100: hsla(102, 98%, 60%, 0.74);
  --cpd-color-alpha-lime-1200: hsla(102, 100%, 68%, 0.84);
  --cpd-color-alpha-lime-1300: hsla(104, 100%, 84%, 0.92);
  --cpd-color-alpha-lime-1400: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-green-100: hsl(144, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-300: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-400: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-500: hsl(160, 100%, 12%, 1);
  --cpd-color-alpha-green-600: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-700: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-900: hsla(164, 98%, 53%, 0.58);
  --cpd-color-alpha-green-1000: hsla(163, 99%, 55%, 0.65);
  --cpd-color-alpha-green-1100: hsla(162, 98%, 57%, 0.74);
  --cpd-color-alpha-green-1200: hsla(156, 97%, 76%, 0.83);
  --cpd-color-alpha-green-1300: hsla(152, 93%, 88%, 0.91);
  --cpd-color-alpha-green-1400: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-cyan-100: hsl(225, 100%, 13%, 1);
  --cpd-color-alpha-cyan-200: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-300: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-400: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-500: hsl(210, 100%, 20%, 1);
  --cpd-color-alpha-cyan-600: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-700: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-800: hsla(200, 100%, 37%, 0.88);
  --cpd-color-alpha-cyan-900: hsl(194, 100%, 37%, 1);
  --cpd-color-alpha-cyan-1000: hsla(189, 100%, 44%, 0.88);
  --cpd-color-alpha-cyan-1100: hsla(186, 98%, 57%, 0.79);
  --cpd-color-alpha-cyan-1200: hsla(187, 100%, 77%, 0.85);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 89%, 0.92);
  --cpd-color-alpha-cyan-1400: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-blue-100: hsl(237, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-300: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-400: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-500: hsla(221, 100%, 37%, 0.63);
  --cpd-color-alpha-blue-600: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-700: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-800: hsla(214, 99%, 53%, 0.84);
  --cpd-color-alpha-blue-900: hsla(215, 98%, 63%, 0.92);
  --cpd-color-alpha-blue-1000: hsla(216, 99%, 69%, 0.94);
  --cpd-color-alpha-blue-1100: hsla(215, 97%, 74%, 0.96);
  --cpd-color-alpha-blue-1200: hsla(216, 100%, 82%, 0.97);
  --cpd-color-alpha-blue-1300: hsla(216, 96%, 90%, 0.99);
  --cpd-color-alpha-blue-1400: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-purple-100: hsl(258, 100%, 17%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-300: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-400: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-500: hsl(263, 100%, 31%, 1);
  --cpd-color-alpha-purple-600: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-700: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-800: hsla(257, 100%, 65%, 0.92);
  --cpd-color-alpha-purple-900: hsla(254, 99%, 72%, 0.98);
  --cpd-color-alpha-purple-1000: hsla(252, 98%, 77%, 0.99);
  --cpd-color-alpha-purple-1100: hsl(250, 98%, 80%, 1);
  --cpd-color-alpha-purple-1200: hsl(249, 100%, 87%, 1);
  --cpd-color-alpha-purple-1300: hsl(246, 100%, 93%, 1);
  --cpd-color-alpha-purple-1400: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(279, 100%, 12%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-400: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-500: hsla(287, 100%, 52%, 0.38);
  --cpd-color-alpha-fuchsia-600: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-700: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 63%, 0.71);
  --cpd-color-alpha-fuchsia-900: hsla(295, 97%, 72%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 98%, 78%, 0.83);
  --cpd-color-alpha-fuchsia-1100: hsla(297, 98%, 82%, 0.86);
  --cpd-color-alpha-fuchsia-1200: hsla(296, 97%, 88%, 0.91);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 100%, 94%, 0.95);
  --cpd-color-alpha-fuchsia-1400: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-pink-100: hsl(344, 100%, 11%, 1);
  --cpd-color-alpha-pink-200: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-300: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-400: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-500: hsl(330, 100%, 21%, 1);
  --cpd-color-alpha-pink-600: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-700: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-800: hsla(335, 99%, 55%, 0.8);
  --cpd-color-alpha-pink-900: hsla(340, 99%, 63%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(343, 100%, 70%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(345, 98%, 76%, 1);
  --cpd-color-alpha-pink-1200: hsl(346, 100%, 84%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 91%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 96%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: dark){
@layer cpd-base{
:root {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #14171b;
  --cpd-color-gray-200: #181a1f;
  --cpd-color-gray-300: #1d1f24;
  --cpd-color-gray-400: #26282d;
  --cpd-color-gray-500: #323539;
  --cpd-color-gray-600: #3c3f44;
  --cpd-color-gray-700: #4a4f55;
  --cpd-color-gray-800: #656c76;
  --cpd-color-gray-900: #808994;
  --cpd-color-gray-1000: #9199a4;
  --cpd-color-gray-1100: #a3aab4;
  --cpd-color-gray-1200: #bdc3cc;
  --cpd-color-gray-1300: #d9dee4;
  --cpd-color-gray-1400: #ebeef2;
  --cpd-color-red-100: #370000;
  --cpd-color-red-200: #3e0000;
  --cpd-color-red-300: #470000;
  --cpd-color-red-400: #590000;
  --cpd-color-red-500: #710000;
  --cpd-color-red-600: #830009;
  --cpd-color-red-700: #9f0d1e;
  --cpd-color-red-800: #d1212a;
  --cpd-color-red-900: #fd3e3c;
  --cpd-color-red-1000: #ff665d;
  --cpd-color-red-1100: #ff877c;
  --cpd-color-red-1200: #ffaea4;
  --cpd-color-red-1300: #ffd4cd;
  --cpd-color-red-1400: #ffe9e6;
  --cpd-color-orange-100: #380000;
  --cpd-color-orange-200: #3c0000;
  --cpd-color-orange-300: #470000;
  --cpd-color-orange-400: #580000;
  --cpd-color-orange-500: #710000;
  --cpd-color-orange-600: #830500;
  --cpd-color-orange-700: #972206;
  --cpd-color-orange-800: #b94607;
  --cpd-color-orange-900: #da670d;
  --cpd-color-orange-1000: #eb7a12;
  --cpd-color-orange-1100: #f6913d;
  --cpd-color-orange-1200: #fbb37e;
  --cpd-color-orange-1300: #ffd5b9;
  --cpd-color-orange-1400: #ffeadb;
  --cpd-color-yellow-100: #360000;
  --cpd-color-yellow-200: #3a0300;
  --cpd-color-yellow-300: #410900;
  --cpd-color-yellow-400: #4c1400;
  --cpd-color-yellow-500: #5c2400;
  --cpd-color-yellow-600: #682e03;
  --cpd-color-yellow-700: #7c3e02;
  --cpd-color-yellow-800: #9d5b00;
  --cpd-color-yellow-900: #bc7a00;
  --cpd-color-yellow-1000: #cc8c00;
  --cpd-color-yellow-1100: #db9f00;
  --cpd-color-yellow-1200: #efbb0b;
  --cpd-color-yellow-1300: #fedb58;
  --cpd-color-yellow-1400: #ffedb1;
  --cpd-color-lime-100: #001b00;
  --cpd-color-lime-200: #002000;
  --cpd-color-lime-300: #002600;
  --cpd-color-lime-400: #003000;
  --cpd-color-lime-500: #003e00;
  --cpd-color-lime-600: #004a00;
  --cpd-color-lime-700: #005c00;
  --cpd-color-lime-800: #1d7c13;
  --cpd-color-lime-900: #389b20;
  --cpd-color-lime-1000: #47ad26;
  --cpd-color-lime-1100: #56c02c;
  --cpd-color-lime-1200: #77d94f;
  --cpd-color-lime-1300: #b6eca3;
  --cpd-color-lime-1400: #daf6d0;
  --cpd-color-green-100: #001c0b;
  --cpd-color-green-200: #001f0e;
  --cpd-color-green-300: #002513;
  --cpd-color-green-400: #002e1b;
  --cpd-color-green-500: #003d29;
  --cpd-color-green-600: #004832;
  --cpd-color-green-700: #005a43;
  --cpd-color-green-800: #007a62;
  --cpd-color-green-900: #129a78;
  --cpd-color-green-1000: #17ac84;
  --cpd-color-green-1100: #1fc090;
  --cpd-color-green-1200: #72d5ae;
  --cpd-color-green-1300: #b5e8d1;
  --cpd-color-green-1400: #d9f4e7;
  --cpd-color-cyan-100: #001144;
  --cpd-color-cyan-200: #001448;
  --cpd-color-cyan-300: #001b4e;
  --cpd-color-cyan-400: #002559;
  --cpd-color-cyan-500: #003468;
  --cpd-color-cyan-600: #003f75;
  --cpd-color-cyan-700: #005188;
  --cpd-color-cyan-800: #0271aa;
  --cpd-color-cyan-900: #0093be;
  --cpd-color-cyan-1000: #02a7c6;
  --cpd-color-cyan-1100: #21bacd;
  --cpd-color-cyan-1200: #78d0dc;
  --cpd-color-cyan-1300: #b8e5eb;
  --cpd-color-cyan-1400: #dbf2f5;
  --cpd-color-blue-100: #00055a;
  --cpd-color-blue-200: #00095d;
  --cpd-color-blue-300: #001264;
  --cpd-color-blue-400: #001e6f;
  --cpd-color-blue-500: #062d80;
  --cpd-color-blue-600: #083891;
  --cpd-color-blue-700: #0b49ab;
  --cpd-color-blue-800: #0e67d9;
  --cpd-color-blue-900: #4187eb;
  --cpd-color-blue-1000: #5e99f0;
  --cpd-color-blue-1100: #7aacf4;
  --cpd-color-blue-1200: #a1c4f8;
  --cpd-color-blue-1300: #cbdffc;
  --cpd-color-blue-1400: #e4eefe;
  --cpd-color-purple-100: #1a0055;
  --cpd-color-purple-200: #1c005a;
  --cpd-color-purple-300: #22006a;
  --cpd-color-purple-400: #2c0080;
  --cpd-color-purple-500: #3d009e;
  --cpd-color-purple-600: #4a0db1;
  --cpd-color-purple-700: #5a27c6;
  --cpd-color-purple-800: #7849ec;
  --cpd-color-purple-900: #9171f9;
  --cpd-color-purple-1000: #9e87fc;
  --cpd-color-purple-1100: #ad9cfe;
  --cpd-color-purple-1200: #c4baff;
  --cpd-color-purple-1300: #dedaff;
  --cpd-color-purple-1400: #eeebff;
  --cpd-color-fuchsia-100: #28003d;
  --cpd-color-fuchsia-200: #2e0044;
  --cpd-color-fuchsia-300: #37004e;
  --cpd-color-fuchsia-400: #46005e;
  --cpd-color-fuchsia-500: #560f6f;
  --cpd-color-fuchsia-600: #65177d;
  --cpd-color-fuchsia-700: #7d2394;
  --cpd-color-fuchsia-800: #aa36ba;
  --cpd-color-fuchsia-900: #c560cf;
  --cpd-color-fuchsia-1000: #cf78d7;
  --cpd-color-fuchsia-1100: #d991de;
  --cpd-color-fuchsia-1200: #e5b1e9;
  --cpd-color-fuchsia-1300: #f1d4f3;
  --cpd-color-fuchsia-1400: #f8e9f9;
  --cpd-color-pink-100: #37000f;
  --cpd-color-pink-200: #3c0012;
  --cpd-color-pink-300: #450018;
  --cpd-color-pink-400: #550024;
  --cpd-color-pink-500: #6d0036;
  --cpd-color-pink-600: #7c0c41;
  --cpd-color-pink-700: #99114f;
  --cpd-color-pink-800: #ce1865;
  --cpd-color-pink-900: #f4427d;
  --cpd-color-pink-1000: #fa658f;
  --cpd-color-pink-1100: #fe84a2;
  --cpd-color-pink-1200: #ffabbe;
  --cpd-color-pink-1300: #ffd2dc;
  --cpd-color-pink-1400: #ffe8ed;
  --cpd-color-alpha-gray-100: hsla(214, 10%, 86%, 0.02);
  --cpd-color-alpha-gray-200: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-300: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-400: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-500: hsla(214, 41%, 97%, 0.15);
  --cpd-color-alpha-gray-600: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-700: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-800: hsla(216, 100%, 94%, 0.41);
  --cpd-color-alpha-gray-900: hsla(211, 94%, 94%, 0.54);
  --cpd-color-alpha-gray-1000: hsla(213, 93%, 94%, 0.61);
  --cpd-color-alpha-gray-1100: hsla(215, 92%, 95%, 0.68);
  --cpd-color-alpha-gray-1200: hsla(215, 74%, 96%, 0.79);
  --cpd-color-alpha-gray-1300: hsla(213, 73%, 97%, 0.89);
  --cpd-color-alpha-gray-1400: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-red-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-red-600: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-700: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-800: hsla(357, 99%, 57%, 0.81);
  --cpd-color-alpha-red-900: hsl(1, 98%, 61%, 1);
  --cpd-color-alpha-red-1000: hsl(3, 100%, 68%, 1);
  --cpd-color-alpha-red-1100: hsl(5, 100%, 74%, 1);
  --cpd-color-alpha-red-1200: hsl(7, 100%, 82%, 1);
  --cpd-color-alpha-red-1300: hsl(8, 100%, 90%, 1);
  --cpd-color-alpha-red-1400: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-500: hsl(0, 100%, 22%, 1);
  --cpd-color-alpha-orange-600: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-700: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-800: hsla(21, 100%, 50%, 0.71);
  --cpd-color-alpha-orange-900: hsla(26, 99%, 52%, 0.85);
  --cpd-color-alpha-orange-1000: hsla(29, 99%, 53%, 0.92);
  --cpd-color-alpha-orange-1100: hsla(27, 98%, 62%, 0.97);
  --cpd-color-alpha-orange-1200: hsla(26, 97%, 75%, 0.99);
  --cpd-color-alpha-orange-1300: hsl(24, 100%, 86%, 1);
  --cpd-color-alpha-orange-1400: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-yellow-100: hsl(0, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-300: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-400: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-500: hsl(23, 100%, 18%, 1);
  --cpd-color-alpha-yellow-600: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-700: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-800: hsl(35, 100%, 31%, 1);
  --cpd-color-alpha-yellow-900: hsl(39, 100%, 37%, 1);
  --cpd-color-alpha-yellow-1000: hsl(41, 100%, 40%, 1);
  --cpd-color-alpha-yellow-1100: hsl(44, 100%, 43%, 1);
  --cpd-color-alpha-yellow-1200: hsla(46, 98%, 52%, 0.94);
  --cpd-color-alpha-yellow-1300: hsl(47, 99%, 67%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 5%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 12%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-700: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-800: hsla(112, 98%, 52%, 0.45);
  --cpd-color-alpha-lime-900: hsla(107, 98%, 57%, 0.58);
  --cpd-color-alpha-lime-1000: hsla(105, 97%, 58%, 0.66);
  --cpd-color-alpha-lime-1100: hsla(102, 98%, 60%, 0.74);
  --cpd-color-alpha-lime-1200: hsla(102, 100%, 68%, 0.84);
  --cpd-color-alpha-lime-1300: hsla(104, 100%, 84%, 0.92);
  --cpd-color-alpha-lime-1400: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-green-100: hsl(144, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-300: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-400: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-500: hsl(160, 100%, 12%, 1);
  --cpd-color-alpha-green-600: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-700: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-800: hsl(168, 100%, 24%, 1);
  --cpd-color-alpha-green-900: hsla(164, 98%, 53%, 0.58);
  --cpd-color-alpha-green-1000: hsla(163, 99%, 55%, 0.65);
  --cpd-color-alpha-green-1100: hsla(162, 98%, 57%, 0.74);
  --cpd-color-alpha-green-1200: hsla(156, 97%, 76%, 0.83);
  --cpd-color-alpha-green-1300: hsla(152, 93%, 88%, 0.91);
  --cpd-color-alpha-green-1400: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-cyan-100: hsl(225, 100%, 13%, 1);
  --cpd-color-alpha-cyan-200: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-300: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-400: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-500: hsl(210, 100%, 20%, 1);
  --cpd-color-alpha-cyan-600: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-700: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-800: hsla(200, 100%, 37%, 0.88);
  --cpd-color-alpha-cyan-900: hsl(194, 100%, 37%, 1);
  --cpd-color-alpha-cyan-1000: hsla(189, 100%, 44%, 0.88);
  --cpd-color-alpha-cyan-1100: hsla(186, 98%, 57%, 0.79);
  --cpd-color-alpha-cyan-1200: hsla(187, 100%, 77%, 0.85);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 89%, 0.92);
  --cpd-color-alpha-cyan-1400: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-blue-100: hsl(237, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-300: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-400: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-500: hsla(221, 100%, 37%, 0.63);
  --cpd-color-alpha-blue-600: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-700: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-800: hsla(214, 99%, 53%, 0.84);
  --cpd-color-alpha-blue-900: hsla(215, 98%, 63%, 0.92);
  --cpd-color-alpha-blue-1000: hsla(216, 99%, 69%, 0.94);
  --cpd-color-alpha-blue-1100: hsla(215, 97%, 74%, 0.96);
  --cpd-color-alpha-blue-1200: hsla(216, 100%, 82%, 0.97);
  --cpd-color-alpha-blue-1300: hsla(216, 96%, 90%, 0.99);
  --cpd-color-alpha-blue-1400: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-purple-100: hsl(258, 100%, 17%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-300: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-400: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-500: hsl(263, 100%, 31%, 1);
  --cpd-color-alpha-purple-600: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-700: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-800: hsla(257, 100%, 65%, 0.92);
  --cpd-color-alpha-purple-900: hsla(254, 99%, 72%, 0.98);
  --cpd-color-alpha-purple-1000: hsla(252, 98%, 77%, 0.99);
  --cpd-color-alpha-purple-1100: hsl(250, 98%, 80%, 1);
  --cpd-color-alpha-purple-1200: hsl(249, 100%, 87%, 1);
  --cpd-color-alpha-purple-1300: hsl(246, 100%, 93%, 1);
  --cpd-color-alpha-purple-1400: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(279, 100%, 12%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-400: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-500: hsla(287, 100%, 52%, 0.38);
  --cpd-color-alpha-fuchsia-600: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-700: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-800: hsla(294, 98%, 63%, 0.71);
  --cpd-color-alpha-fuchsia-900: hsla(295, 97%, 72%, 0.8);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 98%, 78%, 0.83);
  --cpd-color-alpha-fuchsia-1100: hsla(297, 98%, 82%, 0.86);
  --cpd-color-alpha-fuchsia-1200: hsla(296, 97%, 88%, 0.91);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 100%, 94%, 0.95);
  --cpd-color-alpha-fuchsia-1400: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-pink-100: hsl(344, 100%, 11%, 1);
  --cpd-color-alpha-pink-200: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-300: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-400: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-500: hsl(330, 100%, 21%, 1);
  --cpd-color-alpha-pink-600: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-700: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-800: hsla(335, 99%, 55%, 0.8);
  --cpd-color-alpha-pink-900: hsla(340, 99%, 63%, 0.96);
  --cpd-color-alpha-pink-1000: hsla(343, 100%, 70%, 0.98);
  --cpd-color-alpha-pink-1100: hsl(345, 98%, 76%, 1);
  --cpd-color-alpha-pink-1200: hsl(346, 100%, 84%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 91%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 96%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-semantic{
.cpd-theme-dark.cpd-theme-dark {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-500);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: dark){
@layer cpd-semantic{
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-500);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-base{
.cpd-theme-dark-hc.cpd-theme-dark-hc {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #181a1f;
  --cpd-color-gray-200: #1d1f24;
  --cpd-color-gray-300: #26282d;
  --cpd-color-gray-400: #2b2e33;
  --cpd-color-gray-500: #3c3f44;
  --cpd-color-gray-600: #4a4f55;
  --cpd-color-gray-700: #606770;
  --cpd-color-gray-800: #79818d;
  --cpd-color-gray-900: #acb4bd;
  --cpd-color-gray-1000: #b8bfc7;
  --cpd-color-gray-1100: #c8ced5;
  --cpd-color-gray-1200: #d5dae1;
  --cpd-color-gray-1300: #ebeef2;
  --cpd-color-gray-1400: #f2f5f7;
  --cpd-color-red-100: #3e0000;
  --cpd-color-red-200: #470000;
  --cpd-color-red-300: #590000;
  --cpd-color-red-400: #640000;
  --cpd-color-red-500: #830009;
  --cpd-color-red-600: #9f0d1e;
  --cpd-color-red-700: #c81e28;
  --cpd-color-red-800: #f52f33;
  --cpd-color-red-900: #ff968c;
  --cpd-color-red-1000: #ffa79d;
  --cpd-color-red-1100: #ffbdb5;
  --cpd-color-red-1200: #ffcfc8;
  --cpd-color-red-1300: #ffe9e6;
  --cpd-color-red-1400: #fff2ef;
  --cpd-color-orange-100: #3c0000;
  --cpd-color-orange-200: #470000;
  --cpd-color-orange-300: #580000;
  --cpd-color-orange-400: #650000;
  --cpd-color-orange-500: #830500;
  --cpd-color-orange-600: #972206;
  --cpd-color-orange-700: #b44007;
  --cpd-color-orange-800: #d15f0b;
  --cpd-color-orange-900: #f89d58;
  --cpd-color-orange-1000: #faad73;
  --cpd-color-orange-1100: #fdc197;
  --cpd-color-orange-1200: #fed0b1;
  --cpd-color-orange-1300: #ffeadb;
  --cpd-color-orange-1400: #fff2ea;
  --cpd-color-yellow-100: #3a0300;
  --cpd-color-yellow-200: #410900;
  --cpd-color-yellow-300: #4c1400;
  --cpd-color-yellow-400: #541d00;
  --cpd-color-yellow-500: #682e03;
  --cpd-color-yellow-600: #7c3e02;
  --cpd-color-yellow-700: #985600;
  --cpd-color-yellow-800: #b47200;
  --cpd-color-yellow-900: #e3aa00;
  --cpd-color-yellow-1000: #ebb607;
  --cpd-color-yellow-1100: #f7c816;
  --cpd-color-yellow-1200: #fed632;
  --cpd-color-yellow-1300: #ffedb1;
  --cpd-color-yellow-1400: #fff4d0;
  --cpd-color-lime-100: #002000;
  --cpd-color-lime-200: #002600;
  --cpd-color-lime-300: #003000;
  --cpd-color-lime-400: #003700;
  --cpd-color-lime-500: #004a00;
  --cpd-color-lime-600: #005c00;
  --cpd-color-lime-700: #187611;
  --cpd-color-lime-800: #31941d;
  --cpd-color-lime-900: #5eca2f;
  --cpd-color-lime-1000: #6ad639;
  --cpd-color-lime-1100: #92e175;
  --cpd-color-lime-1200: #afe99a;
  --cpd-color-lime-1300: #daf6d0;
  --cpd-color-lime-1400: #e9f9e3;
  --cpd-color-green-100: #001f0e;
  --cpd-color-green-200: #002513;
  --cpd-color-green-300: #002e1b;
  --cpd-color-green-400: #003622;
  --cpd-color-green-500: #004832;
  --cpd-color-green-600: #005a43;
  --cpd-color-green-700: #00745c;
  --cpd-color-green-800: #109173;
  --cpd-color-green-900: #37c998;
  --cpd-color-green-1000: #61d2a6;
  --cpd-color-green-1100: #8fddbc;
  --cpd-color-green-1200: #ace6cc;
  --cpd-color-green-1300: #d9f4e7;
  --cpd-color-green-1400: #e9f8f1;
  --cpd-color-cyan-100: #001448;
  --cpd-color-cyan-200: #001b4e;
  --cpd-color-cyan-300: #002559;
  --cpd-color-cyan-400: #002d61;
  --cpd-color-cyan-500: #003f75;
  --cpd-color-cyan-600: #005188;
  --cpd-color-cyan-700: #006ca4;
  --cpd-color-cyan-800: #008aba;
  --cpd-color-cyan-900: #46c3d2;
  --cpd-color-cyan-1000: #6bccd9;
  --cpd-color-cyan-1100: #93d9e2;
  --cpd-color-cyan-1200: #afe2e9;
  --cpd-color-cyan-1300: #dbf2f5;
  --cpd-color-cyan-1400: #eaf7f9;
  --cpd-color-blue-100: #00095d;
  --cpd-color-blue-200: #001264;
  --cpd-color-blue-300: #001e6f;
  --cpd-color-blue-400: #032677;
  --cpd-color-blue-500: #083891;
  --cpd-color-blue-600: #0b49ab;
  --cpd-color-blue-700: #0e61d1;
  --cpd-color-blue-800: #337fe9;
  --cpd-color-blue-900: #89b5f6;
  --cpd-color-blue-1000: #9ac0f8;
  --cpd-color-blue-1100: #b2cffa;
  --cpd-color-blue-1200: #c5dbfc;
  --cpd-color-blue-1300: #e4eefe;
  --cpd-color-blue-1400: #eff5fe;
  --cpd-color-purple-100: #1c005a;
  --cpd-color-purple-200: #22006a;
  --cpd-color-purple-300: #2c0080;
  --cpd-color-purple-400: #350090;
  --cpd-color-purple-500: #4a0db1;
  --cpd-color-purple-600: #5a27c6;
  --cpd-color-purple-700: #7343e6;
  --cpd-color-purple-800: #8b66f8;
  --cpd-color-purple-900: #b6a7ff;
  --cpd-color-purple-1000: #c0b5ff;
  --cpd-color-purple-1100: #cec7ff;
  --cpd-color-purple-1200: #dad5ff;
  --cpd-color-purple-1300: #eeebff;
  --cpd-color-purple-1400: #f5f3ff;
  --cpd-color-fuchsia-100: #2e0044;
  --cpd-color-fuchsia-200: #37004e;
  --cpd-color-fuchsia-300: #46005e;
  --cpd-color-fuchsia-400: #4f0368;
  --cpd-color-fuchsia-500: #65177d;
  --cpd-color-fuchsia-600: #7d2394;
  --cpd-color-fuchsia-700: #a233b3;
  --cpd-color-fuchsia-800: #c153cb;
  --cpd-color-fuchsia-900: #dd9de3;
  --cpd-color-fuchsia-1000: #e3abe7;
  --cpd-color-fuchsia-1100: #eac0ed;
  --cpd-color-fuchsia-1200: #f0cff2;
  --cpd-color-fuchsia-1300: #f8e9f9;
  --cpd-color-fuchsia-1400: #fbf1fb;
  --cpd-color-pink-100: #3c0012;
  --cpd-color-pink-200: #450018;
  --cpd-color-pink-300: #550024;
  --cpd-color-pink-400: #61002d;
  --cpd-color-pink-500: #7c0c41;
  --cpd-color-pink-600: #99114f;
  --cpd-color-pink-700: #c51761;
  --cpd-color-pink-800: #f12c75;
  --cpd-color-pink-900: #ff92ac;
  --cpd-color-pink-1000: #ffa4b9;
  --cpd-color-pink-1100: #ffbbca;
  --cpd-color-pink-1200: #ffccd7;
  --cpd-color-pink-1300: #ffe8ed;
  --cpd-color-pink-1400: #fff1f4;
  --cpd-color-alpha-gray-100: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-200: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-300: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-400: hsla(227, 29%, 91%, 0.13);
  --cpd-color-alpha-gray-500: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-600: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-700: hsla(214, 79%, 93%, 0.39);
  --cpd-color-alpha-gray-800: hsla(216, 94%, 93%, 0.51);
  --cpd-color-alpha-gray-900: hsla(211, 91%, 96%, 0.72);
  --cpd-color-alpha-gray-1000: hsla(213, 100%, 97%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(212, 100%, 97%, 0.82);
  --cpd-color-alpha-gray-1200: hsla(217, 77%, 97%, 0.88);
  --cpd-color-alpha-gray-1300: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-gray-1400: hsla(204, 71%, 99%, 0.97);
  --cpd-color-alpha-red-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-500: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-600: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-700: hsla(357, 100%, 57%, 0.77);
  --cpd-color-alpha-red-800: hsla(359, 100%, 59%, 0.96);
  --cpd-color-alpha-red-900: hsl(5, 100%, 78%, 1);
  --cpd-color-alpha-red-1000: hsl(6, 100%, 81%, 1);
  --cpd-color-alpha-red-1100: hsl(6, 100%, 86%, 1);
  --cpd-color-alpha-red-1200: hsl(8, 100%, 89%, 1);
  --cpd-color-alpha-red-1300: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-red-1400: hsl(11, 100%, 97%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-500: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-600: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-700: hsla(20, 100%, 49%, 0.7);
  --cpd-color-alpha-orange-800: hsla(26, 99%, 51%, 0.81);
  --cpd-color-alpha-orange-900: hsla(26, 98%, 67%, 0.98);
  --cpd-color-alpha-orange-1000: hsla(26, 100%, 73%, 0.98);
  --cpd-color-alpha-orange-1100: hsl(25, 96%, 79%, 1);
  --cpd-color-alpha-orange-1200: hsl(24, 98%, 85%, 1);
  --cpd-color-alpha-orange-1300: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-orange-1400: hsl(23, 100%, 96%, 1);
  --cpd-color-alpha-yellow-100: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-300: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-400: hsl(21, 100%, 17%, 1);
  --cpd-color-alpha-yellow-500: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-600: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-700: hsl(34, 100%, 30%, 1);
  --cpd-color-alpha-yellow-800: hsl(38, 100%, 35%, 1);
  --cpd-color-alpha-yellow-900: hsl(45, 100%, 45%, 1);
  --cpd-color-alpha-yellow-1000: hsla(46, 99%, 51%, 0.92);
  --cpd-color-alpha-yellow-1100: hsla(48, 99%, 54%, 0.97);
  --cpd-color-alpha-yellow-1200: hsl(48, 99%, 60%, 1);
  --cpd-color-alpha-yellow-1300: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 91%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-700: hsla(114, 100%, 52%, 0.42);
  --cpd-color-alpha-lime-800: hsla(109, 99%, 57%, 0.55);
  --cpd-color-alpha-lime-900: hsla(101, 99%, 60%, 0.78);
  --cpd-color-alpha-lime-1000: hsla(101, 99%, 62%, 0.83);
  --cpd-color-alpha-lime-1100: hsla(103, 97%, 75%, 0.88);
  --cpd-color-alpha-lime-1200: hsla(103, 98%, 83%, 0.91);
  --cpd-color-alpha-lime-1300: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-lime-1400: hsla(104, 92%, 95%, 0.98);
  --cpd-color-alpha-green-100: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-300: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-400: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-500: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-600: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-700: hsl(168, 100%, 23%, 1);
  --cpd-color-alpha-green-800: hsla(165, 98%, 53%, 0.54);
  --cpd-color-alpha-green-900: hsla(159, 97%, 62%, 0.78);
  --cpd-color-alpha-green-1000: hsla(156, 100%, 73%, 0.81);
  --cpd-color-alpha-green-1100: hsla(154, 98%, 82%, 0.86);
  --cpd-color-alpha-green-1200: hsla(153, 94%, 87%, 0.9);
  --cpd-color-alpha-green-1300: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-green-1400: hsla(150, 80%, 96%, 0.98);
  --cpd-color-alpha-cyan-100: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-200: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-300: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-400: hsl(212, 100%, 19%, 1);
  --cpd-color-alpha-cyan-500: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-600: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-700: hsl(200, 100%, 32%, 1);
  --cpd-color-alpha-cyan-800: hsl(195, 100%, 37%, 1);
  --cpd-color-alpha-cyan-900: hsla(186, 99%, 66%, 0.81);
  --cpd-color-alpha-cyan-1000: hsla(187, 99%, 74%, 0.84);
  --cpd-color-alpha-cyan-1100: hsla(187, 98%, 82%, 0.88);
  --cpd-color-alpha-cyan-1200: hsla(188, 97%, 87%, 0.91);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-cyan-1400: hsla(187, 89%, 97%, 0.98);
  --cpd-color-alpha-blue-100: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-300: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-400: hsla(222, 100%, 28%, 0.82);
  --cpd-color-alpha-blue-500: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-600: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 52%, 0.81);
  --cpd-color-alpha-blue-800: hsla(215, 99%, 60%, 0.91);
  --cpd-color-alpha-blue-900: hsla(216, 97%, 77%, 0.97);
  --cpd-color-alpha-blue-1000: hsla(216, 100%, 81%, 0.97);
  --cpd-color-alpha-blue-1100: hsla(216, 100%, 86%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(216, 97%, 89%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-blue-1400: hsl(216, 88%, 97%, 1);
  --cpd-color-alpha-purple-100: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-300: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-400: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-500: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-600: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-700: hsla(258, 98%, 64%, 0.9);
  --cpd-color-alpha-purple-800: hsla(255, 100%, 71%, 0.97);
  --cpd-color-alpha-purple-900: hsl(250, 100%, 83%, 1);
  --cpd-color-alpha-purple-1000: hsl(249, 100%, 86%, 1);
  --cpd-color-alpha-purple-1100: hsl(248, 100%, 89%, 1);
  --cpd-color-alpha-purple-1200: hsl(247, 100%, 92%, 1);
  --cpd-color-alpha-purple-1300: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-purple-1400: hsl(250, 100%, 98%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-400: hsla(286, 100%, 23%, 0.85);
  --cpd-color-alpha-fuchsia-500: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-600: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-700: hsla(293, 97%, 62%, 0.68);
  --cpd-color-alpha-fuchsia-800: hsla(296, 99%, 70%, 0.78);
  --cpd-color-alpha-fuchsia-900: hsla(295, 100%, 85%, 0.88);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 97%, 87%, 0.9);
  --cpd-color-alpha-fuchsia-1100: hsla(296, 92%, 90%, 0.93);
  --cpd-color-alpha-fuchsia-1200: hsla(297, 95%, 92%, 0.95);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-fuchsia-1400: hsla(300, 71%, 97%, 0.99);
  --cpd-color-alpha-pink-100: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-200: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-300: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-400: hsl(332, 100%, 19%, 1);
  --cpd-color-alpha-pink-500: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-600: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-700: hsla(335, 99%, 55%, 0.76);
  --cpd-color-alpha-pink-800: hsla(338, 98%, 58%, 0.95);
  --cpd-color-alpha-pink-900: hsl(346, 100%, 79%, 1);
  --cpd-color-alpha-pink-1000: hsl(346, 100%, 82%, 1);
  --cpd-color-alpha-pink-1100: hsl(347, 100%, 87%, 1);
  --cpd-color-alpha-pink-1200: hsl(347, 100%, 90%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 96%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 97%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: dark) and (prefers-contrast: more){
@layer cpd-base{
:root {
  --cpd-color-theme-bg: #101317;
  --cpd-color-gray-100: #181a1f;
  --cpd-color-gray-200: #1d1f24;
  --cpd-color-gray-300: #26282d;
  --cpd-color-gray-400: #2b2e33;
  --cpd-color-gray-500: #3c3f44;
  --cpd-color-gray-600: #4a4f55;
  --cpd-color-gray-700: #606770;
  --cpd-color-gray-800: #79818d;
  --cpd-color-gray-900: #acb4bd;
  --cpd-color-gray-1000: #b8bfc7;
  --cpd-color-gray-1100: #c8ced5;
  --cpd-color-gray-1200: #d5dae1;
  --cpd-color-gray-1300: #ebeef2;
  --cpd-color-gray-1400: #f2f5f7;
  --cpd-color-red-100: #3e0000;
  --cpd-color-red-200: #470000;
  --cpd-color-red-300: #590000;
  --cpd-color-red-400: #640000;
  --cpd-color-red-500: #830009;
  --cpd-color-red-600: #9f0d1e;
  --cpd-color-red-700: #c81e28;
  --cpd-color-red-800: #f52f33;
  --cpd-color-red-900: #ff968c;
  --cpd-color-red-1000: #ffa79d;
  --cpd-color-red-1100: #ffbdb5;
  --cpd-color-red-1200: #ffcfc8;
  --cpd-color-red-1300: #ffe9e6;
  --cpd-color-red-1400: #fff2ef;
  --cpd-color-orange-100: #3c0000;
  --cpd-color-orange-200: #470000;
  --cpd-color-orange-300: #580000;
  --cpd-color-orange-400: #650000;
  --cpd-color-orange-500: #830500;
  --cpd-color-orange-600: #972206;
  --cpd-color-orange-700: #b44007;
  --cpd-color-orange-800: #d15f0b;
  --cpd-color-orange-900: #f89d58;
  --cpd-color-orange-1000: #faad73;
  --cpd-color-orange-1100: #fdc197;
  --cpd-color-orange-1200: #fed0b1;
  --cpd-color-orange-1300: #ffeadb;
  --cpd-color-orange-1400: #fff2ea;
  --cpd-color-yellow-100: #3a0300;
  --cpd-color-yellow-200: #410900;
  --cpd-color-yellow-300: #4c1400;
  --cpd-color-yellow-400: #541d00;
  --cpd-color-yellow-500: #682e03;
  --cpd-color-yellow-600: #7c3e02;
  --cpd-color-yellow-700: #985600;
  --cpd-color-yellow-800: #b47200;
  --cpd-color-yellow-900: #e3aa00;
  --cpd-color-yellow-1000: #ebb607;
  --cpd-color-yellow-1100: #f7c816;
  --cpd-color-yellow-1200: #fed632;
  --cpd-color-yellow-1300: #ffedb1;
  --cpd-color-yellow-1400: #fff4d0;
  --cpd-color-lime-100: #002000;
  --cpd-color-lime-200: #002600;
  --cpd-color-lime-300: #003000;
  --cpd-color-lime-400: #003700;
  --cpd-color-lime-500: #004a00;
  --cpd-color-lime-600: #005c00;
  --cpd-color-lime-700: #187611;
  --cpd-color-lime-800: #31941d;
  --cpd-color-lime-900: #5eca2f;
  --cpd-color-lime-1000: #6ad639;
  --cpd-color-lime-1100: #92e175;
  --cpd-color-lime-1200: #afe99a;
  --cpd-color-lime-1300: #daf6d0;
  --cpd-color-lime-1400: #e9f9e3;
  --cpd-color-green-100: #001f0e;
  --cpd-color-green-200: #002513;
  --cpd-color-green-300: #002e1b;
  --cpd-color-green-400: #003622;
  --cpd-color-green-500: #004832;
  --cpd-color-green-600: #005a43;
  --cpd-color-green-700: #00745c;
  --cpd-color-green-800: #109173;
  --cpd-color-green-900: #37c998;
  --cpd-color-green-1000: #61d2a6;
  --cpd-color-green-1100: #8fddbc;
  --cpd-color-green-1200: #ace6cc;
  --cpd-color-green-1300: #d9f4e7;
  --cpd-color-green-1400: #e9f8f1;
  --cpd-color-cyan-100: #001448;
  --cpd-color-cyan-200: #001b4e;
  --cpd-color-cyan-300: #002559;
  --cpd-color-cyan-400: #002d61;
  --cpd-color-cyan-500: #003f75;
  --cpd-color-cyan-600: #005188;
  --cpd-color-cyan-700: #006ca4;
  --cpd-color-cyan-800: #008aba;
  --cpd-color-cyan-900: #46c3d2;
  --cpd-color-cyan-1000: #6bccd9;
  --cpd-color-cyan-1100: #93d9e2;
  --cpd-color-cyan-1200: #afe2e9;
  --cpd-color-cyan-1300: #dbf2f5;
  --cpd-color-cyan-1400: #eaf7f9;
  --cpd-color-blue-100: #00095d;
  --cpd-color-blue-200: #001264;
  --cpd-color-blue-300: #001e6f;
  --cpd-color-blue-400: #032677;
  --cpd-color-blue-500: #083891;
  --cpd-color-blue-600: #0b49ab;
  --cpd-color-blue-700: #0e61d1;
  --cpd-color-blue-800: #337fe9;
  --cpd-color-blue-900: #89b5f6;
  --cpd-color-blue-1000: #9ac0f8;
  --cpd-color-blue-1100: #b2cffa;
  --cpd-color-blue-1200: #c5dbfc;
  --cpd-color-blue-1300: #e4eefe;
  --cpd-color-blue-1400: #eff5fe;
  --cpd-color-purple-100: #1c005a;
  --cpd-color-purple-200: #22006a;
  --cpd-color-purple-300: #2c0080;
  --cpd-color-purple-400: #350090;
  --cpd-color-purple-500: #4a0db1;
  --cpd-color-purple-600: #5a27c6;
  --cpd-color-purple-700: #7343e6;
  --cpd-color-purple-800: #8b66f8;
  --cpd-color-purple-900: #b6a7ff;
  --cpd-color-purple-1000: #c0b5ff;
  --cpd-color-purple-1100: #cec7ff;
  --cpd-color-purple-1200: #dad5ff;
  --cpd-color-purple-1300: #eeebff;
  --cpd-color-purple-1400: #f5f3ff;
  --cpd-color-fuchsia-100: #2e0044;
  --cpd-color-fuchsia-200: #37004e;
  --cpd-color-fuchsia-300: #46005e;
  --cpd-color-fuchsia-400: #4f0368;
  --cpd-color-fuchsia-500: #65177d;
  --cpd-color-fuchsia-600: #7d2394;
  --cpd-color-fuchsia-700: #a233b3;
  --cpd-color-fuchsia-800: #c153cb;
  --cpd-color-fuchsia-900: #dd9de3;
  --cpd-color-fuchsia-1000: #e3abe7;
  --cpd-color-fuchsia-1100: #eac0ed;
  --cpd-color-fuchsia-1200: #f0cff2;
  --cpd-color-fuchsia-1300: #f8e9f9;
  --cpd-color-fuchsia-1400: #fbf1fb;
  --cpd-color-pink-100: #3c0012;
  --cpd-color-pink-200: #450018;
  --cpd-color-pink-300: #550024;
  --cpd-color-pink-400: #61002d;
  --cpd-color-pink-500: #7c0c41;
  --cpd-color-pink-600: #99114f;
  --cpd-color-pink-700: #c51761;
  --cpd-color-pink-800: #f12c75;
  --cpd-color-pink-900: #ff92ac;
  --cpd-color-pink-1000: #ffa4b9;
  --cpd-color-pink-1100: #ffbbca;
  --cpd-color-pink-1200: #ffccd7;
  --cpd-color-pink-1300: #ffe8ed;
  --cpd-color-pink-1400: #fff1f4;
  --cpd-color-alpha-gray-100: hsla(286, 31%, 82%, 0.04);
  --cpd-color-alpha-gray-200: hsla(280, 41%, 90%, 0.06);
  --cpd-color-alpha-gray-300: hsla(270, 37%, 93%, 0.1);
  --cpd-color-alpha-gray-400: hsla(227, 29%, 91%, 0.13);
  --cpd-color-alpha-gray-500: hsla(225, 46%, 95%, 0.2);
  --cpd-color-alpha-gray-600: hsla(213, 85%, 95%, 0.27);
  --cpd-color-alpha-gray-700: hsla(214, 79%, 93%, 0.39);
  --cpd-color-alpha-gray-800: hsla(216, 94%, 93%, 0.51);
  --cpd-color-alpha-gray-900: hsla(211, 91%, 96%, 0.72);
  --cpd-color-alpha-gray-1000: hsla(213, 100%, 97%, 0.76);
  --cpd-color-alpha-gray-1100: hsla(212, 100%, 97%, 0.82);
  --cpd-color-alpha-gray-1200: hsla(217, 77%, 97%, 0.88);
  --cpd-color-alpha-gray-1300: hsla(214, 78%, 98%, 0.95);
  --cpd-color-alpha-gray-1400: hsla(204, 71%, 99%, 0.97);
  --cpd-color-alpha-red-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-red-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-red-300: hsl(0, 100%, 18%, 1);
  --cpd-color-alpha-red-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-red-500: hsl(356, 100%, 26%, 1);
  --cpd-color-alpha-red-600: hsla(354, 99%, 52%, 0.6);
  --cpd-color-alpha-red-700: hsla(357, 100%, 57%, 0.77);
  --cpd-color-alpha-red-800: hsla(359, 100%, 59%, 0.96);
  --cpd-color-alpha-red-900: hsl(5, 100%, 78%, 1);
  --cpd-color-alpha-red-1000: hsl(6, 100%, 81%, 1);
  --cpd-color-alpha-red-1100: hsl(6, 100%, 86%, 1);
  --cpd-color-alpha-red-1200: hsl(8, 100%, 89%, 1);
  --cpd-color-alpha-red-1300: hsl(7, 100%, 95%, 1);
  --cpd-color-alpha-red-1400: hsl(11, 100%, 97%, 1);
  --cpd-color-alpha-orange-100: hsl(0, 100%, 12%, 1);
  --cpd-color-alpha-orange-200: hsl(0, 100%, 14%, 1);
  --cpd-color-alpha-orange-300: hsl(0, 100%, 17%, 1);
  --cpd-color-alpha-orange-400: hsl(0, 100%, 20%, 1);
  --cpd-color-alpha-orange-500: hsl(2, 100%, 26%, 1);
  --cpd-color-alpha-orange-600: hsla(12, 100%, 39%, 0.74);
  --cpd-color-alpha-orange-700: hsla(20, 100%, 49%, 0.7);
  --cpd-color-alpha-orange-800: hsla(26, 99%, 51%, 0.81);
  --cpd-color-alpha-orange-900: hsla(26, 98%, 67%, 0.98);
  --cpd-color-alpha-orange-1000: hsla(26, 100%, 73%, 0.98);
  --cpd-color-alpha-orange-1100: hsl(25, 96%, 79%, 1);
  --cpd-color-alpha-orange-1200: hsl(24, 98%, 85%, 1);
  --cpd-color-alpha-orange-1300: hsl(25, 100%, 93%, 1);
  --cpd-color-alpha-orange-1400: hsl(23, 100%, 96%, 1);
  --cpd-color-alpha-yellow-100: hsl(3, 100%, 11%, 1);
  --cpd-color-alpha-yellow-200: hsl(8, 100%, 13%, 1);
  --cpd-color-alpha-yellow-300: hsl(16, 100%, 15%, 1);
  --cpd-color-alpha-yellow-400: hsl(21, 100%, 17%, 1);
  --cpd-color-alpha-yellow-500: hsla(26, 100%, 23%, 0.87);
  --cpd-color-alpha-yellow-600: hsla(30, 100%, 26%, 0.92);
  --cpd-color-alpha-yellow-700: hsl(34, 100%, 30%, 1);
  --cpd-color-alpha-yellow-800: hsl(38, 100%, 35%, 1);
  --cpd-color-alpha-yellow-900: hsl(45, 100%, 45%, 1);
  --cpd-color-alpha-yellow-1000: hsla(46, 99%, 51%, 0.92);
  --cpd-color-alpha-yellow-1100: hsla(48, 99%, 54%, 0.97);
  --cpd-color-alpha-yellow-1200: hsl(48, 99%, 60%, 1);
  --cpd-color-alpha-yellow-1300: hsl(46, 100%, 85%, 1);
  --cpd-color-alpha-yellow-1400: hsl(46, 100%, 91%, 1);
  --cpd-color-alpha-lime-100: hsl(120, 100%, 6%, 1);
  --cpd-color-alpha-lime-200: hsl(120, 100%, 8%, 1);
  --cpd-color-alpha-lime-300: hsl(120, 100%, 9%, 1);
  --cpd-color-alpha-lime-400: hsl(120, 100%, 11%, 1);
  --cpd-color-alpha-lime-500: hsl(120, 100%, 15%, 1);
  --cpd-color-alpha-lime-600: hsl(120, 100%, 18%, 1);
  --cpd-color-alpha-lime-700: hsla(114, 100%, 52%, 0.42);
  --cpd-color-alpha-lime-800: hsla(109, 99%, 57%, 0.55);
  --cpd-color-alpha-lime-900: hsla(101, 99%, 60%, 0.78);
  --cpd-color-alpha-lime-1000: hsla(101, 99%, 62%, 0.83);
  --cpd-color-alpha-lime-1100: hsla(103, 97%, 75%, 0.88);
  --cpd-color-alpha-lime-1200: hsla(103, 98%, 83%, 0.91);
  --cpd-color-alpha-lime-1300: hsla(105, 91%, 92%, 0.97);
  --cpd-color-alpha-lime-1400: hsla(104, 92%, 95%, 0.98);
  --cpd-color-alpha-green-100: hsl(147, 100%, 6%, 1);
  --cpd-color-alpha-green-200: hsl(151, 100%, 7%, 1);
  --cpd-color-alpha-green-300: hsl(155, 100%, 9%, 1);
  --cpd-color-alpha-green-400: hsl(158, 100%, 11%, 1);
  --cpd-color-alpha-green-500: hsl(162, 100%, 14%, 1);
  --cpd-color-alpha-green-600: hsl(165, 100%, 18%, 1);
  --cpd-color-alpha-green-700: hsl(168, 100%, 23%, 1);
  --cpd-color-alpha-green-800: hsla(165, 98%, 53%, 0.54);
  --cpd-color-alpha-green-900: hsla(159, 97%, 62%, 0.78);
  --cpd-color-alpha-green-1000: hsla(156, 100%, 73%, 0.81);
  --cpd-color-alpha-green-1100: hsla(154, 98%, 82%, 0.86);
  --cpd-color-alpha-green-1200: hsla(153, 94%, 87%, 0.9);
  --cpd-color-alpha-green-1300: hsla(152, 88%, 94%, 0.96);
  --cpd-color-alpha-green-1400: hsla(150, 80%, 96%, 0.98);
  --cpd-color-alpha-cyan-100: hsl(223, 100%, 14%, 1);
  --cpd-color-alpha-cyan-200: hsl(219, 100%, 15%, 1);
  --cpd-color-alpha-cyan-300: hsl(215, 100%, 18%, 1);
  --cpd-color-alpha-cyan-400: hsl(212, 100%, 19%, 1);
  --cpd-color-alpha-cyan-500: hsl(208, 100%, 23%, 1);
  --cpd-color-alpha-cyan-600: hsl(204, 100%, 27%, 1);
  --cpd-color-alpha-cyan-700: hsl(200, 100%, 32%, 1);
  --cpd-color-alpha-cyan-800: hsl(195, 100%, 37%, 1);
  --cpd-color-alpha-cyan-900: hsla(186, 99%, 66%, 0.81);
  --cpd-color-alpha-cyan-1000: hsla(187, 99%, 74%, 0.84);
  --cpd-color-alpha-cyan-1100: hsla(187, 98%, 82%, 0.88);
  --cpd-color-alpha-cyan-1200: hsla(188, 97%, 87%, 0.91);
  --cpd-color-alpha-cyan-1300: hsla(187, 93%, 94%, 0.96);
  --cpd-color-alpha-cyan-1400: hsla(187, 89%, 97%, 0.98);
  --cpd-color-alpha-blue-100: hsl(234, 100%, 18%, 1);
  --cpd-color-alpha-blue-200: hsl(229, 100%, 20%, 1);
  --cpd-color-alpha-blue-300: hsl(224, 100%, 22%, 1);
  --cpd-color-alpha-blue-400: hsla(222, 100%, 28%, 0.82);
  --cpd-color-alpha-blue-500: hsla(219, 99%, 50%, 0.53);
  --cpd-color-alpha-blue-600: hsla(217, 99%, 51%, 0.64);
  --cpd-color-alpha-blue-700: hsla(215, 98%, 52%, 0.81);
  --cpd-color-alpha-blue-800: hsla(215, 99%, 60%, 0.91);
  --cpd-color-alpha-blue-900: hsla(216, 97%, 77%, 0.97);
  --cpd-color-alpha-blue-1000: hsla(216, 100%, 81%, 0.97);
  --cpd-color-alpha-blue-1100: hsla(216, 100%, 86%, 0.98);
  --cpd-color-alpha-blue-1200: hsla(216, 97%, 89%, 0.99);
  --cpd-color-alpha-blue-1300: hsl(217, 93%, 95%, 1);
  --cpd-color-alpha-blue-1400: hsl(216, 88%, 97%, 1);
  --cpd-color-alpha-purple-100: hsl(259, 100%, 18%, 1);
  --cpd-color-alpha-purple-200: hsl(259, 100%, 21%, 1);
  --cpd-color-alpha-purple-300: hsl(261, 100%, 25%, 1);
  --cpd-color-alpha-purple-400: hsl(262, 100%, 28%, 1);
  --cpd-color-alpha-purple-500: hsla(263, 98%, 52%, 0.67);
  --cpd-color-alpha-purple-600: hsla(260, 98%, 58%, 0.76);
  --cpd-color-alpha-purple-700: hsla(258, 98%, 64%, 0.9);
  --cpd-color-alpha-purple-800: hsla(255, 100%, 71%, 0.97);
  --cpd-color-alpha-purple-900: hsl(250, 100%, 83%, 1);
  --cpd-color-alpha-purple-1000: hsl(249, 100%, 86%, 1);
  --cpd-color-alpha-purple-1100: hsl(248, 100%, 89%, 1);
  --cpd-color-alpha-purple-1200: hsl(247, 100%, 92%, 1);
  --cpd-color-alpha-purple-1300: hsl(249, 100%, 96%, 1);
  --cpd-color-alpha-purple-1400: hsl(250, 100%, 98%, 1);
  --cpd-color-alpha-fuchsia-100: hsl(281, 100%, 13%, 1);
  --cpd-color-alpha-fuchsia-200: hsl(282, 100%, 15%, 1);
  --cpd-color-alpha-fuchsia-300: hsl(285, 100%, 18%, 1);
  --cpd-color-alpha-fuchsia-400: hsla(286, 100%, 23%, 0.85);
  --cpd-color-alpha-fuchsia-500: hsla(288, 100%, 56%, 0.44);
  --cpd-color-alpha-fuchsia-600: hsla(289, 99%, 59%, 0.54);
  --cpd-color-alpha-fuchsia-700: hsla(293, 97%, 62%, 0.68);
  --cpd-color-alpha-fuchsia-800: hsla(296, 99%, 70%, 0.78);
  --cpd-color-alpha-fuchsia-900: hsla(295, 100%, 85%, 0.88);
  --cpd-color-alpha-fuchsia-1000: hsla(296, 97%, 87%, 0.9);
  --cpd-color-alpha-fuchsia-1100: hsla(296, 92%, 90%, 0.93);
  --cpd-color-alpha-fuchsia-1200: hsla(297, 95%, 92%, 0.95);
  --cpd-color-alpha-fuchsia-1300: hsla(296, 90%, 96%, 0.98);
  --cpd-color-alpha-fuchsia-1400: hsla(300, 71%, 97%, 0.99);
  --cpd-color-alpha-pink-100: hsl(342, 100%, 12%, 1);
  --cpd-color-alpha-pink-200: hsl(339, 100%, 14%, 1);
  --cpd-color-alpha-pink-300: hsl(335, 100%, 17%, 1);
  --cpd-color-alpha-pink-400: hsl(332, 100%, 19%, 1);
  --cpd-color-alpha-pink-500: hsla(333, 97%, 50%, 0.46);
  --cpd-color-alpha-pink-600: hsla(334, 98%, 53%, 0.58);
  --cpd-color-alpha-pink-700: hsla(335, 99%, 55%, 0.76);
  --cpd-color-alpha-pink-800: hsla(338, 98%, 58%, 0.95);
  --cpd-color-alpha-pink-900: hsl(346, 100%, 79%, 1);
  --cpd-color-alpha-pink-1000: hsl(346, 100%, 82%, 1);
  --cpd-color-alpha-pink-1100: hsl(347, 100%, 87%, 1);
  --cpd-color-alpha-pink-1200: hsl(347, 100%, 90%, 1);
  --cpd-color-alpha-pink-1300: hsl(347, 100%, 96%, 1);
  --cpd-color-alpha-pink-1400: hsl(347, 100%, 97%, 1);
  --cpd-color-transparent: rgba(0,0,0,0);
}
}
}
}
@layer compound-tokens{
@media screen{
@layer cpd-semantic{
.cpd-theme-dark-hc.cpd-theme-dark-hc {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-500);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-tokens{
@media screen and (prefers-color-scheme: dark) and (prefers-contrast: more){
@layer cpd-semantic{
:root {
  --cpd-color-bg-canvas-default-level-1: var(--cpd-color-gray-300);
  --cpd-color-bg-subtle-secondary-level-0: var(--cpd-color-theme-bg);
  --cpd-color-gradient-action-stop1: var(--cpd-color-green-1100);
  --cpd-color-gradient-action-stop2: var(--cpd-color-green-900);
  --cpd-color-gradient-action-stop3: var(--cpd-color-green-700);
  --cpd-color-gradient-action-stop4: var(--cpd-color-green-500);
  --cpd-color-gradient-action-linear: linear-gradient(180deg, var(--cpd-color-gradient-action-stop1) 0%, var(--cpd-color-gradient-action-stop2) 33%, var(--cpd-color-gradient-action-stop3) 66%, var(--cpd-color-gradient-action-stop4) 100%);
}
}
}
}
@layer compound-web{

/*
 * Copyright 2025 New Vector Ltd
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._pill_187tn_8 {
  border-radius: 38px;
  font: var(--cpd-font-body-xs-semibold);
  color: var(--cpd-color-text-on-solid-primary);
  background-color: #3ecf8e;
  background-color: var(--cpd-color-icon-success-primary);
  padding: 0 var(--cpd-space-2x);
  block-size: 20px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (forced-colors: active) {
  ._pill_187tn_8 {
    outline: 1px solid transparent;
  }
}
/*
 * Copyright 2025 New Vector Ltd
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._unread_cti0f_8 {
  inline-size: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

  ._unread_cti0f_8 div {
    block-size: 8px;
    inline-size: 8px;
    background-color: var(--cpd-color-icon-secondary);
    border-radius: 100%;
  }

@media (forced-colors: active) {
  ._unread_cti0f_8 div {
    outline: 1px solid transparent;
  }
}
/*
 * Copyright 2025 New Vector Ltd
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._unread-counter_1147r_8 {
  border-radius: 38px;
  font: var(--cpd-font-body-xs-semibold);
  color: var(--cpd-color-text-on-solid-primary);
  background-color: #3ecf8e;
  background-color: var(--cpd-color-icon-success-primary);
  block-size: 20px;
  min-inline-size: 20px;
  padding: 0 var(--cpd-space-1-5x);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media (forced-colors: active) {
  ._unread-counter_1147r_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* TODO: Review entire file for semantic token definiton */

._alert_zx76t_10 {
  container-type: inline-size;
  container-name: alert;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: var(--cpd-space-3x);
  padding: var(--cpd-space-4x);
  border-radius: 8px;
  border: 1px solid;
}

._alert_zx76t_10[data-type="success"] {
  background-color: var(--cpd-color-green-200);
  border-color: #2e80de;
  border-color: var(--cpd-color-green-500);
}

._alert_zx76t_10[data-type="critical"] {
  background-color: var(--cpd-color-red-200);
  border-color: var(--cpd-color-red-500);
}

._alert_zx76t_10[data-type="info"] {
  background-color: var(--cpd-color-blue-200);
  border-color: var(--cpd-color-blue-500);
}

._content_zx76t_37 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--cpd-space-3x);
}

._text-content_zx76t_44 {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
}

[data-type="success"] :is(._title_zx76t_48, ._icon_zx76t_48) {
  color: #e9f2fb;
  color: var(--cpd-color-green-900);
}

[data-type="critical"] :is(._title_zx76t_48, ._icon_zx76t_48) {
  color: var(--cpd-color-red-900);
}

[data-type="info"] :is(._title_zx76t_48, ._icon_zx76t_48) {
  color: var(--cpd-color-blue-900);
}

._alert_zx76t_10 p {
  margin: 0;
}

._actions_zx76t_64 {
  -webkit-box-flex: 0;
      -ms-flex: 0;
          flex: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--cpd-space-1x);
  -ms-flex-item-align: center;
      align-self: center;
}

._icon_zx76t_48 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* @TODO 600px break should be a token */

/* wrap actions into a stacked layout when the alert is <=600px */
@container alert (max-width: 600px) {
  ._content_zx76t_37 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  ._text-content_zx76t_44 {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
  }
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._icon-button_1215g_8 {
  --cpd-icon-button-indicator-border-size: calc(
    var(--cpd-icon-button-size) * 0.0625
  );

  inline-size: var(--cpd-icon-button-size);
  block-size: var(--cpd-icon-button-size);

  /* the icon is 0.75 the size of the button, so add padding to put it in the middle */
  padding: calc(var(--cpd-icon-button-size) * 0.125);
  aspect-ratio: 1 / 1;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  border-radius: 50%;
  position: relative;
  background: transparent;
  line-height: 0px;
}
  ._icon-button_1215g_8[data-kind="primary"] * {
    color: var(--cpd-color-icon-secondary);
  }

._icon-button_1215g_8[data-kind="secondary"] {
  background: var(--cpd-color-bg-subtle-secondary);
}

  ._icon-button_1215g_8[data-kind="secondary"] * {
    color: var(--cpd-color-icon-secondary);
  }

._no-background_1215g_42[data-kind="secondary"] {
  background: transparent;
}

._icon-button_1215g_8[aria-disabled="true"] {
  cursor: not-allowed;
}

  ._icon-button_1215g_8[aria-disabled="true"] * {
    color: var(--cpd-color-icon-disabled);
  }

/**
 * Hover state
 */

@media (hover) {
  ._icon-button_1215g_8:not([aria-disabled="true"]):hover {
    background: var(--cpd-color-bg-subtle-primary);
  }

    ._icon-button_1215g_8:not([aria-disabled="true"]):hover * {
      color: var(--cpd-color-icon-primary);
    }
}

._icon-button_1215g_8:not([aria-disabled="true"]):active {
  background: var(--cpd-color-bg-subtle-primary);
}

  ._icon-button_1215g_8:not([aria-disabled="true"]):active * {
    color: var(--cpd-color-icon-primary);
  }

@media (hover) {
  ._icon-button_1215g_8:not([aria-disabled="true"])[data-indicator]:is(:hover)::before {
    /* Same colour as the background */
    border: var(--cpd-icon-button-indicator-border-size) solid
      var(--cpd-color-bg-subtle-primary);
    inset-block-start: 0;
    inset-inline-end: 0;
  }
}

._icon-button_1215g_8:not([aria-disabled="true"])[data-indicator]:is(:active)::before {
  /* Same colour as the background */
  border: var(--cpd-icon-button-indicator-border-size) solid
    var(--cpd-color-bg-subtle-primary);
  inset-block-start: 0;
  inset-inline-end: 0;
}

@media (hover) {
  ._icon-button_1215g_8:not([aria-disabled="true"])._destructive_1215g_95:hover {
    background: var(--cpd-color-bg-critical-subtle-hovered);
    outline: 1px solid var(--cpd-color-border-critical-subtle);
  }
}
  ._icon-button_1215g_8:not([aria-disabled="true"])._destructive_1215g_95 * {
    color: var(--cpd-color-icon-critical-primary);
  }
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/*
 * Note this is very closely coupled to the indicator mask SVG as this masks out
 * the icon behind to draw the 'stroke' around the indicator dot.
 *
 * The SVG is a 24x24px black square with a circle of radius 6 positioned
 * 4px above and to the right of the canvas. This is the size of the indicator
 * dot plus the stroke (dimensions calculated from the figma).
 */

._indicator-icon_147l5_17 {
  /* This is called 'button size' but the docs say 'icon size' */
  inline-size: var(--cpd-icon-button-size);
  block-size: var(--cpd-icon-button-size);
  aspect-ratio: 1 / 1;
  color: var(--cpd-color-icon-tertiary);
  position: relative;
}

._indicator-icon_147l5_17 svg {
  inline-size: 100%;
  block-size: 100%;
}

._indicator-icon_147l5_17[data-indicator] svg {
  -webkit-mask-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20fill='none'%20version='1.1'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m0%200v24h24v-16.359a6%206%200%200%201-2%200.35938%206%206%200%200%201-6-6%206%206%200%200%201%200.35938-2h-16.359z'%20fill='%23000'%20stroke-width='0'/%3e%3c/svg%3e");
          mask-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20fill='none'%20version='1.1'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m0%200v24h24v-16.359a6%206%200%200%201-2%200.35938%206%206%200%200%201-6-6%206%206%200%200%201%200.35938-2h-16.359z'%20fill='%23000'%20stroke-width='0'/%3e%3c/svg%3e");
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
          mask-size: 100%;
}

._indicator-icon_147l5_17[data-indicator]::before {
  content: "";
  position: absolute;

  /* The dot is 1/12th above & to the right of the canvas */
  inset-block-start: -8.3333%;
  inset-inline-end: -8.3333%;

  /* and is 1/3rd the size of the canvas */
  inline-size: 33.3333%;
  block-size: 33.333%;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;

  --background-color: var(--cpd-color-icon-primary);

  background-color: var(--background-color);
}

._indicator-icon_147l5_17[data-indicator="success"]::before {
  --background-color: var(--cpd-color-icon-success-primary);
}

._indicator-icon_147l5_17[data-indicator="critical"]::before {
  --background-color: var(--cpd-color-icon-critical-primary);
}

@media (forced-colors: active) {
  ._indicator-icon_147l5_17[data-indicator]::before {
    border: 1px solid var(--background-color);
  }
}
/*
Copyright 2023, 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._tooltip_1nqnq_8 {
  font: var(--cpd-font-body-xs-medium);
  padding: var(--cpd-space-1-5x) var(--cpd-space-3x);
  background: var(--cpd-color-alpha-gray-1400);
  color: var(--cpd-color-text-on-solid-primary);
  border-radius: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  cursor: pointer;
}

._tooltip_1nqnq_8._invisible_1nqnq_21 {
  /* Hide the tooltip in a way that allows it to act as an accessible label,
  even when invisible */
  clip-path: inset(50%);
  pointer-events: none;
}

._caption_1nqnq_28 {
  font-weight: var(--cpd-font-weight-regular);
  color: var(--cpd-color-text-secondary);
}

._arrow_1nqnq_33 {
  /* same color as the tooltip background */
  fill: var(--cpd-color-alpha-gray-1400);
}

@media (forced-colors: active) {
  ._tooltip_1nqnq_8:not(._invisible_1nqnq_21) {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/**
 * Font – Body – Extra Small
 */

._font-body-xs-regular_6v6n8_12 {
  letter-spacing: var(--cpd-font-letter-spacing-body-xs);
  font: var(--cpd-font-body-xs-regular);
}

._font-body-xs-semibold_6v6n8_17 {
  letter-spacing: var(--cpd-font-letter-spacing-body-xs);
  font: var(--cpd-font-body-xs-semibold);
}

._font-body-xs-medium_6v6n8_22 {
  letter-spacing: var(--cpd-font-letter-spacing-body-xs);
  font: var(--cpd-font-body-xs-medium);
}

/**
 * Font – Body – Small
 */

._font-body-sm-regular_6v6n8_31 {
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  font: var(--cpd-font-body-sm-regular);
}

._font-body-sm-semibold_6v6n8_36 {
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  font: var(--cpd-font-body-sm-semibold);
}

._font-body-sm-medium_6v6n8_41 {
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  font: var(--cpd-font-body-sm-medium);
}

/**
 * Font – Body – Medium
 */

._font-body-md-regular_6v6n8_50 {
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
  font: var(--cpd-font-body-md-regular);
}

._font-body-md-semibold_6v6n8_55 {
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
  font: var(--cpd-font-body-md-semibold);
}

._font-body-md-medium_6v6n8_60 {
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
  font: var(--cpd-font-body-md-medium);
}

/**
 * Font – Body – Large
 */

._font-body-lg-regular_6v6n8_69 {
  letter-spacing: var(--cpd-font-letter-spacing-body-lg);
  font: var(--cpd-font-body-lg-regular);
}

._font-body-lg-semibold_6v6n8_74 {
  letter-spacing: var(--cpd-font-letter-spacing-body-lg);
  font: var(--cpd-font-body-lg-semibold);
}

._font-body-lg-medium_6v6n8_79 {
  letter-spacing: var(--cpd-font-letter-spacing-body-lg);
  font: var(--cpd-font-body-lg-medium);
}

/**
 * Font – Heading – Small
 */

._font-heading-sm-regular_6v6n8_88 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-sm);
  font: var(--cpd-font-heading-sm-regular);
}

._font-heading-sm-semibold_6v6n8_93 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-sm);
  font: var(--cpd-font-heading-sm-semibold);
}

._font-heading-sm-medium_6v6n8_98 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-sm);
  font: var(--cpd-font-heading-sm-medium);
}

/**
 * Font – Heading – Medium
 */

._font-heading-md-regular_6v6n8_107 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-md);
  font: var(--cpd-font-heading-md-regular);
}

._font-heading-md-semibold_6v6n8_112 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-md);
  font: var(--cpd-font-heading-md-semibold);
}

/**
 * Font – Heading – Large
 */

._font-heading-lg-regular_6v6n8_121 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
  font: var(--cpd-font-heading-lg-regular);
}

._font-heading-lg-semibold_6v6n8_126 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-lg);
  font: var(--cpd-font-heading-lg-semibold);
}

/**
 * Font – Heading – Extra Large
 */

._font-heading-xl-regular_6v6n8_135 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-xl);
  font: var(--cpd-font-heading-xl-regular);
}

._font-heading-xl-semibold_6v6n8_140 {
  letter-spacing: var(--cpd-font-letter-spacing-heading-xl);
  font: var(--cpd-font-heading-xl-semibold);
}

/**
  * Reset font-feature-settings after letter-spacing has been tweaked.
  * We want to apply Inter Dynamic metrics (https://rsms.me/inter/dynmetrics/)
  * We need to tweak the `letter-spacing` property and doing so, disables by
  * default the optional ligatures
  * `font-feature-settings` allows us to override this behaviour and have the
  * correct ligatures and the proper dynamic metric spacing.
  */
._typography_6v6n8_153 {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
          font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  -webkit-font-feature-settings: var(--cpd-font-feature-settings);
          font-feature-settings: var(--cpd-font-feature-settings);
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._avatar_va14e_8 {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;

  /* -2px to account for the border styling below */
  line-height: calc(var(--cpd-avatar-size) - 2px);
  text-align: center;
  font-size: min(calc(var(--cpd-avatar-size) * 0.5625), 60px);
  text-transform: uppercase;
  speak: none; /* stylelint-disable-line declaration-property-value-no-unknown */
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Twemoji",
        "Apple Color Emoji", "Segoe UI Emoji", Arial, sans-serif;
  font-family: var(--cpd-font-family-sans);
  font-weight: bold;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; /* stylelint-disable-line defensive-css/no-user-select-none */

  /* Set a background color to help with visual consistency when displaying
   * avatars with a translucent background */
  background: var(--cpd-color-bg-canvas-default);
}

button._avatar_va14e_8 {
  /**
   * The avatar can be a button element, we need to reset its style
   */
  padding: 0;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

button._avatar_va14e_8:disabled {
  cursor: not-allowed;
}

._avatar_va14e_8,
._image_va14e_43 {
  aspect-ratio: 1 / 1;
  inline-size: var(--cpd-avatar-size);
  border-radius: var(--cpd-avatar-radius);
}

._image_va14e_43 {
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
}

/* Additional selector for button to raise selector above button.avatar */
button._avatar-imageless_va14e_55,
._avatar-imageless_va14e_55 {
  /* In the future we'd prefer to pass the HEX code as the data attr
     and use `attr(data-color)` to avoid the style declaration from below
     but this is currently not supported in all browsers */
  background: var(--cpd-avatar-bg);
  color: var(--cpd-avatar-color);

  /* Additional style to ensure visibility in contrast-mode */
  border: 1px solid var(--cpd-avatar-bg);
}

._avatar_va14e_8[data-color] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-1);
  --cpd-avatar-color: var(--cpd-color-text-decorative-1);
}

._avatar_va14e_8[data-color="2"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-2);
  --cpd-avatar-color: var(--cpd-color-text-decorative-2);
}

._avatar_va14e_8[data-color="3"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-3);
  --cpd-avatar-color: var(--cpd-color-text-decorative-3);
}

._avatar_va14e_8[data-color="4"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-4);
  --cpd-avatar-color: var(--cpd-color-text-decorative-4);
}

._avatar_va14e_8[data-color="5"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-5);
  --cpd-avatar-color: var(--cpd-color-text-decorative-5);
}

._avatar_va14e_8[data-color="6"] {
  --cpd-avatar-bg: var(--cpd-color-bg-decorative-6);
  --cpd-avatar-color: var(--cpd-color-text-decorative-6);
}

._avatar_va14e_8[data-type="round"] {
  --cpd-avatar-radius: 50%;
}

._avatar_va14e_8[data-type="square"] {
  --cpd-avatar-radius: 25%;
}

/**
 * Stacked avatars 
 */

._stacked-avatars_va14e_109::after {
  content: "";
  display: table;
  clear: both;
}

._stacked-avatars_va14e_109 ._avatar_va14e_8 {
  float: inline-start;
}

._stacked-avatars_va14e_109 ._avatar_va14e_8:not(:last-child) {
  /* injected in the document from AvatarStack.tsx */
  clip-path: url("#cpdAvatarClip");
}

._stacked-avatars_va14e_109 > *:not(:first-child) {
  -webkit-margin-start: calc(var(--cpd-avatar-size) * -0.4);
          margin-inline-start: calc(var(--cpd-avatar-size) * -0.4);
}

._clip-path_va14e_128 {
  /* In theory the SVG is invisible, but we still need to ensure it doesn't
  affect the page's layout or otherwise make an appearance */
  position: fixed;
  inset-inline-start: -9999px;
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._badge_10dml_8 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: var(--cpd-space-1x);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 9999px; /* pill effect */
  padding: var(--cpd-space-1x) var(--cpd-space-3x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-block-size: 28px;
}

._has-icon_10dml_18 {
  -webkit-padding-start: var(--cpd-space-2x);
          padding-inline-start: var(--cpd-space-2x);
}

._badge_10dml_8[data-kind="default"] {
  border: 1px solid var(--cpd-color-border-interactive-secondary);

  /* To keep the same height than the other badges despite the border  */
  padding-block: calc(var(--cpd-space-1x) - 1px);
  outline: none;
  color: #ffffff;
  color: var(--cpd-color-text-primary);
}

  ._badge_10dml_8[data-kind="default"] svg {
    color: var(--cpd-color-icon-primary);
  }

._badge_10dml_8[data-kind="grey"] {
  background: var(--cpd-color-bg-badge-secondary);
  color: #ffffff;
  color: var(--cpd-color-text-primary);
}

  ._badge_10dml_8[data-kind="grey"] svg {
    color: var(--cpd-color-icon-primary);
  }

._badge_10dml_8[data-kind="on-solid"] {
  background: var(--cpd-color-bg-badge-primary);
  color: var(--cpd-color-text-on-solid-primary);
}

  ._badge_10dml_8[data-kind="on-solid"] svg {
    color: var(--cpd-color-icon-on-solid-primary);
  }

._badge_10dml_8[data-kind="blue"] {
  background: var(--cpd-color-bg-badge-info);
  color: var(--cpd-color-text-badge-info);
}

  ._badge_10dml_8[data-kind="blue"] svg {
    color: var(--cpd-color-icon-info-primary);
  }

._badge_10dml_8[data-kind="green"] {
  background: var(--cpd-color-bg-badge-accent);
  color: var(--cpd-color-text-badge-accent);
}

  ._badge_10dml_8[data-kind="green"] svg {
    color: var(--cpd-color-icon-accent-primary);
  }

._badge_10dml_8[data-kind="red"] {
  background: var(--cpd-color-bg-badge-critical);
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

  ._badge_10dml_8[data-kind="red"] svg {
    color: var(--cpd-color-icon-critical-primary);
  }

@media (forced-colors: active) {
  ._badge_10dml_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._breadcrumb_t96w3_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  block-size: 40px;
  gap: var(--cpd-space-3x);
  -webkit-padding-after: var(--cpd-space-3x);
          padding-block-end: var(--cpd-space-3x);
  -webkit-border-after: 1px solid var(--cpd-color-alpha-gray-400);
          border-block-end: 1px solid var(--cpd-color-alpha-gray-400);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

  ._breadcrumb_t96w3_8 ._pages_t96w3_17 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-1x);

    /* override list styles */
    list-style-type: "";
    margin: 0;
    padding: 0;
  }

    ._breadcrumb_t96w3_8 ._pages_t96w3_17 a {
      cursor: pointer;
    }

    ._breadcrumb_t96w3_8 ._pages_t96w3_17 ._last-page_t96w3_30 {
      font: var(--cpd-font-body-sm-regular);
      color: var(--cpd-color-text-secondary);
    }

    /*
     * Breadcrumb separator
     * We want this separator to be only visual and to not be in the accessibility tree.
     * The nav html element already provides an accessible way to separate the links.
     */
    ._breadcrumb_t96w3_8 ._pages_t96w3_17 li + li::before {
      display: inline-block;
      margin: 0 0.3em 0 0.25em;
      -webkit-transform: rotate(15deg);
              transform: rotate(15deg);
      -webkit-border-end: 1px solid var(--cpd-color-text-secondary);
              border-inline-end: 1px solid var(--cpd-color-text-secondary);
      block-size: var(--cpd-space-3x);
      content: "";
    }

    /* Last page */
      ._breadcrumb_t96w3_8 ._pages_t96w3_17 :last-child span {
        -webkit-padding-start: var(--cpd-space-1x);
                padding-inline-start: var(--cpd-space-1x);
      }
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._link_k9ljz_8 {
  display: inline-block;
  text-decoration: underline;
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  font-weight: var(--cpd-font-weight-medium);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  padding-inline: 0.25rem;
}

._link_k9ljz_8[data-kind="primary"] {
  color: #ffffff;
  color: var(--cpd-color-text-primary);
}

._link_k9ljz_8[data-kind="critical"] {
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

@media (hover) {
  ._link_k9ljz_8[data-kind="primary"]:hover {
    background: #182533;
    background: var(--cpd-color-gray-300);
  }

  ._link_k9ljz_8[data-kind="critical"]:hover {
    background: var(--cpd-color-red-300);
  }
}

._link_k9ljz_8:active {
  color: var(--cpd-color-text-on-solid-primary);
}

._link_k9ljz_8[data-kind="primary"]:active {
  background: #ffffff;
  background: var(--cpd-color-text-primary);
}

._link_k9ljz_8[data-kind="critical"]:active {
  background: #e0454b;
  background: var(--cpd-color-text-critical-primary);
}

._link_k9ljz_8[data-size="md"] {
  font-size: var(--cpd-font-size-body-md);
}

._link_k9ljz_8[data-size="sm"] {
  font-size: var(--cpd-font-size-body-sm);
}
/*
Copyright 2023, 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._button_1nw83_8 {
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  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;
  gap: var(--cpd-space-2x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font: var(--cpd-font-body-md-semibold);
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  -webkit-transition-property: color, background-color, border-color;
  transition-property: color, background-color, border-color;
}

a._button_1nw83_8 {
  /* Make the width match that of a real button */
  inline-size: -webkit-max-content;
  inline-size: -moz-max-content;
  inline-size: max-content;

  /* Buttons should not be underlined */
  text-decoration: none;
}

._button_1nw83_8 > svg {
  -webkit-transition: color 0.1s;
  transition: color 0.1s;
}

._button_1nw83_8[aria-disabled="true"] {
  cursor: not-allowed;
  pointer-events: all !important;
  color: var(--cpd-color-text-disabled) !important;
}

._button_1nw83_8[aria-disabled="true"] > svg {
  color: var(--cpd-color-icon-disabled) !important;
}

/**
 * SIZES
 */

._button_1nw83_8[data-size="lg"] {
  padding-block: var(--cpd-space-2x);
  padding-inline: var(--cpd-space-8x);
  min-block-size: var(--cpd-space-12x);
}

  ._button_1nw83_8[data-size="lg"]._icon-only_1nw83_53 {
    padding-inline: var(--cpd-space-2x);
    block-size: var(--cpd-space-12x);
    inline-size: var(--cpd-space-12x);
  }

._button_1nw83_8[data-size="lg"]._has-icon_1nw83_60:not(._icon-only_1nw83_53) {
  -webkit-padding-start: var(--cpd-space-7x);
          padding-inline-start: var(--cpd-space-7x);
}

._button_1nw83_8[data-size="md"] {
  padding-block: var(--cpd-space-1x);
  padding-inline: var(--cpd-space-5x);
  min-block-size: var(--cpd-space-9x);
}

  ._button_1nw83_8[data-size="md"]._icon-only_1nw83_53 {
    padding-inline: var(--cpd-space-1x);
    block-size: var(--cpd-space-9x);
    inline-size: var(--cpd-space-9x);
  }

._button_1nw83_8[data-size="md"]._has-icon_1nw83_60:not(._icon-only_1nw83_53) {
  -webkit-padding-start: var(--cpd-space-4x);
          padding-inline-start: var(--cpd-space-4x);
}

/**
 * KINDS
 */

._button_1nw83_8[data-kind="primary"] {
  color: var(--cpd-color-text-on-solid-primary);
  background: #2e80de;
  background: var(--cpd-color-bg-action-primary-rest);
  border-width: 0;
}

._button_1nw83_8[data-kind="primary"] > svg {
  color: var(--cpd-color-icon-on-solid-primary);
}

@media (hover) {
  ._button_1nw83_8[data-kind="primary"]:hover {
    background: #3a8fe6;
    background: var(--cpd-color-bg-action-primary-hovered);
  }
}

._button_1nw83_8[data-kind="primary"]:active,
._button_1nw83_8[data-kind="primary"][aria-expanded="true"] {
  background: #175fb0;
  background: var(--cpd-color-bg-action-primary-pressed);
}

._button_1nw83_8[data-kind="primary"][aria-disabled="true"] {
  /* !important to override destructive background */
  background: var(--cpd-color-bg-subtle-primary) !important;
}

._button_1nw83_8[data-kind="primary"]._destructive_1nw83_110 {
  background: var(--cpd-color-bg-critical-primary);
}

@media (hover) {
  ._button_1nw83_8[data-kind="primary"]._destructive_1nw83_110:hover {
    background: var(--cpd-color-bg-critical-hovered);
  }
}

._button_1nw83_8[data-kind="primary"]._destructive_1nw83_110:active,
._button_1nw83_8[data-kind="primary"]._destructive_1nw83_110[aria-expanded="true"] {
  /* TODO: We're waiting for this value to be formalized as a semantic token */
  background: var(--cpd-color-red-1100);
}

._button_1nw83_8[data-kind="secondary"] {
  border: 1px solid var(--cpd-color-border-interactive-secondary);
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  background: var(--cpd-color-bg-canvas-default);
}

._button_1nw83_8[data-kind="secondary"] > svg {
  color: var(--cpd-color-icon-primary);
}

@media (hover) {
  ._button_1nw83_8[data-kind="secondary"]:hover {
    border-color: var(--cpd-color-border-interactive-hovered);
    background: var(--cpd-color-bg-subtle-secondary);
  }
}

._button_1nw83_8[data-kind="secondary"]:active,
._button_1nw83_8[data-kind="secondary"][aria-expanded="true"] {
  border-color: var(--cpd-color-border-interactive-hovered);
  background: var(--cpd-color-bg-subtle-primary);
}

._button_1nw83_8[data-kind="secondary"][aria-disabled="true"] {
  /* !important to override destructive values */
  border-color: var(--cpd-color-border-interactive-secondary) !important;
  background: var(--cpd-color-bg-subtle-secondary) !important;
}

._button_1nw83_8[data-kind="secondary"]._destructive_1nw83_110 {
  border-color: var(--cpd-color-border-critical-subtle);
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

._button_1nw83_8[data-kind="secondary"]._destructive_1nw83_110 > svg {
  color: var(--cpd-color-icon-critical-primary);
}

@media (hover) {
  ._button_1nw83_8[data-kind="secondary"]._destructive_1nw83_110:hover {
    border-color: var(--cpd-color-border-critical-hovered);
    background: var(--cpd-color-bg-critical-subtle);
  }
}

._button_1nw83_8[data-kind="secondary"]._destructive_1nw83_110:active,
._button_1nw83_8[data-kind="secondary"]._destructive_1nw83_110[aria-expanded="true"] {
  border-color: var(--cpd-color-border-critical-hovered);
  background: var(--cpd-color-bg-critical-subtle-hovered);
}

._button_1nw83_8[data-kind="tertiary"] {
  border: none;
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  text-decoration: underline;
  background: transparent;
}

@media (hover) {
  ._button_1nw83_8[data-kind="tertiary"]:hover {
    background: var(--cpd-color-bg-subtle-secondary);
  }
}

._button_1nw83_8[data-kind="tertiary"]:active,
._button_1nw83_8[data-kind="tertiary"][aria-expanded="true"] {
  background: var(--cpd-color-bg-subtle-primary);
}

._button_1nw83_8[data-kind="tertiary"][aria-disabled="true"] {
  color: var(--cpd-color-text-disabled);

  /* !important to override destructive background */
  background: transparent !important;
}

._button_1nw83_8[data-kind="tertiary"]._destructive_1nw83_110 {
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

@media (hover) {
  ._button_1nw83_8[data-kind="tertiary"]._destructive_1nw83_110:hover {
    background: var(--cpd-color-bg-critical-subtle);
  }
}

._button_1nw83_8[data-kind="tertiary"]._destructive_1nw83_110:active,
._button_1nw83_8[data-kind="tertiary"]._destructive_1nw83_110[aria-expanded="true"] {
  background: var(--cpd-color-bg-critical-subtle-hovered);
}

@media (forced-colors: active) {
  ._button_1nw83_8[data-kind="primary"] {
    outline: 1px solid transparent;
  }
}
/*
 * Copyright 2025 New Vector Ltd
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._chat-filter_5qdp0_8 {
  font: var(--cpd-font-body-sm-medium);
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  background-color: transparent;
  border: var(--cpd-border-width-1) solid
    var(--cpd-color-border-interactive-secondary);
  border-radius: 99px;
  cursor: pointer;
  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;
  padding: var(--cpd-space-1x) var(--cpd-space-2x);
}

@media (hover) {
  ._chat-filter_5qdp0_8:hover {
    border-color: var(--cpd-color-border-interactive-primary);
    background: var(--cpd-color-bg-subtle-primary);
  }
}

._chat-filter_5qdp0_8[aria-selected="true"] {
  border-color: #2e80de;
  border-color: var(--cpd-color-bg-action-primary-rest);
  background: #2e80de;
  background: var(--cpd-color-bg-action-primary-rest);
  color: var(--cpd-color-text-on-solid-primary);
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_z8zo1_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

  ._container_z8zo1_8 label {
    font: var(--cpd-font-body-md-medium);
    -webkit-margin-after: var(--cpd-space-1x);
            margin-block-end: var(--cpd-space-1x);
  }

  ._container_z8zo1_8 button {
    inline-size: 100%;
    border: 1px solid var(--cpd-color-border-interactive-primary);
    background: var(--cpd-color-bg-canvas-default);
    border-radius: 0.5rem;
    padding: var(--cpd-space-3x) var(--cpd-space-3x) var(--cpd-space-3x)
      var(--cpd-space-4x);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    font: var(--cpd-font-body-md-regular);
    cursor: pointer;
    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;
    gap: var(--cpd-space-4x);
  }
      @media (prefers-reduced-motion: no-preference) {

    ._container_z8zo1_8 button svg {
        -webkit-transition: -webkit-transform 0.1s linear;
        transition: -webkit-transform 0.1s linear;
        transition: transform 0.1s linear;
        transition: transform 0.1s linear, -webkit-transform 0.1s linear
    }
      }

  /**
   * When the dropdown is open, rotate the arrow icon
   */
    ._container_z8zo1_8 button[aria-expanded="true"] svg {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
    }

  ._container_z8zo1_8 button._placeholder_z8zo1_49 {
    color: var(--cpd-color-text-secondary);
  }

  ._container_z8zo1_8 ._border_z8zo1_53 {
    display: none;
    -webkit-border-start: 1px solid var(--cpd-color-border-interactive-secondary);
            border-inline-start: 1px solid var(--cpd-color-border-interactive-secondary);
    -webkit-border-end: 1px solid var(--cpd-color-border-interactive-secondary);
            border-inline-end: 1px solid var(--cpd-color-border-interactive-secondary);
    block-size: var(--cpd-space-1x);
    -webkit-margin-before: calc(var(--cpd-space-1x) * -1);
            margin-block-start: calc(var(--cpd-space-1x) * -1);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }

  ._container_z8zo1_8 ._content_z8zo1_62 {
    display: none;
    position: relative;
  }

    ._container_z8zo1_8 ._content_z8zo1_62 ul {
      /**
       * To make the component going over the other elements
       */
      position: absolute;
      display: block;
      inline-size: 100%;
      background: var(--cpd-color-bg-canvas-default);
      border: 1px solid var(--cpd-color-border-interactive-secondary);
      -webkit-border-before: 0;
              border-block-start: 0;
      border-end-start-radius: var(--cpd-space-4x);
      border-end-end-radius: var(--cpd-space-4x);
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      -webkit-box-shadow: 0 4px 24px 0 rgb(27 29 34 / 10%);
              box-shadow: 0 4px 24px 0 rgb(27 29 34 / 10%);
      margin: 0;
      padding: 0;
      -webkit-padding-after: var(--cpd-space-4x);
              padding-block-end: var(--cpd-space-4x);
      cursor: pointer;
    }

      ._container_z8zo1_8 ._content_z8zo1_62 ul li {
        list-style-type: "";
        font: var(--cpd-font-body-md-medium);
        padding: var(--cpd-space-3x) var(--cpd-space-4x);
        -webkit-border-after: 1px solid #182533;
                border-block-end: 1px solid #182533;
        -webkit-border-after: 1px solid var(--cpd-color-gray-300);
                border-block-end: 1px solid var(--cpd-color-gray-300);
        color: var(--cpd-color-text-secondary);
        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;
        gap: var(--cpd-space-4x);
      }

        @media (hover) {
          ._container_z8zo1_8 ._content_z8zo1_62 ul li:hover {
            background: var(--cpd-color-gray-200);
          }
        }

        ._container_z8zo1_8 ._content_z8zo1_62 ul li[aria-selected="true"] {
          color: #ffffff;
          color: var(--cpd-color-text-primary);
          background: #182533;
          background: var(--cpd-color-gray-300);
        }

  ._container_z8zo1_8 ._open_z8zo1_110 {
    display: block;
  }

  ._container_z8zo1_8 ._help_z8zo1_114 {
    font: var(--cpd-font-body-sm-regular);
    color: var(--cpd-color-text-secondary);
  }

  ._container_z8zo1_8 ._error_z8zo1_119 {
    font: var(--cpd-font-body-sm-medium);
    color: #e0454b;
    color: var(--cpd-color-text-critical-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--cpd-space-2x);
  }

  ._container_z8zo1_8 ._error_z8zo1_119,
  ._container_z8zo1_8 ._help_z8zo1_114 {
    -webkit-margin-before: var(--cpd-space-2x);
            margin-block-start: var(--cpd-space-2x);
  }
    ._container_z8zo1_8[aria-invalid="true"] label {
      color: #e0454b;
      color: var(--cpd-color-text-critical-primary);
    }

    ._container_z8zo1_8[aria-invalid="true"] button {
      border-color: #e0454b;
      border-color: var(--cpd-color-text-critical-primary);
    }
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_1s836_8 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
}

._control_1s836_13 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-padding-end: var(--cpd-space-12x) !important;
          padding-inline-end: var(--cpd-space-12x) !important;

  /* From the flexbox spec:
   *   "By default, flex items won’t shrink below their minimum content size"
   * This allows the element to shrink lower than its natural default size.
   */
  min-inline-size: 0;
}

._action_1s836_24 {
  all: unset;
  color: var(--cpd-color-icon-secondary);
  background-color: transparent;
  cursor: pointer;
  position: absolute;
  inset-block: var(--cpd-space-2x);
  inset-inline-end: var(--cpd-space-2x);
  padding: var(--cpd-space-1x);
  overflow: visible;
  border-radius: 50%;
}

._action_1s836_24 > svg {
  inline-size: var(--cpd-space-6x);
  block-size: var(--cpd-space-6x);
}

@media (hover) {
  ._action_1s836_24:hover {
    color: var(--cpd-color-icon-primary);
    background-color: var(--cpd-color-bg-subtle-secondary);
  }
}

._action_1s836_24:focus-visible {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

._control_1s836_13[disabled] + ._action_1s836_24 {
  pointer-events: none;
  color: var(--cpd-color-text-disabled);
}

._control_1s836_13[readonly] + ._action_1s836_24 {
  pointer-events: none;
  color: var(--cpd-color-text-secondary);
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._control_d83jn_10 {
  border: 1px solid var(--cpd-color-border-interactive-primary);
  background: var(--cpd-color-bg-canvas-default);
  border-radius: 0.5rem;
  padding: var(--cpd-space-3x) var(--cpd-space-4x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;

  /**
  * Disable contextual alternate ligatures in inputs
  * https://github.com/rsms/inter/issues/222
  * https://github.com/rsms/inter/blob/master/src/features/calt.fea
  */
  -webkit-font-feature-settings: "calt" 0;
          font-feature-settings: "calt" 0;
}

@media (hover) {
  ._control_d83jn_10:hover {
    border-color: var(--cpd-color-border-interactive-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }
}

._control_d83jn_10:active {
  border-color: var(--cpd-color-border-interactive-hovered);
}

/* stylelint-disable-next-line defensive-css/require-focus-visible */
._control_d83jn_10:focus {
  outline: 2px solid var(--cpd-color-border-focused);
  border-color: transparent;
}

._control_d83jn_10[data-invalid] {
  border-color: #e0454b;
  border-color: var(--cpd-color-text-critical-primary);
}

._control_d83jn_10:disabled {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-canvas-disabled);
  border-color: var(--cpd-color-border-disabled);
  color: var(--cpd-color-text-disabled);
  cursor: not-allowed;
}

._control_d83jn_10[readonly] {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-subtle-secondary);
  border-color: var(--cpd-color-bg-subtle-secondary);
  color: var(--cpd-color-text-secondary);
}

._control_d83jn_10._enable-ligatures_d83jn_63 {
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
          font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  -webkit-font-feature-settings: var(--cpd-font-feature-settings);
          font-feature-settings: var(--cpd-font-feature-settings);
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_153f2_10 {
  --size: 20px;

  display: grid;
  inline-size: 20px;
  inline-size: var(--size);
  block-size: 20px;
  block-size: var(--size);
}

._input_153f2_18,
._ui_153f2_19 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  grid-area: 1/1;
  inline-size: var(--size);
  block-size: var(--size);
}

._input_153f2_18 {
  opacity: 0;
  margin: 0;
  cursor: pointer;
}

._ui_153f2_19 {
  pointer-events: none;
  border-radius: 4px; /* TODO: Ought to be a token */
  border: 1px solid;
  border-color: var(--cpd-color-border-interactive-primary);
}

._ui_153f2_19 svg {
  inline-size: var(--size);
  block-size: var(--size);

  /* compensate for the parent border */
  margin: -1px;

  /** Default, rest state */
  color: transparent;
}

._input_153f2_18:checked + ._ui_153f2_19 {
  background-color: var(--cpd-color-bg-accent-rest);
  border-color: var(--cpd-color-bg-accent-rest);
}

._input_153f2_18:checked + ._ui_153f2_19 svg {
  color: var(--cpd-color-icon-on-solid-primary);
}

._input_153f2_18:focus-visible + ._ui_153f2_19 {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

._input_153f2_18[disabled] {
  cursor: not-allowed;
}

._input_153f2_18[disabled] + ._ui_153f2_19 {
  border-color: var(--cpd-color-border-disabled);
  background: var(--cpd-color-bg-canvas-disabled);
}

._input_153f2_18[readonly] {
  pointer-events: none;
}

._input_153f2_18[readonly] + ._ui_153f2_19 {
  border-color: var(--cpd-color-border-interactive-secondary);
  background: var(--cpd-color-bg-subtle-secondary);
}

._input_153f2_18[disabled]:checked + ._ui_153f2_19 {
  border-color: var(--cpd-color-bg-action-primary-disabled);
  background: var(--cpd-color-bg-action-primary-disabled);
}

._input_153f2_18[readonly]:checked + ._ui_153f2_19 svg {
  color: var(--cpd-color-icon-secondary);
}

@media (hover) {
  ._input_153f2_18:not([disabled], [readonly], :checked):hover + ._ui_153f2_19 {
    border-color: var(--cpd-color-bg-accent-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }

  ._input_153f2_18:not([disabled], [readonly], :checked):hover + ._ui_153f2_19 svg {
    color: var(--cpd-color-icon-quaternary);
  }

  ._input_153f2_18:not([disabled], [readonly]):checked:hover + ._ui_153f2_19 {
    border-color: var(--cpd-color-bg-accent-hovered);
    background: var(--cpd-color-bg-accent-hovered);
  }

  ._input_153f2_18[data-invalid]:not([disabled], [readonly]):checked:hover + ._ui_153f2_19 {
    border-color: var(--cpd-color-bg-critical-hovered);
    background: var(--cpd-color-bg-critical-hovered);
  }
}

._input_153f2_18[data-invalid]:not([disabled], :checked, [readonly]) + ._ui_153f2_19 {
  border-color: var(--cpd-color-border-critical-primary);
}

._input_153f2_18[data-invalid]:not([disabled], [readonly]):checked + ._ui_153f2_19 {
  background-color: var(--cpd-color-bg-critical-primary);
  border-color: var(--cpd-color-bg-critical-primary);
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._controls_17lij_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}

  ._controls_17lij_8 > input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-inline-size: 0;
  }

._button-group_17lij_18 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  inset-block-start: var(--cpd-space-1x);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--cpd-space-2x);
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

/* Styling the Radix UI Form component */

/**
 * ROOT: Form Element
 */

._root_19upo_16 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-5x);
}

/**
 * FIELD: Wrapper around label, control and message
 */

._field_19upo_26 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-1x);
}

._inline-field_19upo_32 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--cpd-space-2x);
}

._inline-field-body_19upo_38 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

._inline-field-control_19upo_44 {
  /* The control should have the same height as the label */
  block-size: calc(
    var(--cpd-font-size-body-md) * var(--cpd-font-line-height-regular)
  );

  /* Align the control in the middle of the label */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/**
 * LABEL
 */

._label_19upo_59 {
  font: var(--cpd-font-body-md-medium);
  letter-spacing: var(--cpd-font-letter-spacing-body-md);
}

._label_19upo_59[for] {
  cursor: pointer;
}

._label_19upo_59[data-invalid] {
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

/* Currently working everywhere but on Firefox (only behind a labs flag)
https://developer.mozilla.org/en-US/docs/Web/CSS/:has#browser_compatibility */
._label_19upo_59:has(~ * input[disabled]),
._label_19upo_59:has(~ input[disabled]),
._inline-field-control_19upo_44:has(input[disabled]) ~ ._inline-field-body_19upo_38 ._label_19upo_59 {
  color: var(--cpd-color-text-disabled);
  cursor: not-allowed;
}

/**
 * Help and error messages
 */

._message_19upo_85 {
  font: var(--cpd-font-body-sm-regular);
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  -webkit-margin-before: var(--cpd-space-1x);
          margin-block-start: var(--cpd-space-1x);
}

._help-message_19upo_91 {
  color: var(--cpd-color-text-secondary);
}

._error-message_19upo_95 {
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

._success-message_19upo_99 {
  color: #3ecf8e;
  color: var(--cpd-color-text-success-primary);
}

/* Currently working everywhere but on Firefox (only behind a labs flag)
https://developer.mozilla.org/en-US/docs/Web/CSS/:has#browser_compatibility */
input[disabled] ~ ._message_19upo_85,
*:has(input[disabled]) ~ ._message_19upo_85,
._inline-field-control_19upo_44:has(input[disabled]) ~ ._inline-field-body_19upo_38 ._message_19upo_85 {
  color: var(--cpd-color-text-disabled);
}

._message_19upo_85 > svg {
  display: inline-block;
  vertical-align: bottom;
  -webkit-margin-end: var(--cpd-space-2x);
          margin-inline-end: var(--cpd-space-2x);

  /* Calculate the size of the icon based on the font size and line height */
  block-size: calc(1em * var(--cpd-font-line-height-regular));
  inline-size: calc(1em * var(--cpd-font-line-height-regular));
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

@-webkit-keyframes _spin_1855a_1 {
  from {
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }

  to {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}

@keyframes _spin_1855a_1 {
  from {
    -webkit-transform: rotateZ(0deg);
            transform: rotateZ(0deg);
  }

  to {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg);
  }
}

._icon_1855a_18 {
  color: var(--cpd-color-icon-secondary);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  inline-size: 100%;
  block-size: 100%;
}

  @media (prefers-reduced-motion: no-preference) {

._icon_1855a_18 {
    -webkit-animation: 1s linear _spin_1855a_1 infinite;
            animation: 1s linear _spin_1855a_1 infinite
}
  }
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_17qhw_10 {
  --gap: var(--cpd-space-3x);
  --digit-size: var(--cpd-space-10x);
  --digit-height: var(--cpd-space-12x);

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: var(--gap);

  /* The input is positioned absolutely
     so the container needs to be positioned relatively */
  position: relative;
}

._control_17qhw_25 {
  all: unset;

  /** TODO: semantic token */
  font-family: var(--cpd-font-family-mono), ui-monospace, monospace;
  font-weight: 700;

  /* Position the input to fill the container */
  position: absolute;
  inset: 0;

  /* Spacing between digits is set to the gap
     plus the size of one digit box
     minus the size of one character */
  letter-spacing: calc(var(--gap) + var(--digit-size) - 1ch);
  line-height: var(--digit-height);

  /* The padding at the start positions the first digit at the middle of the digit box */
  -webkit-padding-start: calc(var(--cpd-space-10x) / 2 - (1ch / 2));
          padding-inline-start: calc(var(--cpd-space-10x) / 2 - (1ch / 2));

  /* The negative margin at the end is to keep space for the cursor when the input is full */
  -webkit-margin-end: calc(-1 * (var(--cpd-space-10x) + var(--cpd-space-3x)));
          margin-inline-end: calc(-1 * (var(--cpd-space-10x) + var(--cpd-space-3x)));
}

._digit_17qhw_49 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  inline-size: var(--cpd-space-10x);
  block-size: var(--cpd-space-12x);
  border: 1px solid var(--cpd-color-border-interactive-primary);
  background: var(--cpd-color-bg-canvas-default);
  border-radius: 0.5rem;
  padding: var(--cpd-space-3x) var(--cpd-space-4x);
}

@media (hover) {
  ._control_17qhw_25:hover ~ ._digit_17qhw_49 {
    border-color: var(--cpd-color-border-interactive-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }
}

._control_17qhw_25:disabled {
  color: var(--cpd-color-text-disabled);
  cursor: not-allowed;
}

._control_17qhw_25:disabled ~ ._digit_17qhw_49 {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-canvas-disabled);
  border-color: var(--cpd-color-border-disabled);
}

._control_17qhw_25[readonly] {
  color: var(--cpd-color-text-secondary);
}

._control_17qhw_25[readonly] ~ ._digit_17qhw_49 {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: var(--cpd-color-bg-subtle-secondary);
  border-color: var(--cpd-color-bg-subtle-secondary);
}

._control_17qhw_25[data-invalid] ~ ._digit_17qhw_49 {
  border-color: #e0454b;
  border-color: var(--cpd-color-text-critical-primary);
}

/* stylelint-disable-next-line defensive-css/require-focus-visible */
._control_17qhw_25:focus ~ ._digit_17qhw_49:not([data-filled]) {
  outline: 2px solid var(--cpd-color-border-focused);
  border-color: transparent;
}

._digit_17qhw_49[data-selected] {
  border-color: var(--cpd-color-border-focused);
  background-color: var(--cpd-color-bg-info-subtle);
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_1ug7n_10 {
  --size: 20px;

  display: grid;
  inline-size: 20px;
  inline-size: var(--size);
  block-size: 20px;
  block-size: var(--size);
}

._input_1ug7n_18,
._ui_1ug7n_19 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  grid-area: 1/1;
  inline-size: var(--size);
  block-size: var(--size);
}

._input_1ug7n_18 {
  opacity: 0;
  margin: 0;
  cursor: pointer;
}

._ui_1ug7n_19 {
  pointer-events: none;
  border-radius: 50%;
  border: 1px solid;
  border-color: var(--cpd-color-border-interactive-primary);

  /* To align the ::after pseudo-element to the center of the radio button */
  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;
}

._ui_1ug7n_19::after {
  content: "";
  inline-size: 6px;
  block-size: 6px;
  border-radius: 50%;
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;

  /* Additional style to ensure visibility in contrast-mode */
  border: 1px solid transparent;
  color: transparent;
}

._input_1ug7n_18:checked + ._ui_1ug7n_19 {
  background-color: var(--cpd-color-bg-accent-rest);
  border-color: var(--cpd-color-bg-accent-rest);
  color: inherit;
}

._input_1ug7n_18:checked + ._ui_1ug7n_19::after {
  background: var(--cpd-color-icon-on-solid-primary);
  border-color: var(--cpd-color-icon-on-solid-primary);
  color: inherit;
}

._input_1ug7n_18:focus-visible + ._ui_1ug7n_19 {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

._input_1ug7n_18[readonly] {
  pointer-events: none;
}

._input_1ug7n_18[readonly] + ._ui_1ug7n_19 {
  border-color: var(--cpd-color-border-interactive-secondary);
  background: var(--cpd-color-bg-subtle-secondary);
}

._input_1ug7n_18[disabled] {
  cursor: not-allowed;
}

._input_1ug7n_18[disabled] + ._ui_1ug7n_19 {
  border-color: var(--cpd-color-border-disabled);
  background: var(--cpd-color-bg-canvas-disabled);
}

._input_1ug7n_18[disabled]:checked + ._ui_1ug7n_19 {
  border-color: var(--cpd-color-bg-action-primary-disabled);
  background: var(--cpd-color-bg-action-primary-disabled);
}

._input_1ug7n_18[readonly]:checked + ._ui_1ug7n_19::after {
  background-color: var(--cpd-color-icon-secondary);
  border-color: var(--cpd-color-icon-secondary);
  color: inherit;
}

@media (hover) {
  ._input_1ug7n_18:not([disabled], [readonly], :checked):hover + ._ui_1ug7n_19 {
    border-color: var(--cpd-color-bg-accent-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }

  ._input_1ug7n_18:not([disabled], [readonly], :checked):hover + ._ui_1ug7n_19::after {
    background: var(--cpd-color-icon-quaternary);
    border-color: var(--cpd-color-icon-quaternary);
    color: inherit;
  }

  ._input_1ug7n_18:not([disabled], [readonly]):checked:hover + ._ui_1ug7n_19 {
    border-color: var(--cpd-color-bg-accent-hovered);
    background: var(--cpd-color-bg-accent-hovered);
  }

  ._input_1ug7n_18[data-invalid]:not([disabled], [readonly]):checked:hover + ._ui_1ug7n_19 {
    border-color: var(--cpd-color-bg-critical-hovered);
    background: var(--cpd-color-bg-critical-hovered);
  }
}

._input_1ug7n_18[data-invalid]:not([disabled], [readonly], :checked) + ._ui_1ug7n_19 {
  border-color: var(--cpd-color-border-critical-primary);
}

._input_1ug7n_18[data-invalid]:not([disabled], [readonly]):checked + ._ui_1ug7n_19 {
  background-color: var(--cpd-color-bg-critical-primary);
  border-color: var(--cpd-color-bg-critical-primary);
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._container_udcm8_10 {
  display: grid;
  inline-size: 2.25rem;
  block-size: 1.25rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

._container_udcm8_10 > * {
  grid-area: 1/1;
  inline-size: inherit;
  block-size: inherit;
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

._container_udcm8_10 > ._input_udcm8_24 {
  opacity: 0;
  margin: 0;
  cursor: pointer;
}

._container_udcm8_10 > ._input_udcm8_24[disabled] {
  cursor: not-allowed;
}

._ui_udcm8_34 {
  pointer-events: none;
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  border: 1px solid var(--cpd-color-border-interactive-primary);
  background: var(--cpd-color-bg-canvas-default);
  position: relative;
  padding: 1px;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-property: background-color, border-color;
  transition-property: background-color, border-color;
}

._input_udcm8_24:checked + ._ui_udcm8_34 {
  background: var(--cpd-color-bg-accent-rest);
  border-color: var(--cpd-color-bg-accent-rest);
}

._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-icon-secondary);

  content: "";
  display: block;
  block-size: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--dot-color);

  /* Additional style to ensure visibility in contrast-mode */
  border: 1px solid var(--dot-color);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
  -webkit-transition-property: background-color, -webkit-transform;
  transition-property: background-color, -webkit-transform;
  transition-property: background-color, transform;
  transition-property: background-color, transform, -webkit-transform;
}

/* Note the use of :focus-visible rather than :focus to avoid showing the focus
ring after a simple click */
._input_udcm8_24:focus-visible + ._ui_udcm8_34 {
  outline: 2px solid var(--cpd-color-border-focused);
  outline-offset: 1px;
}

:checked + ._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-icon-on-solid-primary);

  -webkit-transform: translateX(100%);

          transform: translateX(100%);
}

@media (hover) {
  :checked:not([disabled]):hover + ._ui_udcm8_34 {
    background: var(--cpd-color-bg-accent-hovered);
    border-color: var(--cpd-color-bg-accent-hovered);
  }
}

:checked:active + ._ui_udcm8_34 {
  background: var(--cpd-color-bg-accent-hovered);
  border-color: var(--cpd-color-bg-accent-hovered);
}

._input_udcm8_24[readonly] {
  pointer-events: none;
}

._input_udcm8_24[readonly] + ._ui_udcm8_34 {
  border-color: var(--cpd-color-border-interactive-secondary);
  background: var(--cpd-color-bg-subtle-secondary);
}

._input_udcm8_24[readonly] + ._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-icon-secondary);
}

._input_udcm8_24[disabled] + ._ui_udcm8_34 {
  border-color: var(--cpd-color-border-disabled);
  background: var(--cpd-color-bg-canvas-disabled);
}

._input_udcm8_24[disabled] + ._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-bg-action-primary-disabled);
}

._input_udcm8_24[readonly]:checked + ._ui_udcm8_34 {
  border-color: var(--cpd-color-icon-secondary);
  background: var(--cpd-color-icon-secondary);
}

._input_udcm8_24[readonly]:checked + ._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-icon-on-solid-primary);
}

._input_udcm8_24[disabled]:checked + ._ui_udcm8_34 {
  background: var(--cpd-color-bg-action-primary-disabled);
  border-color: var(--cpd-color-bg-action-primary-disabled);
}

._input_udcm8_24[disabled]:checked + ._ui_udcm8_34::after {
  --dot-color: var(--cpd-color-icon-on-solid-primary);
}

@media (hover) {
  ._input_udcm8_24:not(:checked, [disabled], [readonly]):hover + ._ui_udcm8_34 {
    border-color: var(--cpd-color-border-interactive-hovered);

    /** TODO: have the shadow in the design tokens */
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
  }
}

._input_udcm8_24:not(:checked, [disabled], [readonly]):active + ._ui_udcm8_34 {
  border-color: var(--cpd-color-border-interactive-hovered);
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._glass_sepwu_8 {
  border-radius: var(--cpd-space-9x);
  padding: var(--cpd-space-3x);

  /* We use an outline here to create an "inner border", rather than one that
  adds to the component's size */
  outline: var(--cpd-border-width-1) solid var(--cpd-color-alpha-gray-400);
  outline-offset: calc(-1 * var(--cpd-border-width-1));
  background: var(--cpd-color-alpha-gray-400);
  backdrop-filter: blur(20px);
}

._glass_sepwu_8 > :first-child {
  border-radius: var(--cpd-space-6x);
  inline-size: 100%;
  block-size: 100%;
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._big-icon_1ssbv_8 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: var(--cpd-space-4x);
  border-radius: var(--cpd-space-2x);
}

  ._big-icon_1ssbv_8 > svg {
    inline-size: 32px;
    block-size: 32px;
  }

._big-icon_1ssbv_8[data-size="md"] {
  padding: var(--cpd-space-3x);
}

._big-icon_1ssbv_8[data-size="sm"] {
  padding: var(--cpd-space-3x);
}

  ._big-icon_1ssbv_8[data-size="sm"] > svg {
    inline-size: 24px;
    block-size: 24px;
  }

._big-icon_1ssbv_8[data-kind="primary"] {
  background-color: var(--cpd-color-bg-subtle-secondary);
  color: var(--cpd-color-icon-primary);
}

._big-icon_1ssbv_8[data-kind="critical"] {
  background-color: var(--cpd-color-bg-critical-subtle);
  color: var(--cpd-color-icon-critical-primary);
}

._big-icon_1ssbv_8[data-kind="success"] {
  background-color: var(--cpd-color-bg-success-subtle);
  color: #3ecf8e;
  color: var(--cpd-color-icon-success-primary);
}

@media (forced-colors: active) {
  ._big-icon_1ssbv_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._item_bym9p_8 {
  display: grid;
  grid-template: "icon label ." auto "empty1 label empty2" auto / auto auto minmax(
      /* Reserve space for the chevron so that the layout doesn't shift on
      hover */
      var(--cpd-space-2x),
      1fr
    );
  place-items: center end;
  padding-block: var(--cpd-space-2x);
  padding-inline: var(--cpd-space-4x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  inline-size: 100%;
  min-inline-size: 200px;
  color: var(--cpd-color-text-secondary);
  background: var(--cpd-color-bg-action-secondary-rest);
}

._item_bym9p_8._interactive_bym9p_26,
._item_bym9p_8[data-state] {
  cursor: pointer;
}

._item_bym9p_8._no-label_bym9p_31 {
  grid-template: "icon ." auto / auto 1fr;
}

._label_bym9p_35 {
  grid-area: label;
  -webkit-margin-end: var(--cpd-space-4x);
          margin-inline-end: var(--cpd-space-4x);
  text-align: start;
  word-break: break-word; /* stylelint-disable-line declaration-property-value-keyword-no-deprecated */
}

._item_bym9p_8._no-icon_bym9p_42 {
  grid-template: "label ." auto / auto 1fr;
}

  ._item_bym9p_8._no-icon_bym9p_42 ._label_bym9p_35 {
    /* Without icon, the height changes when hovered */
    min-block-size: 24px;
  }

._icon_bym9p_51 {
  grid-area: icon;
  -webkit-margin-end: var(--cpd-space-3x);
          margin-inline-end: var(--cpd-space-3x);
}

._item_bym9p_8._no-label_bym9p_31 ._icon_bym9p_51 {
  -webkit-margin-end: var(--cpd-space-4x);
          margin-inline-end: var(--cpd-space-4x);
}

._nav-hint_bym9p_60 {
  /* Hidden until the item is hovered over */
  display: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

button._item_bym9p_8 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
}

._item_bym9p_8[data-kind="primary"] > ._label_bym9p_35 {
  color: #ffffff;
  color: var(--cpd-color-text-primary);
}

._item_bym9p_8[data-kind="primary"] > ._icon_bym9p_51 {
  color: var(--cpd-color-icon-primary);
}

._item_bym9p_8[data-kind="primary"] > ._nav-hint_bym9p_60 {
  color: var(--cpd-color-icon-tertiary);
}

._item_bym9p_8[data-kind="critical"] > ._label_bym9p_35 {
  color: #e0454b;
  color: var(--cpd-color-text-critical-primary);
}

._item_bym9p_8[data-kind="critical"] > ._icon_bym9p_51,
._item_bym9p_8[data-kind="critical"] > ._nav-hint_bym9p_60 {
  color: var(--cpd-color-icon-critical-primary);
}

/* Submenu triggers: always show the chevron and apply hover style when open */
._item_bym9p_8[data-state] > ._nav-hint_bym9p_60 {
  display: inline;
  display: initial;
}

._item_bym9p_8[data-state] > ._nav-hint_bym9p_60 ~ * {
  display: none;
}

._item_bym9p_8[data-state="open"][data-kind="primary"] {
  background: var(--cpd-color-bg-action-secondary-hovered);
}

._item_bym9p_8[data-state="open"][data-kind="critical"] {
  background: var(--cpd-color-bg-critical-subtle);
}

@media (hover) {
  ._item_bym9p_8._interactive_bym9p_26[data-kind="primary"]:hover,
  ._item_bym9p_8[data-state][data-kind="primary"]:hover {
    background: var(--cpd-color-bg-action-secondary-hovered);
  }

  ._item_bym9p_8._interactive_bym9p_26[data-kind="critical"]:hover,
  ._item_bym9p_8[data-state][data-kind="critical"]:hover {
    background: var(--cpd-color-bg-critical-subtle);
  }

  /* Replace the children with the navigation hint on hover */
  ._item_bym9p_8._interactive_bym9p_26:hover > ._nav-hint_bym9p_60 {
    display: inline;
    display: initial;
  }

  ._item_bym9p_8._interactive_bym9p_26:hover > ._nav-hint_bym9p_60 ~ * {
    display: none;
  }
}

._item_bym9p_8._interactive_bym9p_26[data-kind="primary"]:active,
._item_bym9p_8[data-state][data-kind="primary"]:active {
  background: var(--cpd-color-bg-action-secondary-pressed);
}

._item_bym9p_8._interactive_bym9p_26[data-kind="critical"]:active,
._item_bym9p_8[data-state][data-kind="critical"]:active {
  background: var(--cpd-color-bg-critical-subtle-hovered);
}

._item_bym9p_8[data-kind]._disabled_bym9p_140 {
  pointer-events: none;
}

._item_bym9p_8[data-kind]._disabled_bym9p_140 > ._label_bym9p_35,
._item_bym9p_8[data-kind]._disabled_bym9p_140 > ._icon_bym9p_51,
._item_bym9p_8[data-kind]._disabled_bym9p_140 > ._nav-hint_bym9p_60 {
  color: var(--cpd-color-text-disabled);
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._bg_610zp_8 {
  position: fixed;
  inset: 0;

  /* TODO: This value is used across modals and menu drawers, so would be worth
  tokenizing */
  background: rgb(3 12 27 / 52.8%);
}

._drawer_610zp_17 {
  position: fixed;
  background: var(--cpd-color-bg-canvas-default);
  inset-block-end: 0;
  inset-inline: 0;

  /* Cap the inline content size at 520px, filling the rest of the space with
  padding */
  padding-inline: max(0px, calc((100% - 520px) / 2));
  border-start-start-radius: 28px;
  border-start-start-radius: var(--border-radius);
  border-start-end-radius: 28px;
  border-start-end-radius: var(--border-radius);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;

  /* Drawer comes in the Android style by default */
  --border-radius: 28px;
  --handle-block-size: 4px;
  --handle-inline-size: 32px;
  --handle-inset-block-start: var(--cpd-space-4x);
  --handle-inset-block-end: 0px;
  --content-inset-block-start: calc(
    var(--handle-inset-block-start) + var(--handle-block-size) +
      var(--handle-inset-block-end)
  );
}

._drawer_610zp_17[data-platform="ios"] {
  --border-radius: 10px;
  --handle-block-size: 5px;
  --handle-inline-size: 36px;
  --handle-inset-block-start: var(--cpd-space-1-5x);
  --handle-inset-block-end: 1px;
}

._body_610zp_51 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-2x);
  padding-block: calc(var(--content-inset-block-start) + var(--cpd-space-6x))
    var(--cpd-space-12x);
  border-start-start-radius: var(--border-radius);
  border-start-end-radius: var(--border-radius);

  /* Even with overflow: auto, the content can still overflow at the corners
  where it meets with the curved border. A contain: paint fixes that. */
  contain: paint;
  overflow: auto;
  scrollbar-width: none;

  --cpd-separator-spacing: 0;
  --cpd-separator-inset: var(--cpd-space-4x);
}

._body_610zp_51::before {
  content: "";
  position: absolute;
  block-size: var(--handle-block-size);
  inset-inline: calc((100% - var(--handle-inline-size)) / 2);
  inset-block-start: var(--handle-inset-block-start);
  background: var(--cpd-color-icon-secondary);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._menu_1kl3y_8 {
  border-radius: var(--cpd-space-3x);
  background: var(--cpd-color-bg-canvas-default);

  /* Here we use outline to create a border internal to the container. The Radix
  menu component may try to override it with outline: none, hence the need for
  !important. */
  outline: var(--cpd-border-width-1) solid
    var(--cpd-color-border-interactive-secondary) !important;
  outline-offset: calc(-1 * var(--cpd-border-width-1));
  -webkit-box-shadow: 0 4px 24px 0 rgb(0 0 0 / 10%);
          box-shadow: 0 4px 24px 0 rgb(0 0 0 / 10%);
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  max-inline-size: 320px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-1x);
  padding-block: var(--cpd-space-5x) var(--cpd-space-4x);

  --cpd-separator-spacing: 0;
  --cpd-separator-inset: var(--cpd-space-4x);
}

@-webkit-keyframes _slide-in_1kl3y_1 {
  from {
    opacity: 0;
    -webkit-transform: translate(0, var(--cpd-space-3x));
            transform: translate(0, var(--cpd-space-3x));
  }
}

@keyframes _slide-in_1kl3y_1 {
  from {
    opacity: 0;
    -webkit-transform: translate(0, var(--cpd-space-3x));
            transform: translate(0, var(--cpd-space-3x));
  }
}

._menu_1kl3y_8[data-state="open"] {
  /* Disable linter, we have a reduced motion style below */
  /* stylelint-disable-next-line defensive-css/require-prefers-reduced-motion */
  -webkit-animation: _slide-in_1kl3y_1 180ms;
          animation: _slide-in_1kl3y_1 180ms;
}

@-webkit-keyframes _fade-in_1kl3y_1 {
  from {
    opacity: 0;
  }
}

@keyframes _fade-in_1kl3y_1 {
  from {
    opacity: 0;
  }
}

@-webkit-keyframes _fade-out_1kl3y_1 {
  to {
    opacity: 0;
  }
}

@keyframes _fade-out_1kl3y_1 {
  to {
    opacity: 0;
  }
}

@media (prefers-reduced-motion) {
  ._menu_1kl3y_8[data-state="open"] {
    -webkit-animation-name: _fade-in_1kl3y_1;
            animation-name: _fade-in_1kl3y_1;
  }

  ._menu_1kl3y_8[data-state="closed"] {
    -webkit-animation-name: _fade-out_1kl3y_1;
            animation-name: _fade-out_1kl3y_1;
  }
}

._title_1kl3y_65 {
  /** Override MenuTitle margin top **/
  -webkit-margin-before: 0 !important;
          margin-block-start: 0 !important;
}
/*
 * Copyright 2025 New Vector Ltd
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._menu-title_1sgvx_8 {
  color: var(--cpd-color-text-secondary);
  padding-inline: var(--cpd-space-4x);
  -webkit-padding-after: calc(var(--cpd-space-2x) - var(--cpd-border-width-1));
          padding-block-end: calc(var(--cpd-space-2x) - var(--cpd-border-width-1));
  -webkit-border-after: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
          border-block-end: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
  margin-block: var(--cpd-space-2x);
}
/* Copyright 2025 New Vector Ltd.
 * Copyright 2023 The Matrix.org Foundation C.I.C.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._nav-bar_pmal2_8 {
  -webkit-border-after: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
          border-block-end: var(--cpd-border-width-1) solid var(--cpd-color-gray-400);
  margin: var(--cpd-space-6x) 0;
  padding: 0;
}

._nav-bar-items_pmal2_14 {
  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-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--cpd-space-3x);
  list-style-type: "";
  padding: 0;
  margin: 0;
}

._nav-tab_pmal2_25 {
  padding: var(--cpd-space-4x) 0;
  position: relative;
}

/* Underline effect */
._nav-tab_pmal2_25::before {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  block-size: 0;
  border-radius: 9999px 9999px 0 0;
  border-radius: var(--cpd-radius-pill-effect) var(--cpd-radius-pill-effect) 0 0;
  background-color: #2e80de;
  background-color: var(--cpd-color-bg-action-primary-rest);
}

  @media (prefers-reduced-motion: no-preference) {
._nav-tab_pmal2_25::before {
    -webkit-transition: height 0.1s ease-in-out;
    transition: height 0.1s ease-in-out
}
  }

._nav-tab_pmal2_25[data-current]::before {
  /* This is not exactly right: designs says 3px, but there are no variables for that */
  block-size: var(--cpd-border-width-4);
}

._nav-item_pmal2_50 {
  padding-block: var(--cpd-space-1x);
  padding-inline: var(--cpd-space-2x);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  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;
  gap: var(--cpd-space-2x);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: transparent;
  border: 0;
  font: var(--cpd-font-body-md-medium);
  color: var(--cpd-color-text-secondary);
  text-decoration: none;
}

@media (hover) {
  ._nav-item_pmal2_50:not([disabled]):hover {
    color: #ffffff;
    color: var(--cpd-color-text-primary);
    background-color: var(--cpd-color-bg-subtle-secondary);
  }
}

._nav-item_pmal2_50:focus-visible {
  outline: var(--cpd-color-border-focused) var(--cpd-border-width-2) solid;
}

._nav-item_pmal2_50:not([disabled]):active {
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  background-color: var(--cpd-color-bg-subtle-primary);
}

._nav-item_pmal2_50[aria-current],
._nav-item_pmal2_50[aria-selected="true"] {
  color: #ffffff;
  color: var(--cpd-color-text-primary);
}

._nav-item_pmal2_50[disabled] {
  cursor: not-allowed;

  /* Enable pointer events for svgs even with fill=none */
  pointer-events: all !important;
  color: var(--cpd-color-text-disabled);
}

@media (forced-colors: active) {
  ._nav-tab_pmal2_25[data-current]::before {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2026 Element Creations Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._header_14jk4_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--cpd-space-2x);
  max-inline-size: 480px;
}

._header_14jk4_8[data-size="md"] ._icon_14jk4_16 {
  -webkit-margin-after: var(--cpd-space-2x);
          margin-block-end: var(--cpd-space-2x);
}

._header_14jk4_8[data-size="lg"] ._icon_14jk4_16 {
  -webkit-margin-after: var(--cpd-space-4x);
          margin-block-end: var(--cpd-space-4x);
}

._header_14jk4_8 > h1 {
  margin: 0;
  text-align: center;
}

._header_14jk4_8 > p {
  color: var(--cpd-color-text-secondary);
  text-align: center;
  margin: 0;
}

._header_14jk4_8[data-size="md"] > p {
  font: var(--cpd-font-body-md-regular);
}

._header_14jk4_8[dat-size="lg"] > p {
  font: var(--cpd-font-body-lg-regular);
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._progress-bar_1kvi5_8 {
  position: relative;
  background-color: var(--cpd-color-gray-200);
  border: 1px solid var(--cpd-color-gray-400);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  overflow: hidden;
}

  ._progress-bar_1kvi5_8[data-size="sm"] {
    block-size: var(--cpd-space-2x);
  }

  ._progress-bar_1kvi5_8[data-size="lg"] {
    block-size: var(--cpd-space-4x);
  }

._progress-bar-container_1kvi5_24 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-1x);

  --cpd-progress-bar-main: var(--cpd-color-text-secondary);
  --cpd-progress-bar-muted: var(--cpd-color-gray-800);
}

  ._progress-bar-container_1kvi5_24[data-tint="green"] {
    --cpd-progress-bar-main: var(--cpd-color-text-success-primary);
    --cpd-progress-bar-muted: var(--cpd-color-green-800);
  }

  ._progress-bar-container_1kvi5_24[data-tint="lime"] {
    --cpd-progress-bar-main: var(--cpd-color-lime-900);
    --cpd-progress-bar-muted: var(--cpd-color-lime-800);
  }

  ._progress-bar-container_1kvi5_24[data-tint="orange"] {
    --cpd-progress-bar-main: var(--cpd-color-orange-900);
    --cpd-progress-bar-muted: var(--cpd-color-orange-800);
  }

  ._progress-bar-container_1kvi5_24[data-tint="red"] {
    --cpd-progress-bar-main: var(--cpd-color-text-critical-primary);
    --cpd-progress-bar-muted: var(--cpd-color-red-800);
  }

._progress-bar-label_1kvi5_53 {
  font: var(--cpd-font-body-sm-medium);
  letter-spacing: var(--cpd-font-letter-spacing-body-sm);
  color: var(--cpd-progress-bar-main);
}

._progress-bar-indicator_1kvi5_59 {
  position: absolute;
  inset: 0;

  /* sqrt(number of stripes * 2 * (stripe width)^2) = sqrt(4 * 2 * 2^2) = sqrt(32) */
}

  @media (prefers-reduced-motion: no-preference) {

._progress-bar-indicator_1kvi5_59 {
    -webkit-transition: -webkit-transform 0.2s ease-in-out;
    transition: -webkit-transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}
  }

  ._progress-bar-indicator_1kvi5_59{

  background-image: linear-gradient(
    135deg,
    var(--cpd-progress-bar-muted) 0%,
    var(--cpd-progress-bar-muted) 25%,
    var(--cpd-progress-bar-main) 25%,
    var(--cpd-progress-bar-main) 50%,
    var(--cpd-progress-bar-muted) 50%,
    var(--cpd-progress-bar-muted) 75%,
    var(--cpd-progress-bar-main) 75%,
    var(--cpd-progress-bar-main) 100%,
    var(--cpd-progress-bar-muted) 100%
  );
  background-size: 5.6569px 5.6569px;
}

@media (forced-colors: active) {
  ._progress-bar-indicator_1kvi5_59 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._content_16f2y_8 {
  /* 320px + 20px padding left + 20px padding right */
  max-inline-size: 320px;
  border-radius: var(--cpd-space-3x);
  background: #2e80de;
  background: var(--cpd-color-bg-action-primary-rest);
  padding: var(--cpd-space-5x) var(--cpd-space-6x);

  /* from figma */
  -webkit-box-shadow: 0 4px 24px 0 rgb(0 0 0 / 10%);
          box-shadow: 0 4px 24px 0 rgb(0 0 0 / 10%);

  /*
  * Grid, we want to have the following layout:
  * ----------------------------------
  * -  ---------------   ----------  -
  * -  | heading     |   |        |  -
  * -  --------------    | button |  -
  * -  ---------------   | button |  -
  * -  | description |   |        |  -
  * -  ---------------   ----------  -
  * ----------------------------------
  */
  display: grid;
  grid-template:
    "header button" auto
    "description button" auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-column-gap: var(--cpd-space-6x);
  -webkit-column-gap: var(--cpd-space-6x);
     -moz-column-gap: var(--cpd-space-6x);
          column-gap: var(--cpd-space-6x);
}

._header_16f2y_37 {
  margin: 0;
  color: var(--cpd-color-text-on-solid-primary);
  grid-area: header;
}

._description_16f2y_43 {
  color: var(--cpd-color-gray-500);
  grid-area: description;
}

._button_16f2y_48 {
  color: var(--cpd-color-bg-subtle-secondary);
  grid-area: button;
}

._arrow_16f2y_53 {
  fill: #2e80de;
  fill: var(--cpd-color-bg-action-primary-rest);
}

@media (forced-colors: active) {
  ._content_16f2y_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2023 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._search_1lktl_8 {
  border: 1px solid var(--cpd-color-border-interactive-secondary);
  border-radius: 9999px;
  block-size: 36px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  /* !important to override Field's default flex settings */
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  gap: var(--cpd-space-2x) !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: var(--cpd-space-1-5x) var(--cpd-space-3x);
}

@media (hover) {
  ._search_1lktl_8:hover {
    border-color: var(--cpd-color-border-interactive-hovered);
  }
}

._search_1lktl_8:active {
  border-color: var(--cpd-color-border-interactive-hovered);
}

._search_1lktl_8:focus-within {
  border-color: currentcolor;
}

._icon_1lktl_37 {
  color: var(--cpd-color-icon-secondary);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media (hover) {
  ._search_1lktl_8:hover ._icon_1lktl_37 {
    color: var(--cpd-color-icon-primary);
  }
}

._search_1lktl_8:active ._icon_1lktl_37 {
  color: var(--cpd-color-icon-primary);
}

._input_1lktl_52 {
  border: 0;
  background: inherit;
  outline: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-inline-size: 0;
}

._input_1lktl_52::-webkit-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1lktl_52::-moz-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1lktl_52:-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1lktl_52::-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}

._input_1lktl_52::placeholder {
  color: var(--cpd-color-text-secondary);
}

/* stylelint-disable-next-line defensive-css/require-focus-visible */
._input_1lktl_52:focus::-webkit-input-placeholder {
  color: var(--cpd-color-text-secondary);
}
._input_1lktl_52:focus::-moz-placeholder {
  color: var(--cpd-color-text-secondary);
}
._input_1lktl_52:focus:-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}
._input_1lktl_52:focus::-ms-input-placeholder {
  color: var(--cpd-color-text-secondary);
}
._input_1lktl_52:focus::placeholder {
  color: var(--cpd-color-text-secondary);
}

@media (hover) {
  ._search_1lktl_8:hover ._input_1lktl_52::-webkit-input-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1lktl_8:hover ._input_1lktl_52::-moz-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1lktl_8:hover ._input_1lktl_52:-ms-input-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1lktl_8:hover ._input_1lktl_52::-ms-input-placeholder {
    color: var(--cpd-color-text-secondary);
  }
  ._search_1lktl_8:hover ._input_1lktl_52::placeholder {
    color: var(--cpd-color-text-secondary);
  }
}
/*
Copyright 2023, 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._separator_13qwf_8 {
  --cpd-separator-color: var(--cpd-color-separator-primary);
  --cpd-separator-size: 1px;

  background-color: var(--cpd-separator-color);
}

._separator_13qwf_8[data-kind="secondary"] {
  --cpd-separator-color: var(--cpd-color-separator-secondary);
}

._separator_13qwf_8[data-kind="section"] {
  --cpd-separator-size: 2px;
}

._separator_13qwf_8[data-orientation="horizontal"] {
  margin-block: var(--cpd-separator-spacing);
  margin-inline: 0;
  margin-inline: var(--cpd-separator-inset);
  block-size: var(--cpd-separator-size);
}

._separator_13qwf_8[data-orientation="vertical"] {
  margin-inline: var(--cpd-separator-spacing);
  margin-block: 0;
  margin-block: var(--cpd-separator-inset);
  inline-size: var(--cpd-separator-size);
}

@media (forced-colors: active) {
  ._separator_13qwf_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2026 Element Creations Ltd.
Copyright 2023, 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE in the repository root for full details.
*/
  ._toggle_13rnk_9[data-size="lg"] {
    --cpd-switch-button-size: 44px;
    --cpd-switch-icon-size: 24px;
  }

  ._toggle_13rnk_9[data-size="md"] {
    --cpd-switch-button-size: 32px;
    --cpd-switch-icon-size: 20px;
  }

  ._toggle_13rnk_9{

  padding: var(--cpd-space-0-5x);
  border-radius: 9999px;
  border-radius: var(--cpd-radius-pill-effect);
  background: var(--cpd-color-bg-canvas-default);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  border: 1px solid var(--cpd-color-border-interactive-secondary);
}

  @media (forced-colors) {

._toggle_13rnk_9 {
    /* Firefox seems to lose borders in practice (https://github.com/element-hq/compound-web/pull/482#discussion_r3136544962) so redefine this here. */
    border: 1px solid
}
  }

  ._toggle_13rnk_9 svg {
    display: block;
    position: absolute;
    pointer-events: none;
    color: var(--cpd-color-icon-primary);
    -webkit-transition: color 0.1s;
    transition: color 0.1s;
    inline-size: var(--cpd-switch-icon-size);
    block-size: var(--cpd-switch-icon-size);
    -webkit-margin-before: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
            margin-block-start: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
  }

  ._toggle_13rnk_9 svg:nth-child(2) {
    inset-inline-start: var(--cpd-space-0-5x);
    -webkit-margin-start: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
            margin-inline-start: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
  }

  ._toggle_13rnk_9 svg:nth-child(4) {
    inset-inline-end: var(--cpd-space-0-5x);
    -webkit-margin-end: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
            margin-inline-end: calc(
      (var(--cpd-switch-button-size) - var(--cpd-switch-icon-size)) / 2
    );
  }

  ._toggle_13rnk_9 input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;

    /* Safari puts a margin on these, which is not removed via appearance: none */
    margin: 0;
    block-size: var(--cpd-switch-button-size);
    inline-size: var(--cpd-switch-button-size);
    cursor: pointer;
    border-radius: 9999px;
    border-radius: var(--cpd-radius-pill-effect);
    background: var(--cpd-color-bg-action-secondary-rest);
    -webkit-box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
            box-shadow: 0 1.2px 2.4px 0 rgb(0 0 0 / 15%);
    -webkit-transition: background-color 0.1s;
    transition: background-color 0.1s;
    border: 1px solid var(--cpd-color-border-interactive-secondary);
  }

  ._toggle_13rnk_9 input:first-child {
    -webkit-margin-end: 5px;
            margin-inline-end: 5px;
  }

  @media (hover: hover) {
    ._toggle_13rnk_9 input:hover {
      border-color: var(--cpd-color-border-interactive-primary);
      background: var(--cpd-color-bg-action-secondary-hovered);
      -webkit-box-shadow: none;
              box-shadow: none;
    }

    ._toggle_13rnk_9 input:checked:hover {
      background: #3a8fe6;
      background: var(--cpd-color-bg-action-primary-hovered);
    }
  }

  ._toggle_13rnk_9 input:active {
    background: var(--cpd-color-bg-action-secondary-pressed);
    -webkit-box-shadow: none;
            box-shadow: none;
  }

  ._toggle_13rnk_9 input:checked {
    border: medium none currentcolor;
    border: initial;
    background: #2e80de;
    background: var(--cpd-color-bg-action-primary-rest);
  }

    @media (forced-colors) {

  ._toggle_13rnk_9 input:checked {
      border: 3px solid
  }
    }

  ._toggle_13rnk_9 input:checked + svg {
    color: var(--cpd-color-icon-on-solid-primary);
  }

  ._toggle_13rnk_9 input:checked:active {
    background: #175fb0;
    background: var(--cpd-color-bg-action-primary-pressed);
  }
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._toast-container_1ysb3_8 {
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  background-color: #2e80de;
  background-color: var(--cpd-color-bg-action-primary-rest);
  color: var(--cpd-color-text-on-solid-primary);
  border-radius: 99px;
  padding: var(--cpd-space-2x) var(--cpd-space-4x);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--cpd-space-2x);
}

@media (forced-colors: active) {
  ._toast-container_1ysb3_8 {
    outline: 1px solid transparent;
  }
}

._icon_1ysb3_26 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

._has-close_1ysb3_30 {
  gap: var(--cpd-space-3x);
}

._content_1ysb3_34 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--cpd-space-2x);
}

._close_1ysb3_41 {
  -ms-flex-item-align: start;
      align-self: flex-start;
  padding: var(--cpd-space-0-5x) !important;
}
    ._close_1ysb3_41:not(:hover, :focus-visible) * {
      /* Override default color of icon button. The container background is different than the default canvas color */
      color: var(--cpd-color-icon-on-solid-primary) !important;
    }
/*
Copyright 2024 New Vector Ltd.

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

._visual-list_6zpfn_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--cpd-space-1x);
  margin: 0;
  padding: 0;
  list-style-type: "";
  border-radius: var(--cpd-space-3x);
  overflow: hidden;
}

@media (forced-colors: active) {
  ._visual-list_6zpfn_8 {
    outline: 1px solid transparent;
  }
}
/*
 * Copyright 2024 New Vector Ltd.
 *
 * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
 * Please see LICENSE files in the repository root for full details.
 */

._visual-list-item_1nc1y_8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--cpd-space-3x);
  padding: var(--cpd-space-3x) var(--cpd-space-4x);
  background-color: var(--cpd-color-bg-subtle-secondary);
  font: var(--cpd-font-body-md-medium);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

._visual-list-item-icon_1nc1y_17 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--cpd-color-icon-secondary);
}

._visual-list-item-icon-success_1nc1y_22 {
  color: #3ecf8e;
  color: var(--cpd-color-icon-success-primary);
}

._visual-list-item-icon-destructive_1nc1y_26 {
  color: var(--cpd-color-icon-critical-primary);
}

@media (forced-colors: active) {
  ._visual-list-item_1nc1y_8 {
    outline: 1px solid transparent;
  }
}
/*
Copyright 2025 New Vector Ltd.
Copyright 2023 The Matrix.org Foundation C.I.C.
Copyright 2023 New Vector Ltd

SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE files in the repository root for full details.
*/

:root {
  --cpd-radius-pill-effect: 9999px;

  /* Default icon and avatar size */
  --cpd-icon-button-size: var(--cpd-space-8x);
  --cpd-avatar-size: var(--cpd-space-16x);

  /**
  * We want to apply Inter Dynamic metrics (https://rsms.me/inter/dynmetrics/)
  * We need to tweak the `letter-spacing` property and doing so, disables by
  * default the optional ligatures
  * `font-feature-settings` allows us to override this behaviour and have the
  * correct ligatures and the proper dynamic metric spacing.
  */
  --cpd-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  --cpd-separator-spacing: var(--cpd-space-2x);
  --cpd-separator-inset: 0;
}

html,
body,
input {
  font: var(--cpd-font-body-md-regular);
  color: #ffffff;
  color: var(--cpd-color-text-primary);
  -webkit-font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
          font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  -webkit-font-feature-settings: var(--cpd-font-feature-settings);
          font-feature-settings: var(--cpd-font-feature-settings);
}

html,
body {
  block-size: 100%;
  font-size: var(--cpd-font-size-root);
}

body {
  background: var(--cpd-color-bg-canvas-default);
}
/*$vite$:1*/
}
@layer app-web{
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
}
@layer app-web{
/*light */
.markdown-body {
  color-scheme: light;
  /** CSS default easing. Use for hover state changes and micro-interactions. */
  /** Accelerating motion. Use for elements exiting the viewport (moving off-screen). */
  /** Smooth acceleration and deceleration. Use for elements moving or morphing within the viewport. */
  /** Decelerating motion. Use for elements entering the viewport or appearing on screen. */
  /** Constant motion with no acceleration. Use for continuous animations like progress bars or loaders. */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  font-weight: 400;
  color: #1f2328;
  background-color: #ffffff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  font-size: 16px;
  line-height: 1.5;
  word-wrap: break-word;
}

.markdown-body a {
  text-decoration: underline;
  text-underline-offset: .2rem;
}

.markdown-body .octicon {
  display: inline-block;
  fill: currentColor;
  vertical-align: text-bottom;
}

.markdown-body h1:hover .anchor .octicon-link:before,
.markdown-body h2:hover .anchor .octicon-link:before,
.markdown-body h3:hover .anchor .octicon-link:before,
.markdown-body h4:hover .anchor .octicon-link:before,
.markdown-body h5:hover .anchor .octicon-link:before,
.markdown-body h6:hover .anchor .octicon-link:before {
  width: 16px;
  height: 16px;
  content: ' ';
  display: inline-block;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");
  mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");
}

.markdown-body details,
.markdown-body figcaption,
.markdown-body figure {
  display: block;
}

.markdown-body summary {
  display: list-item;
}

.markdown-body [hidden] {
  display: none !important;
}

.markdown-body a {
  background-color: rgba(0,0,0,0);
  color: #0969da;
  text-decoration: none;
}

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

.markdown-body b,
.markdown-body strong {
  font-weight: 600;
}

.markdown-body dfn {
  font-style: italic;
}

.markdown-body h1 {
  margin: .67em 0;
  font-weight: 600;
  padding-bottom: .3em;
  font-size: 2em;
  border-bottom: 1px solid #d1d9e0b3;
}

.markdown-body mark {
  background-color: #fff8c5;
  color: #1f2328;
}

.markdown-body small {
  font-size: 90%;
}

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

.markdown-body sub {
  bottom: -0.25em;
}

.markdown-body sup {
  top: -0.5em;
}

.markdown-body img {
  border-style: none;
  max-width: 100%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.markdown-body code,
.markdown-body kbd,
.markdown-body pre,
.markdown-body samp {
  font-family: monospace;
  font-size: 1em;
}

.markdown-body figure {
  margin: 1em 2.5rem;
}

.markdown-body hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  overflow: hidden;
  background: rgba(0,0,0,0);
  border-bottom: 1px solid #d1d9e0b3;
  height: .25em;
  padding: 0;
  margin: 1.5rem 0;
  background-color: #d1d9e0;
  border: 0;
}

.markdown-body input {
  font: inherit;
  margin: 0;
  overflow: visible;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.markdown-body [type=button],
.markdown-body [type=reset],
.markdown-body [type=submit] {
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
}

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

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

.markdown-body [type=search]::-webkit-search-cancel-button,
.markdown-body [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

.markdown-body ::-webkit-input-placeholder {
  color: inherit;
  opacity: .54;
}

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

.markdown-body a:hover {
  text-decoration: underline;
}

.markdown-body ::-webkit-input-placeholder {
  color: #59636e;
  opacity: 1;
}

.markdown-body ::-moz-placeholder {
  color: #59636e;
  opacity: 1;
}

.markdown-body :-ms-input-placeholder {
  color: #59636e;
  opacity: 1;
}

.markdown-body ::-ms-input-placeholder {
  color: #59636e;
  opacity: 1;
}

.markdown-body ::placeholder {
  color: #59636e;
  opacity: 1;
}

.markdown-body hr::before {
  display: table;
  content: "";
}

.markdown-body hr::after {
  display: table;
  clear: both;
  content: "";
}

.markdown-body table {
  border-spacing: 0;
  border-collapse: collapse;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  overflow: auto;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  font-variant: tabular-nums;
}

.markdown-body td,
.markdown-body th {
  padding: 0;
}

.markdown-body details summary {
  cursor: pointer;
}

.markdown-body a:focus,
.markdown-body [role=button]:focus,
.markdown-body input[type=radio]:focus,
.markdown-body input[type=checkbox]:focus {
  outline: 2px solid var(--borderColor-accent-emphasis);
  outline-offset: -2px;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.markdown-body a:focus:not(:focus-visible),
.markdown-body [role=button]:focus:not(:focus-visible),
.markdown-body input[type=radio]:focus:not(:focus-visible),
.markdown-body input[type=checkbox]:focus:not(:focus-visible) {
  outline: solid 1px rgba(0,0,0,0);
}

.markdown-body a:focus-visible,
.markdown-body [role=button]:focus-visible,
.markdown-body input[type=radio]:focus-visible,
.markdown-body input[type=checkbox]:focus-visible {
  outline: 2px solid var(--borderColor-accent-emphasis);
  outline-offset: -2px;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.markdown-body a:not([class]):focus,
.markdown-body a:not([class]):focus-visible,
.markdown-body input[type=radio]:focus,
.markdown-body input[type=radio]:focus-visible,
.markdown-body input[type=checkbox]:focus,
.markdown-body input[type=checkbox]:focus-visible {
  outline-offset: 0;
}

.markdown-body kbd {
  display: inline-block;
  padding: 0.25rem;
  font: 11px ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  line-height: 10px;
  color: #1f2328;
  vertical-align: middle;
  background-color: #f6f8fa;
  border: solid 1px var(--borderColor-muted);
  border-bottom-color: var(--borderColor-muted);
  border-radius: 6px;
  -webkit-box-shadow: inset 0 -1px 0 var(--borderColor-muted);
          box-shadow: inset 0 -1px 0 var(--borderColor-muted);
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.25;
}

.markdown-body h2 {
  font-weight: 600;
  padding-bottom: .3em;
  font-size: 1.5em;
  border-bottom: 1px solid #d1d9e0b3;
}

.markdown-body h3 {
  font-weight: 600;
  font-size: 1.25em;
}

.markdown-body h4 {
  font-weight: 600;
  font-size: 1em;
}

.markdown-body h5 {
  font-weight: 600;
  font-size: .875em;
}

.markdown-body h6 {
  font-weight: 600;
  font-size: .85em;
  color: #59636e;
}

.markdown-body p {
  margin-top: 0;
  margin-bottom: 10px;
}

.markdown-body blockquote {
  margin: 0;
  padding: 0 1em;
  color: #59636e;
  border-left: .25em solid #d1d9e0;
}

.markdown-body ul,
.markdown-body ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2em;
}

.markdown-body ol ol,
.markdown-body ul ol {
  list-style-type: lower-roman;
}

.markdown-body ul ul ol,
.markdown-body ul ol ol,
.markdown-body ol ul ol,
.markdown-body ol ol ol {
  list-style-type: lower-alpha;
}

.markdown-body dd {
  margin-left: 0;
}

.markdown-body tt,
.markdown-body code,
.markdown-body samp {
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  font-size: 12px;
}

.markdown-body pre {
  margin-top: 0;
  margin-bottom: 0;
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
  font-size: 12px;
  word-wrap: normal;
}

.markdown-body .octicon {
  display: inline-block;
  overflow: visible !important;
  vertical-align: text-bottom;
  fill: currentColor;
}

.markdown-body input::-webkit-outer-spin-button,
.markdown-body input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
          appearance: none;
}

.markdown-body .mr-2 {
  margin-right: 0.5rem !important;
}

.markdown-body::before {
  display: table;
  content: "";
}

.markdown-body::after {
  display: table;
  clear: both;
  content: "";
}

.markdown-body>*:first-child {
  margin-top: 0 !important;
}

.markdown-body>*:last-child {
  margin-bottom: 0 !important;
}

.markdown-body a:not([href]) {
  color: inherit;
  text-decoration: none;
}

.markdown-body .absent {
  color: #d1242f;
}

.markdown-body .anchor {
  float: left;
  padding-right: 0.25rem;
  margin-left: -20px;
  line-height: 1;
}

.markdown-body .anchor:focus {
  outline: none;
}

.markdown-body p,
.markdown-body blockquote,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl,
.markdown-body table,
.markdown-body pre,
.markdown-body details {
  margin-top: 0;
  margin-bottom: 1rem;
}

.markdown-body blockquote>:first-child {
  margin-top: 0;
}

.markdown-body blockquote>:last-child {
  margin-bottom: 0;
}

.markdown-body h1 .octicon-link,
.markdown-body h2 .octicon-link,
.markdown-body h3 .octicon-link,
.markdown-body h4 .octicon-link,
.markdown-body h5 .octicon-link,
.markdown-body h6 .octicon-link {
  color: #1f2328;
  vertical-align: middle;
  visibility: hidden;
}

.markdown-body h1:hover .anchor,
.markdown-body h2:hover .anchor,
.markdown-body h3:hover .anchor,
.markdown-body h4:hover .anchor,
.markdown-body h5:hover .anchor,
.markdown-body h6:hover .anchor {
  text-decoration: none;
}

.markdown-body h1:hover .anchor .octicon-link,
.markdown-body h2:hover .anchor .octicon-link,
.markdown-body h3:hover .anchor .octicon-link,
.markdown-body h4:hover .anchor .octicon-link,
.markdown-body h5:hover .anchor .octicon-link,
.markdown-body h6:hover .anchor .octicon-link {
  visibility: visible;
}

.markdown-body h1 tt,
.markdown-body h1 code,
.markdown-body h2 tt,
.markdown-body h2 code,
.markdown-body h3 tt,
.markdown-body h3 code,
.markdown-body h4 tt,
.markdown-body h4 code,
.markdown-body h5 tt,
.markdown-body h5 code,
.markdown-body h6 tt,
.markdown-body h6 code {
  padding: 0 .2em;
  font-size: inherit;
}

.markdown-body summary h1,
.markdown-body summary h2,
.markdown-body summary h3,
.markdown-body summary h4,
.markdown-body summary h5,
.markdown-body summary h6 {
  display: inline-block;
}

.markdown-body summary h1 .anchor,
.markdown-body summary h2 .anchor,
.markdown-body summary h3 .anchor,
.markdown-body summary h4 .anchor,
.markdown-body summary h5 .anchor,
.markdown-body summary h6 .anchor {
  margin-left: -40px;
}

.markdown-body summary h1,
.markdown-body summary h2 {
  padding-bottom: 0;
  border-bottom: 0;
}

.markdown-body ul.no-list,
.markdown-body ol.no-list {
  padding: 0;
  list-style-type: none;
}

.markdown-body ol[type="a s"] {
  list-style-type: lower-alpha;
}

.markdown-body ol[type="A s"] {
  list-style-type: upper-alpha;
}

.markdown-body ol[type="i s"] {
  list-style-type: lower-roman;
}

.markdown-body ol[type="I s"] {
  list-style-type: upper-roman;
}

.markdown-body ol[type="1"] {
  list-style-type: decimal;
}

.markdown-body div>ol:not([type]) {
  list-style-type: decimal;
}

.markdown-body ul ul,
.markdown-body ul ol,
.markdown-body ol ol,
.markdown-body ol ul {
  margin-top: 0;
  margin-bottom: 0;
}

.markdown-body li>p {
  margin-top: 1rem;
}

.markdown-body li+li {
  margin-top: .25em;
}

.markdown-body dl {
  padding: 0;
}

.markdown-body dl dt {
  padding: 0;
  margin-top: 1rem;
  font-size: 1em;
  font-style: italic;
  font-weight: 600;
}

.markdown-body dl dd {
  padding: 0 1rem;
  margin-bottom: 1rem;
}

.markdown-body table th {
  font-weight: 600;
}

.markdown-body table th,
.markdown-body table td {
  padding: 6px 13px;
  border: 1px solid #d1d9e0;
}

.markdown-body table td>:last-child {
  margin-bottom: 0;
}

.markdown-body table tr {
  background-color: #ffffff;
  border-top: 1px solid #d1d9e0b3;
}

.markdown-body table tr:nth-child(2n) {
  background-color: #f6f8fa;
}

.markdown-body table img {
  background-color: rgba(0,0,0,0);
}

.markdown-body img[align=right] {
  padding-left: 20px;
}

.markdown-body img[align=left] {
  padding-right: 20px;
}

.markdown-body .emoji {
  max-width: none;
  vertical-align: text-top;
  background-color: rgba(0,0,0,0);
}

.markdown-body span.frame {
  display: block;
  overflow: hidden;
}

.markdown-body span.frame>span {
  display: block;
  float: left;
  width: auto;
  padding: 7px;
  margin: 13px 0 0;
  overflow: hidden;
  border: 1px solid #d1d9e0;
}

.markdown-body span.frame span img {
  display: block;
  float: left;
}

.markdown-body span.frame span span {
  display: block;
  padding: 5px 0 0;
  clear: both;
  color: #1f2328;
}

.markdown-body span.align-center {
  display: block;
  overflow: hidden;
  clear: both;
}

.markdown-body span.align-center>span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: center;
}

.markdown-body span.align-center span img {
  margin: 0 auto;
  text-align: center;
}

.markdown-body span.align-right {
  display: block;
  overflow: hidden;
  clear: both;
}

.markdown-body span.align-right>span {
  display: block;
  margin: 13px 0 0;
  overflow: hidden;
  text-align: right;
}

.markdown-body span.align-right span img {
  margin: 0;
  text-align: right;
}

.markdown-body span.float-left {
  display: block;
  float: left;
  margin-right: 13px;
  overflow: hidden;
}

.markdown-body span.float-left span {
  margin: 13px 0 0;
}

.markdown-body span.float-right {
  display: block;
  float: right;
  margin-left: 13px;
  overflow: hidden;
}

.markdown-body span.float-right>span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: right;
}

.markdown-body code,
.markdown-body tt {
  padding: .2em .4em;
  margin: 0;
  font-size: 85%;
  white-space: break-spaces;
  background-color: #818b981f;
  border-radius: 6px;
}

.markdown-body code br,
.markdown-body tt br {
  display: none;
}

.markdown-body del code {
  text-decoration: inherit;
}

.markdown-body samp {
  font-size: 85%;
}

.markdown-body pre code {
  font-size: 100%;
}

.markdown-body pre>code {
  padding: 0;
  margin: 0;
  word-break: normal;
  white-space: pre;
  background: rgba(0,0,0,0);
  border: 0;
}

.markdown-body .highlight {
  margin-bottom: 1rem;
}

.markdown-body .highlight pre {
  margin-bottom: 0;
  word-break: normal;
}

.markdown-body .highlight pre,
.markdown-body pre {
  padding: 1rem;
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  color: #1f2328;
  background-color: #f6f8fa;
  border-radius: 6px;
}

.markdown-body pre code,
.markdown-body pre tt {
  display: inline;
  padding: 0;
  margin: 0;
  overflow: visible;
  line-height: inherit;
  word-wrap: normal;
  background-color: rgba(0,0,0,0);
  border: 0;
}

.markdown-body .csv-data td,
.markdown-body .csv-data th {
  padding: 5px;
  overflow: hidden;
  font-size: 12px;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}

.markdown-body .csv-data .blob-num {
  padding: 10px 0.5rem 9px;
  text-align: right;
  background: #ffffff;
  border: 0;
}

.markdown-body .csv-data tr {
  border-top: 0;
}

.markdown-body .csv-data th {
  font-weight: 600;
  background: #f6f8fa;
  border-top: 0;
}

.markdown-body [data-footnote-ref]::before {
  content: "[";
}

.markdown-body [data-footnote-ref]::after {
  content: "]";
}

.markdown-body .footnotes {
  font-size: 12px;
  color: #59636e;
  border-top: 1px solid #d1d9e0;
}

.markdown-body .footnotes ol {
  padding-left: 1rem;
}

.markdown-body .footnotes ol ul {
  display: inline-block;
  padding-left: 1rem;
  margin-top: 1rem;
}

.markdown-body .footnotes li {
  position: relative;
}

.markdown-body .footnotes li:target::before {
  position: absolute;
  top: calc(0.5rem*-1);
  right: calc(0.5rem*-1);
  bottom: calc(0.5rem*-1);
  left: calc(1.5rem*-1);
  pointer-events: none;
  content: "";
  border: 2px solid #0969da;
  border-radius: 6px;
}

.markdown-body .footnotes li:target {
  color: #1f2328;
}

.markdown-body .footnotes .data-footnote-backref g-emoji {
  font-family: monospace;
}

.markdown-body .pl-c {
  color: #59636e;
}

.markdown-body .pl-c1,
.markdown-body .pl-s .pl-v {
  color: #0550ae;
}

.markdown-body .pl-e,
.markdown-body .pl-en {
  color: #6639ba;
}

.markdown-body .pl-smi,
.markdown-body .pl-s .pl-s1 {
  color: #1f2328;
}

.markdown-body .pl-ent {
  color: #0550ae;
}

.markdown-body .pl-k {
  color: #cf222e;
}

.markdown-body .pl-s,
.markdown-body .pl-pds,
.markdown-body .pl-s .pl-pse .pl-s1,
.markdown-body .pl-sr,
.markdown-body .pl-sr .pl-cce,
.markdown-body .pl-sr .pl-sre,
.markdown-body .pl-sr .pl-sra {
  color: #0a3069;
}

.markdown-body .pl-v,
.markdown-body .pl-smw {
  color: #953800;
}

.markdown-body .pl-bu {
  color: #82071e;
}

.markdown-body .pl-ii {
  color: var(--fgColor-danger);
  background-color: var(--bgColor-danger-muted);
}

.markdown-body .pl-c2 {
  color: #f6f8fa;
  background-color: #cf222e;
}

.markdown-body .pl-sr .pl-cce {
  font-weight: bold;
  color: #116329;
}

.markdown-body .pl-ml {
  color: #3b2300;
}

.markdown-body .pl-mh,
.markdown-body .pl-mh .pl-en,
.markdown-body .pl-ms {
  font-weight: bold;
  color: #0550ae;
}

.markdown-body .pl-mi {
  font-style: italic;
  color: #1f2328;
}

.markdown-body .pl-mb {
  font-weight: bold;
  color: #1f2328;
}

.markdown-body .pl-md {
  color: #82071e;
  background-color: #ffebe9;
}

.markdown-body .pl-mi1 {
  color: #116329;
  background-color: #dafbe1;
}

.markdown-body .pl-mc {
  color: #953800;
  background-color: #ffd8b5;
}

.markdown-body .pl-mi2 {
  color: #d1d9e0;
  background-color: #0550ae;
}

.markdown-body .pl-mdr {
  font-weight: bold;
  color: #8250df;
}

.markdown-body .pl-ba {
  color: #59636e;
}

.markdown-body .pl-sg {
  color: #818b98;
}

.markdown-body .pl-corl {
  text-decoration: underline;
  color: #0a3069;
}

.markdown-body [role=button]:focus:not(:focus-visible),
.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),
.markdown-body button:focus:not(:focus-visible),
.markdown-body summary:focus:not(:focus-visible),
.markdown-body a:focus:not(:focus-visible) {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.markdown-body [tabindex="0"]:focus:not(:focus-visible),
.markdown-body details-dialog:focus:not(:focus-visible) {
  outline: none;
}

.markdown-body g-emoji {
  display: inline-block;
  min-width: 1ch;
  font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  font-size: 1em;
  font-style: normal !important;
  font-weight: 400;
  line-height: 1;
  vertical-align: -0.075em;
}

.markdown-body g-emoji img {
  width: 1em;
  height: 1em;
}

.markdown-body a:has(>p,>div,>pre,>blockquote) {
  display: block;
}

.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible {
  outline: 2px solid var(--borderColor-accent-emphasis);
  outline-offset: 2px;
}

.markdown-body .task-list-item {
  list-style-type: none;
}

.markdown-body .task-list-item label {
  font-weight: 400;
}

.markdown-body .task-list-item.enabled label {
  cursor: pointer;
}

.markdown-body .task-list-item+.task-list-item {
  margin-top: 0.25rem;
}

.markdown-body .task-list-item .handle {
  display: none;
}

.markdown-body .task-list-item-checkbox {
  margin: 0 .2em .25em -1.4em;
  vertical-align: middle;
}

.markdown-body ul:dir(rtl) .task-list-item-checkbox {
  margin: 0 -1.6em .25em .2em;
}

.markdown-body ol:dir(rtl) .task-list-item-checkbox {
  margin: 0 -1.6em .25em .2em;
}

.markdown-body .contains-task-list:hover .task-list-item-convert-container,
.markdown-body .contains-task-list:focus-within .task-list-item-convert-container {
  display: block;
  width: auto;
  height: 24px;
  overflow: visible;
  clip-path: none;
}

.markdown-body ::-webkit-calendar-picker-indicator {
  -webkit-filter: invert(50%);
          filter: invert(50%);
}

.markdown-body .markdown-alert {
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  color: inherit;
  border-left: .25em solid #d1d9e0;
}

.markdown-body .markdown-alert>:first-child {
  margin-top: 0;
}

.markdown-body .markdown-alert>:last-child {
  margin-bottom: 0;
}

.markdown-body .markdown-alert .markdown-alert-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}

.markdown-body .markdown-alert.markdown-alert-note {
  border-left-color: #0969da;
}

.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {
  color: #0969da;
}

.markdown-body .markdown-alert.markdown-alert-important {
  border-left-color: #8250df;
}

.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {
  color: #8250df;
}

.markdown-body .markdown-alert.markdown-alert-warning {
  border-left-color: #9a6700;
}

.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {
  color: #9a6700;
}

.markdown-body .markdown-alert.markdown-alert-tip {
  border-left-color: #1a7f37;
}

.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {
  color: #1a7f37;
}

.markdown-body .markdown-alert.markdown-alert-caution {
  border-left-color: #cf222e;
}

.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {
  color: #d1242f;
}

.markdown-body>*:first-child>.heading-element:first-child {
  margin-top: 0 !important;
}

.markdown-body .highlight pre:has(+.zeroclipboard-container) {
  min-height: 52px;
}
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlcy8wYzZkZGZjMWNjMjcwOGE4NTAwOC90aGVtZS1saWdodC1oaWdoLWNvbnRyYXN0LmNzcyIsIm1hcHBpbmdzIjoiQUFBQSxnRUFBZ0U7QUNDaEUsZ0VBQWdFO0FDRGhFO0FBR0E7QUFxQkE7QUN4QkE7O0FBQUE7Ozs7OztDQU1DOztBQUVEOzs7Ozs7RUFNRTs7QUFFRjs7Ozs7OztFQU9FLEVBTXFCLGlEQUFpRCxFQUVqRCxpREFBaUQsRUFFakQsaURBQWlELEVBRWpELGlEQUFpRCxFQUVuRCxvREFBb0QsRUFHckQsb0RBQW9ELEVBR25ELG9EQUFvRCxFQUd2RCxvREFBb0Q7QUFPdEU7QUNyREE7O0FBQUE7RUFDRTs7QUFFRixpQkFBaUI7QUFDakI7SUFDSSxzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLDREQUFnRjtBQUNwRjtBQUNBLDZIQUE2SDtBQUM3SDtJQUNJLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsNERBQWdGO0FBQ3BGO0FBQ0E7SUFDSSxzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLDREQUFnRjtBQUNwRjtBQUNBO0FDcEJBOztBQUFBO0lBQ0ksMEVBQTBFO0lBQzFFLHVCQUF1QjtBQUMzQjs7QUFFQTs7O29FQUdvRTtBQUNwRTs7NkVBRTZFOztBQVM3RSw0R0FBNEc7QUFDNUcseUJBQXlCO0FBNEJ6Qix5QkFBeUI7O0FBRXpCOzs7Ozs7Ozs7RUFTRTs7QUFnQkYscUNBQXFDO0FBQ3JDLHlCQUF5QjtBQUl6Qix5QkFBeUI7O0FBRXpCLDBCQUEwQjtBQUMxQix5QkFBeUI7QUFFekIseUJBQXlCOztBQUV6QixxRkFBcUY7QUFDckYseUJBQXlCO0FBV3pCLHlCQUF5Qjs7QUFFekIsOERBQThEO0FBQzlELHlCQUF5QjtBQWN6Qix5QkFBeUI7O0FBRXpCLGVBQWU7QUFDZix5QkFBeUI7QUFFekIseUJBQXlCOztBQUV6QixZQUFZO0FBQ1oseUJBQXlCO0FBR3pCLHlCQUF5Qjs7QUFFekIsV0FBVztBQUNYLHlCQUF5QjtBQUd6Qix5QkFBeUI7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QUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGlDQUFp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LCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsNkJBQTZCO0VBQzdCLDZC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L0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIs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QztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLGdDQUFnQztF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QThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdD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K0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsK0JBQStCO0VBQy9CLCtCQUErQjtFQUMvQixnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGdDQUFnQztFQUNoQyxnQ0FBZ0M7RUFDaEMsZ0NBQWdDO0VBQ2hDLGlDQUFpQztFQUNqQyxpQ0FBaUM7RUFDakMsaUNBQWlDO0VBQ2pDLGlDQUFpQztFQUNqQyxpQ0FBaUM7RUFDakMsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDZCQUE2QjtFQUM3Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5Qiw4QkFBOEI7RUFDOUIsOEJBQThCO0VBQzlCLDhCQUE4QjtFQUM5QixxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELG9EQUFvRDtFQUNwRCxxREFBcUQ7RUFDckQsb0RBQW9EO0VBQ3BELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCx1REFBdUQ7RUFDdkQsdURBQXVEO0VBQ3ZELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELCtDQUErQztFQUMvQywrQ0FBK0M7RUFDL0MsK0NBQStDO0VBQy9DLCtDQUErQztFQUMvQyxpREFBaUQ7RUFDakQsbURBQW1EO0VBQ25ELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQsK0NBQStDO0VBQy9DLGdEQUFnRDtFQUNoRCxnREFBZ0Q7RUFDaEQsZ0RBQWdEO0VBQ2hELGdEQUFnRDtFQUNoRCxpREFBaUQ7RUFDakQsa0RBQWtEO0VBQ2xELGtEQUFrRDtFQUNsRCxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELGtEQUFrRDtFQUNsRCx1REFBdUQ7RUFDdkQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsd0RBQXdEO0VBQ3hELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsb0RBQW9EO0VBQ3BELG9EQUFvRDtFQUNwRCxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsdURBQXVEO0VBQ3ZELHVEQUF1RDtFQUN2RCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCx1REFBdUQ7RUFDdkQsdURBQXVEO0VBQ3ZELG1EQUFtRDtFQUNuRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELGlEQUFpRDtFQUNqRCxpREFBaUQ7RUFDakQsaURBQWlEO0VBQ2pELGtEQUFrRDtFQUNsRCxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELHNEQUFzRDtFQUN0RCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsa0RBQWtEO0VBQ2xELGtEQUFrRDtFQUNsRCxrREFBa0Q7RUFDbEQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsd0RBQXdEO0VBQ3hELHVEQUF1RDtFQUN2RCxzREFBc0Q7RUFDdEQsdURBQXVEO0VBQ3ZELHVEQUF1RDtFQUN2RCxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELGtEQUFrRDtFQUNsRCxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELGtEQUFrRDtFQUNsRCxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELHFEQUFxRDtFQUNyRCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELHNEQUFzRDtFQUN0RCxzREFBc0Q7RUFDdEQsc0RBQXNEO0VBQ3RELGtEQUFrRDtFQUNsRCxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELHNEQUFzRDtFQUN0RCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHVEQUF1RDtFQUN2RCx1REFBdUQ7RUFDdkQsc0RBQXNEO0VBQ3RELGtEQUFrRDtFQUNsRCxrREFBa0Q7RUFDbEQsb0RBQW9EO0VBQ3BELG9EQUFvRDtFQUNwRCxvREFBb0Q7RUFDcEQsb0RBQW9EO0VBQ3BELHVEQUF1RDtFQUN2RCx1REFBdUQ7RUFDdkQsc0RBQXNEO0VBQ3RELHdEQUF3RDtFQUN4RCxvREFBb0Q7RUFDcEQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCx5REFBeUQ7RUFDekQseURBQXlEO0VBQ3pELHdEQUF3RDtFQUN4RCx3REFBd0Q7RUFDeEQsd0RBQXdEO0VBQ3hELHlEQUF5RDtFQUN6RCx3REFBd0Q7RUFDeEQseURBQXlEO0VBQ3pELHlEQUF5RDtFQUN6RCx5REFBeUQ7RUFDekQseURBQXlEO0VBQ3pELGtEQUFrRDtFQUNsRCxrREFBa0Q7RUFDbEQsa0RBQWtEO0VBQ2xELGtEQUFrRDtFQUNsRCxxREFBcUQ7RUFDckQscURBQXFEO0VBQ3JELHFEQUFxRDtFQUNyRCxxREFBcUQ7RUFDckQsa0RBQWtEO0VBQ2xELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsbURBQW1EO0VBQ25ELG1EQUFtRDtFQUNuRCxtREFBbUQ7RUFDbkQsc0NBQXNDO0FBQ3hDO0FBQ0E7QUFBQTtBQUFBO0FDeFRBO0FBQUE7QUFBQTtBQUFBO0VBQ0UsZ0VBQWdFO0VBQ2hFLGtFQUFrRTtFQUNsRSw4REFBOEQ7RUFDOUQsNkRBQTZEO0VBQzdELDZEQUE2RDtFQUM3RCw2REFBNkQ7RUFDN0QsMk9BQTJPO0FBQzdPO0FBQ0E7QUFBQTtBQUFBO0FDVEE7QUFBQTtBQUFBO0FBQUE7RUFDRSxnRUFBZ0U7RUFDaEUsa0VBQWtFO0VBQ2xFLDhEQUE4RDtFQUM5RCw2REFBNkQ7RUFDN0QsNkRBQTZEO0VBQzdELDZEQUE2RDtFQUM3RCwyT0FBMk87QUFDN087QUFDQTtBQUFBO0FBQUE7QUNUQTs7QUFBQTs7Ozs7RUFLRTs7QUFFRjtFQUNFLG1CQUFtQjtFQUNuQixzQ0FBc0M7RUFDdEMsNkNBQTZDO0VBQzdDLHlCQUF1RDtFQUF2RCx1REFBdUQ7RUFDdkQsOEJBQThCO0VBQzlCLGdCQUFnQjtFQUNoQiwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTs7Ozs7RUFLRTs7QUFFRjtFQUNFLGlCQUFpQjtFQUNqQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0FBUXpCOztFQU5FO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixpREFBaUQ7SUFDakQsbUJBQW1CO0VBQ3JCOztBQUdGO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBOzs7OztFQUtFOztBQUVGO0VBQ0UsbUJBQW1CO0VBQ25CLHNDQUFzQztFQUN0Qyw2Q0FBNkM7RUFDN0MseUJBQXVEO0VBQXZELHVEQUF1RDtFQUN2RCxnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLGdDQUFnQztFQUNoQywyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qiw4QkFBc0I7VUFBdEIsc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBOzs7OztDQUtDOztBQUVELDBEQUEwRDs7QUFFMUQ7RUFDRSwyQkFBMkI7RUFDM0IscUJBQXFCO0VBQ3JCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2Isd0JBQWtCO01BQWxCLHFCQUFrQjtVQUFsQixrQkFBa0I7RUFDbEIsdUJBQXNCO01BQXRCLG9CQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsd0JBQXdCO0VBQ3hCLDRCQUE0QjtFQUM1QixrQkFBa0I7RUFDbEIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsNENBQTRDO0VBQzVDLHFCQUF3QztFQUF4Qyx3Q0FBd0M7QUFDMUM7O0FBRUE7RUFDRSwwQ0FBMEM7RUFDMUMsc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0UsMkNBQTJDO0VBQzNDLHVDQUF1QztBQUN6Qzs7QUFFQTtFQUNFLG1CQUFPO01BQVAsV0FBTztVQUFQLE9BQU87RUFDUCxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDhCQUFtQjtFQUFuQiw2QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSxtQkFBVztNQUFYLGlCQUFXO1VBQVgsV0FBVztBQUNiOztBQUVBO0VBQ0UsY0FBaUM7RUFBakMsaUNBQWlDO0FBQ25DOztBQUVBO0VBQ0UsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0UsZ0NBQWdDO0FBQ2xDOztBQUVBO0VBQ0UsU0FBUztBQUNYOztBQUVBO0VBQ0UsbUJBQU87TUFBUCxXQUFPO1VBQVAsT0FBTztFQUNQLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF3QjtFQUN4QiwyQkFBa0I7TUFBbEIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0Usb0JBQWM7TUFBZCxjQUFjO0FBQ2hCOztBQUVBLHdDQUF3Qzs7QUFFeEMsaUVBQWlFO0FBQ2pFO0VBQ0U7SUFDRSxtQkFBZTtRQUFmLGVBQWU7RUFDakI7O0VBRUE7SUFDRSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYztFQUNoQjtBQUNGO0FBQ0E7Ozs7O0NBS0M7O0FBRUQ7RUFDRTs7R0FFQzs7RUFFRCx3Q0FBd0M7RUFDeEMsdUNBQXVDOztFQUV2QyxvRkFBb0Y7RUFDcEYsa0RBQWtEO0VBQ2xELG1CQUFtQjtFQUNuQixTQUFTO0VBQ1Qsd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtBQUNsQjtFQUdFO0lBQ0Usc0NBQXNDO0VBQ3hDOztBQUdGO0VBQ0UsZ0RBQWdEO0FBS2xEOztFQUhFO0lBQ0Usc0NBQXNDO0VBQ3hDOztBQUdGO0VBQ0UsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsbUJBQW1CO0FBS3JCOztFQUhFO0lBQ0UscUNBQXFDO0VBQ3ZDOztBQUdGOztFQUVFOztBQUVGO0VBQ0U7SUFDRSw4Q0FBOEM7RUFLaEQ7O0lBSEU7TUFDRSxvQ0FBb0M7SUFDdEM7QUFFSjs7QUFFQTtFQUNFLDhDQUE4QztBQUtoRDs7RUFIRTtJQUNFLG9DQUFvQztFQUN0Qzs7QUFHRjtFQUNFO0lBQ0Usa0NBQWtDO0lBQ2xDO3dDQUNvQztJQUNwQyxvQkFBb0I7SUFDcEIsbUJBQW1CO0VBQ3JCO0FBQ0Y7O0FBRUE7RUFDRSxrQ0FBa0M7RUFDbEM7c0NBQ29DO0VBQ3BDLG9CQUFvQjtFQUNwQixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRTtJQUNFLHVEQUF1RDtJQUN2RCwwREFBMEQ7RUFDNUQ7QUFDRjtFQUdFO0lBQ0UsNkNBQTZDO0VBQy9DO0FBRUY7Ozs7O0NBS0M7O0FBRUQ7Ozs7Ozs7RUFPRTs7QUFFRjtFQUNFLDhEQUE4RDtFQUM5RCx3Q0FBd0M7RUFDeEMsdUNBQXVDO0VBQ3ZDLG1CQUFtQjtFQUNuQixxQ0FBcUM7RUFDckMsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLHNYQUE4VztVQUE5Vyw4V0FBOFc7RUFDOVcsb0NBQTRCO1VBQTVCLDRCQUE0QjtFQUM1Qiw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHVCQUFlO1VBQWYsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxrQkFBa0I7O0VBRWxCLHlEQUF5RDtFQUN6RCwyQkFBMkI7RUFDM0IsMEJBQTBCOztFQUUxQix3Q0FBd0M7RUFDeEMscUJBQXFCO0VBQ3JCLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsOEJBQXNCO1VBQXRCLHNCQUFzQjs7RUFFdEIsaURBQWlEOztFQUVqRCx5Q0FBeUM7QUFDM0M7O0FBRUE7RUFDRSx5REFBeUQ7QUFDM0Q7O0FBRUE7RUFDRSwwREFBMEQ7QUFDNUQ7O0FBRUE7RUFDRTtJQUNFLHlDQUF5QztFQUMzQztBQUNGO0FBQ0E7Ozs7O0NBS0M7O0FBRUQ7RUFDRSxvQ0FBb0M7RUFDcEMsa0RBQWtEO0VBQ2xELDRDQUE0QztFQUM1Qyw2Q0FBNkM7RUFDN0Msa0JBQWtCO0VBQ2xCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0U7dUJBQ3FCO0VBQ3JCLHFCQUFxQjtFQUNyQixvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSwyQ0FBMkM7RUFDM0Msc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0UseUNBQXlDO0VBQ3pDLHNDQUFzQztBQUN4Qzs7QUFFQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTs7Ozs7Q0FLQzs7QUFFRDs7RUFFRTs7QUFFRjtFQUNFLHNEQUFzRDtFQUN0RCxxQ0FBcUM7QUFDdkM7O0FBRUE7RUFDRSxzREFBc0Q7RUFDdEQsc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0Usc0RBQXNEO0VBQ3RELG9DQUFvQztBQUN0Qzs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLHNEQUFzRDtFQUN0RCxxQ0FBcUM7QUFDdkM7O0FBRUE7RUFDRSxzREFBc0Q7RUFDdEQsc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0Usc0RBQXNEO0VBQ3RELG9DQUFvQztBQUN0Qzs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLHNEQUFzRDtFQUN0RCxxQ0FBcUM7QUFDdkM7O0FBRUE7RUFDRSxzREFBc0Q7RUFDdEQsc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0Usc0RBQXNEO0VBQ3RELG9DQUFvQztBQUN0Qzs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLHNEQUFzRDtFQUN0RCxxQ0FBcUM7QUFDdkM7O0FBRUE7RUFDRSxzREFBc0Q7RUFDdEQsc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0Usc0RBQXNEO0VBQ3RELG9DQUFvQztBQUN0Qzs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLHlEQUF5RDtFQUN6RCx3Q0FBd0M7QUFDMUM7O0FBRUE7RUFDRSx5REFBeUQ7RUFDekQseUNBQXlDO0FBQzNDOztBQUVBO0VBQ0UseURBQXlEO0VBQ3pELHVDQUF1QztBQUN6Qzs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLHlEQUF5RDtFQUN6RCx3Q0FBd0M7QUFDMUM7O0FBRUE7RUFDRSx5REFBeUQ7RUFDekQseUNBQXlDO0FBQzNDOztBQUVBOztFQUVFOztBQUVGO0VBQ0UseURBQXlEO0VBQ3pELHdDQUF3QztBQUMxQzs7QUFFQTtFQUNFLHlEQUF5RDtFQUN6RCx5Q0FBeUM7QUFDM0M7O0FBRUE7O0VBRUU7O0FBRUY7RUFDRSx5REFBeUQ7RUFDekQsd0NBQXdDO0FBQzFDOztBQUVBO0VBQ0UseURBQXlEO0VBQ3pELHlDQUF5QztBQUMzQzs7QUFFQTs7Ozs7OztHQU9HO0FBQ0g7RUFDRSwyREFBdUQ7VUFBdkQsbURBQXVEO0VBQXZELCtEQUF1RDtVQUF2RCx1REFBdUQ7QUFDekQ7QUFDQTs7Ozs7Q0FLQzs7QUFFRDtFQUNFLHFCQUFxQjtFQUNyQiw4QkFBc0I7VUFBdEIsc0JBQXNCOztFQUV0QixpREFBaUQ7RUFDakQsK0NBQStDO0VBQy9DLGtCQUFrQjtFQUNsQiwyREFBMkQ7RUFDM0QseUJBQXlCO0VBQ3pCLFdBQVcsRUFBRSxpRUFBaUU7RUFDOUU7Z0VBQXdDO0VBQXhDLHdDQUF3QztFQUN4QyxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLHlCQUFpQjtLQUFqQixzQkFBaUI7TUFBakIscUJBQWlCO1VBQWpCLGlCQUFpQixFQUFFLDZEQUE2RDs7RUFFaEY7NENBQzBDO0VBQzFDLDhDQUE4QztBQUNoRDs7QUFFQTtFQUNFOztJQUVFO0VBQ0YsVUFBVTtFQUNWLFNBQVM7RUFDVCx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBOztFQUVFLG1CQUFtQjtFQUNuQixtQ0FBbUM7RUFDbkMsdUNBQXVDO0FBQ3pDOztBQUVBO0VBQ0Usb0JBQWlCO0tBQWpCLGlCQUFpQjtFQUNqQixnQkFBZ0I7QUFDbEI7O0FBRUEseUVBQXlFO0FBQ3pFOztFQUVFOzswREFFd0Q7RUFDeEQsZ0NBQWdDO0VBQ2hDLDhCQUE4Qjs7RUFFOUIsMkRBQTJEO0VBQzNELHNDQUFzQztBQUN4Qzs7QUFFQTtFQUNFLGlEQUFpRDtFQUNqRCxzREFBc0Q7QUFDeEQ7O0FBRUE7RUFDRSxpREFBaUQ7RUFDakQsc0RBQXNEO0FBQ3hEOztBQUVBO0VBQ0UsaURBQWlEO0VBQ2pELHNEQUFzRDtBQUN4RDs7QUFFQTtFQUNFLGlEQUFpRDtFQUNqRCxzREFBc0Q7QUFDeEQ7O0FBRUE7RUFDRSxpREFBaUQ7RUFDakQsc0RBQXNEO0FBQ3hEOztBQUVBO0VBQ0UsaURBQWlEO0VBQ2pELHNEQUFzRDtBQUN4RDs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLFdBQVc7RUFDWCxjQUFjO0VBQ2QsV0FBVztBQUNiOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0Usa0RBQWtEO0VBQ2xELGdDQUFnQztBQUNsQzs7QUFFQTtFQUNFLHlEQUF3RDtVQUF4RCx3REFBd0Q7QUFDMUQ7O0FBRUE7RUFDRTs0REFDMEQ7RUFDMUQsZUFBZTtFQUNmLDJCQUEyQjtBQUM3QjtBQUNBOzs7OztDQUtDOztBQUVEO0VBQ0UsMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIsd0JBQXdCO0VBQ3hCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHFCQUFxQixFQUFFLGdCQUFnQjtFQUN2QyxnREFBZ0Q7RUFDaEQsOEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSwwQ0FBeUM7VUFBekMseUNBQXlDO0FBQzNDOztBQUVBO0VBQ0UsK0RBQStEOztFQUUvRCxzRUFBc0U7RUFDdEUsOENBQThDO0VBQzlDLGFBQWE7RUFDYixjQUFvQztFQUFwQyxvQ0FBb0M7QUFLdEM7O0VBSEU7SUFDRSxvQ0FBb0M7RUFDdEM7O0FBR0Y7RUFDRSwrQ0FBK0M7RUFDL0MsY0FBb0M7RUFBcEMsb0NBQW9DO0FBS3RDOztFQUhFO0lBQ0Usb0NBQW9DO0VBQ3RDOztBQUdGO0VBQ0UsNkNBQTZDO0VBQzdDLDZDQUE2QztBQUsvQzs7RUFIRTtJQUNFLDZDQUE2QztFQUMvQzs7QUFHRjtFQUNFLDBDQUEwQztFQUMxQyx1Q0FBdUM7QUFLekM7O0VBSEU7SUFDRSx5Q0FBeUM7RUFDM0M7O0FBR0Y7RUFDRSw0Q0FBNEM7RUFDNUMseUNBQXlDO0FBSzNDOztFQUhFO0lBQ0UsMkNBQTJDO0VBQzdDOztBQUdGO0VBQ0UsOENBQThDO0VBQzlDLGNBQTZDO0VBQTdDLDZDQUE2QztBQUsvQzs7RUFIRTtJQUNFLDZDQUE2QztFQUMvQzs7QUFHRjtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTs7Ozs7Q0FLQzs7QUFFRDtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLHdCQUF3QjtFQUN4QiwwQ0FBc0M7VUFBdEMsc0NBQXNDO0VBQ3RDLCtEQUEyRDtVQUEzRCwyREFBMkQ7RUFDM0QsOEJBQXNCO1VBQXRCLHNCQUFzQjtBQXlDeEI7O0VBdkNFO0lBQ0Usb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBd0I7O0lBRXhCLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIsU0FBUztJQUNULFVBQVU7RUErQlo7O0lBN0JFO01BQ0UsZUFBZTtJQUNqQjs7SUFFQTtNQUNFLHFDQUFxQztNQUNyQyxzQ0FBc0M7SUFDeEM7O0lBRUE7Ozs7TUFJRTtJQUNGO01BQ0UscUJBQXFCO01BQ3JCLHdCQUF3QjtNQUN4QixnQ0FBd0I7Y0FBeEIsd0JBQXdCO01BQ3hCLDZEQUE0RDtjQUE1RCw0REFBNEQ7TUFDNUQsK0JBQStCO01BQy9CLFdBQVc7SUFDYjs7SUFFQSxjQUFjO01BRVo7UUFDRSwwQ0FBeUM7Z0JBQXpDLHlDQUF5QztNQUMzQztBQUlOOzs7OztDQUtDOztBQUVEO0VBQ0UscUJBQXFCO0VBQ3JCLDBCQUEwQjtFQUMxQixjQUFvQztFQUFwQyxvQ0FBb0M7RUFDcEMsMENBQTBDO0VBQzFDLHFCQUE0QztFQUE1Qyw0Q0FBNEM7RUFDNUMsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsY0FBb0M7RUFBcEMsb0NBQW9DO0FBQ3RDOztBQUVBO0VBQ0UsY0FBNkM7RUFBN0MsNkNBQTZDO0FBQy9DOztBQUVBO0VBQ0U7SUFDRSxtQkFBcUM7SUFBckMscUNBQXFDO0VBQ3ZDOztFQUVBO0lBQ0Usb0NBQW9DO0VBQ3RDO0FBQ0Y7O0FBRUE7RUFDRSw2Q0FBNkM7QUFDL0M7O0FBRUE7RUFDRSxtQkFBeUM7RUFBekMseUNBQXlDO0FBQzNDOztBQUVBO0VBQ0UsbUJBQWtEO0VBQWxELGtEQUFrRDtBQUNwRDs7QUFFQTtFQUNFLHVDQUF1QztBQUN6Qzs7QUFFQTtFQUNFLHVDQUF1QztBQUN6QztBQUNBOzs7OztDQUtDOztBQUVEO0VBQ0UscUJBQTRDO0VBQTVDLDRDQUE0QztFQUM1QyxlQUFlO0VBQ2Ysd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix3QkFBd0I7RUFDeEIsOEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixzQ0FBc0M7RUFDdEMsaUNBQXlCO1VBQXpCLHlCQUF5QjtFQUN6QixrRUFBMEQ7RUFBMUQsMERBQTBEO0FBQzVEOztBQUVBO0VBQ0UsK0NBQStDO0VBQy9DLGdDQUF3QjtFQUF4Qiw2QkFBd0I7RUFBeEIsd0JBQXdCOztFQUV4QixxQ0FBcUM7RUFDckMscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0UsOEJBQXNCO0VBQXRCLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsZ0RBQWdEO0FBQ2xEOztBQUVBO0VBQ0UsZ0RBQWdEO0FBQ2xEOztBQUVBOztFQUVFOztBQUVGO0VBQ0Usa0NBQWtDO0VBQ2xDLG1DQUFtQztFQUNuQyxvQ0FBb0M7QUFPdEM7O0VBTEU7SUFDRSxtQ0FBbUM7SUFDbkMsZ0NBQWdDO0lBQ2hDLGlDQUFpQztFQUNuQzs7QUFHRjtFQUNFLDBDQUF5QztVQUF6Qyx5Q0FBeUM7QUFDM0M7O0FBRUE7RUFDRSxrQ0FBa0M7RUFDbEMsbUNBQW1DO0VBQ25DLG1DQUFtQztBQU9yQzs7RUFMRTtJQUNFLG1DQUFtQztJQUNuQywrQkFBK0I7SUFDL0IsZ0NBQWdDO0VBQ2xDOztBQUdGO0VBQ0UsMENBQXlDO1VBQXpDLHlDQUF5QztBQUMzQzs7QUFFQTs7RUFFRTs7QUFFRjtFQUNFLDZDQUE2QztFQUM3QyxtQkFBbUQ7RUFBbkQsbURBQW1EO0VBQ25ELGVBQWU7QUFDakI7O0FBRUE7RUFDRSw2Q0FBNkM7QUFDL0M7O0FBRUE7RUFDRTtJQUNFLG1CQUFzRDtJQUF0RCxzREFBc0Q7RUFDeEQ7QUFDRjs7QUFFQTs7RUFFRSxtQkFBc0Q7RUFBdEQsc0RBQXNEO0FBQ3hEOztBQUVBO0VBQ0Usa0RBQWtEO0VBQ2xELHlEQUF5RDtBQUMzRDs7QUFFQTtFQUNFLGdEQUFnRDtBQUNsRDs7QUFFQTtFQUNFO0lBQ0UsZ0RBQWdEO0VBQ2xEO0FBQ0Y7O0FBRUE7O0VBRUUsNEVBQTRFO0VBQzVFLHFDQUFxQztBQUN2Qzs7QUFFQTtFQUNFLCtEQUErRDtFQUMvRCxjQUFvQztFQUFwQyxvQ0FBb0M7RUFDcEMsOENBQThDO0FBQ2hEOztBQUVBO0VBQ0Usb0NBQW9DO0FBQ3RDOztBQUVBO0VBQ0U7SUFDRSx5REFBeUQ7SUFDekQsZ0RBQWdEO0VBQ2xEO0FBQ0Y7O0FBRUE7O0VBRUUseURBQXlEO0VBQ3pELDhDQUE4QztBQUNoRDs7QUFFQTtFQUNFLDhDQUE4QztFQUM5QyxzRUFBc0U7RUFDdEUsMkRBQTJEO0FBQzdEOztBQUVBO0VBQ0UscURBQXFEO0VBQ3JELGNBQTZDO0VBQTdDLDZDQUE2QztBQUMvQzs7QUFFQTtFQUNFLDZDQUE2QztBQUMvQzs7QUFFQTtFQUNFO0lBQ0Usc0RBQXNEO0lBQ3RELCtDQUErQztFQUNqRDtBQUNGOztBQUVBOztFQUVFLHNEQUFzRDtFQUN0RCx1REFBdUQ7QUFDekQ7O0FBRUE7RUFDRSxZQUFZO0VBQ1osY0FBb0M7RUFBcEMsb0NBQW9DO0VBQ3BDLDBCQUEwQjtFQUMxQix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRTtJQUNFLGdEQUFnRDtFQUNsRDtBQUNGOztBQUVBOztFQUVFLDhDQUE4QztBQUNoRDs7QUFFQTtFQUNFLHFDQUFxQzs7RUFFckMsa0RBQWtEO0VBQ2xELGtDQUFrQztBQUNwQzs7QUFFQTtFQUNFLGNBQTZDO0VBQTdDLDZDQUE2QztBQUMvQzs7QUFFQTtFQUNFO0lBQ0UsK0NBQStDO0VBQ2pEO0FBQ0Y7O0FBRUE7O0VBRUUsdURBQXVEO0FBQ3pEOztBQUVBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBOzs7OztFQUtFOztBQUVGO0VBQ0Usb0NBQW9DO0VBQ3BDLGNBQW9DO0VBQXBDLG9DQUFvQztFQUNwQyw2QkFBNkI7RUFDN0I7aURBQytDO0VBQy9DLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2Ysb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixnREFBZ0Q7QUFDbEQ7O0FBRUE7RUFDRTtJQUNFLHlEQUF5RDtJQUN6RCw4Q0FBOEM7RUFDaEQ7QUFDRjs7QUFFQTtFQUNFLHFCQUFxRDtFQUFyRCxxREFBcUQ7RUFDckQsbUJBQW1EO0VBQW5ELG1EQUFtRDtFQUNuRCw2Q0FBNkM7QUFDL0M7QUFDQTs7Ozs7Q0FLQzs7QUFFRDtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0FBa0l4Qjs7RUFoSUU7SUFDRSxvQ0FBb0M7SUFDcEMseUNBQXFDO1lBQXJDLHFDQUFxQztFQUN2Qzs7RUFFQTtJQUNFLGlCQUFpQjtJQUNqQiw2REFBNkQ7SUFDN0QsOENBQThDO0lBQzlDLHFCQUFxQjtJQUNyQjt5QkFDcUI7SUFDckIsOEJBQXNCO1lBQXRCLHNCQUFzQjtJQUN0QixjQUFvQztJQUFwQyxvQ0FBb0M7SUFDcEMscUNBQXFDO0lBQ3JDLGVBQWU7SUFDZixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHlCQUE4QjtRQUE5QixzQkFBOEI7WUFBOUIsOEJBQThCO0lBQzlCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF3QjtFQU8xQjtNQUpJOztJQURGO1FBRUksaURBQWlDO1FBQWpDLHlDQUFpQztRQUFqQyxpQ0FBaUM7UUFBakM7SUFFSjtNQURFOztFQUlKOztJQUVFO0lBRUE7TUFDRSxpQ0FBeUI7Y0FBekIseUJBQXlCO0lBQzNCOztFQUdGO0lBQ0Usc0NBQXNDO0VBQ3hDOztFQUVBO0lBQ0UsYUFBYTtJQUNiLDZFQUE0RTtZQUE1RSw0RUFBNEU7SUFDNUUsMkVBQTBFO1lBQTFFLDBFQUEwRTtJQUMxRSwrQkFBK0I7SUFDL0IscURBQWtEO1lBQWxELGtEQUFrRDtJQUNsRCw4QkFBc0I7WUFBdEIsc0JBQXNCO0VBQ3hCOztFQUVBO0lBQ0UsYUFBYTtJQUNiLGtCQUFrQjtFQTRDcEI7O0lBMUNFO01BQ0U7O1FBRUU7TUFDRixrQkFBa0I7TUFDbEIsY0FBYztNQUNkLGlCQUFpQjtNQUNqQiw4Q0FBOEM7TUFDOUMsK0RBQStEO01BQy9ELHdCQUFxQjtjQUFyQixxQkFBcUI7TUFDckIsNENBQTRDO01BQzVDLDBDQUEwQztNQUMxQyw4QkFBc0I7Y0FBdEIsc0JBQXNCO01BQ3RCLG9EQUE0QztjQUE1Qyw0Q0FBNEM7TUFDNUMsU0FBUztNQUNULFVBQVU7TUFDViwwQ0FBc0M7Y0FBdEMsc0NBQXNDO01BQ3RDLGVBQWU7SUF3QmpCOztNQXRCRTtRQUNFLG1CQUFtQjtRQUNuQixvQ0FBb0M7UUFDcEMsZ0RBQWdEO1FBQ2hELHVDQUFxRDtnQkFBckQsbUNBQXFEO1FBQXJELHlEQUFxRDtnQkFBckQscURBQXFEO1FBQ3JELHNDQUFzQztRQUN0QyxvQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtRQUNiLHlCQUE4QjtZQUE5QixzQkFBOEI7Z0JBQTlCLDhCQUE4QjtRQUM5Qix5QkFBbUI7WUFBbkIsc0JBQW1CO2dCQUFuQixtQkFBbUI7UUFDbkIsd0JBQXdCO01BWTFCOztRQVZFO1VBQ0U7WUFDRSxxQ0FBcUM7VUFDdkM7UUFDRjs7UUFFQTtVQUNFLGNBQW9DO1VBQXBDLG9DQUFvQztVQUNwQyxtQkFBcUM7VUFBckMscUNBQXFDO1FBQ3ZDOztFQUtOO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTtJQUNFLHFDQUFxQztJQUNyQyxzQ0FBc0M7RUFDeEM7O0VBRUE7SUFDRSxvQ0FBb0M7SUFDcEMsY0FBNkM7SUFBN0MsNkNBQTZDO0lBQzdDLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isd0JBQXdCO0VBQzFCOztFQUVBOztJQUVFLDBDQUF1QztZQUF2Qyx1Q0FBdUM7RUFDekM7SUFHRTtNQUNFLGNBQTZDO01BQTdDLDZDQUE2QztJQUMvQzs7SUFFQTtNQUNFLHFCQUFvRDtNQUFwRCxvREFBb0Q7SUFDdEQ7QUFHSjs7Ozs7Q0FLQzs7QUFFRDtFQUNFLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLG1CQUFPO01BQVAsV0FBTztVQUFQLE9BQU87RUFDUCxvREFBbUQ7VUFBbkQsbURBQW1EOztFQUVuRDs7O0lBR0U7RUFDRixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxVQUFVO0VBQ1Ysc0NBQXNDO0VBQ3RDLDZCQUE2QjtFQUM3QixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLGdDQUFnQztFQUNoQyxxQ0FBcUM7RUFDckMsNEJBQTRCO0VBQzVCLGlCQUFpQjtFQUNqQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxnQ0FBZ0M7RUFDaEMsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0U7SUFDRSxvQ0FBb0M7SUFDcEMsc0RBQXNEO0VBQ3hEO0FBQ0Y7O0FBRUE7RUFDRSxrREFBa0Q7RUFDbEQsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLHFDQUFxQztBQUN2Qzs7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixzQ0FBc0M7QUFDeEM7QUFDQTs7Ozs7OztDQU9DOztBQUVEO0VBQ0UsNkRBQTZEO0VBQzdELDhDQUE4QztFQUM5QyxxQkFBcUI7RUFDckIsZ0RBQWdEO0VBQ2hELDhCQUFzQjtVQUF0QixzQkFBc0I7O0VBRXRCOzs7O0dBSUM7RUFDRCx1Q0FBK0I7VUFBL0IsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0U7SUFDRSx5REFBeUQ7O0lBRXpELGdEQUFnRDtJQUNoRCxvREFBNEM7WUFBNUMsNENBQTRDO0VBQzlDO0FBQ0Y7O0FBRUE7RUFDRSx5REFBeUQ7QUFDM0Q7O0FBRUEsb0VBQW9FO0FBQ3BFO0VBQ0Usa0RBQWtEO0VBQ2xELHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHFCQUFvRDtFQUFwRCxvREFBb0Q7QUFDdEQ7O0FBRUE7RUFDRSx3QkFBZ0I7VUFBaEIsZ0JBQWdCO0VBQ2hCLCtDQUErQztFQUMvQyw4Q0FBOEM7RUFDOUMscUNBQXFDO0VBQ3JDLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLHdCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIsZ0RBQWdEO0VBQ2hELGtEQUFrRDtFQUNsRCxzQ0FBc0M7QUFDeEM7O0FBRUE7RUFDRSwyREFBdUQ7VUFBdkQsbURBQXVEO0VBQXZELCtEQUF1RDtVQUF2RCx1REFBdUQ7QUFDekQ7QUFDQTs7Ozs7OztDQU9DOztBQUVEO0VBQ0UsWUFBWTs7RUFFWixhQUFhO0VBQ2IsaUJBQXdCO0VBQXhCLHdCQUF3QjtFQUN4QixnQkFBdUI7RUFBdkIsdUJBQXVCO0FBQ3pCOztBQUVBOztFQUVFLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsY0FBYztFQUNkLHdCQUF3QjtFQUN4Qix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsU0FBUztFQUNULGVBQWU7QUFDakI7O0FBRUE7RUFDRSxvQkFBb0I7RUFDcEIsa0JBQWtCLEVBQUUsOEJBQThCO0VBQ2xELGlCQUFpQjtFQUNqQix5REFBeUQ7QUFDM0Q7O0FBRUE7RUFDRSx3QkFBd0I7RUFDeEIsdUJBQXVCOztFQUV2QixxQ0FBcUM7RUFDckMsWUFBWTs7RUFFWix5QkFBeUI7RUFDekIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsaURBQWlEO0VBQ2pELDZDQUE2QztBQUMvQzs7QUFFQTtFQUNFLDZDQUE2QztBQUMvQzs7QUFFQTtFQUNFLGtEQUFrRDtFQUNsRCxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSw4Q0FBOEM7RUFDOUMsK0NBQStDO0FBQ2pEOztBQUVBO0VBQ0Usb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsMkRBQTJEO0VBQzNELGdEQUFnRDtBQUNsRDs7QUFFQTtFQUNFLHlEQUF5RDtFQUN6RCx1REFBdUQ7QUFDekQ7O0FBRUE7RUFDRSxzQ0FBc0M7QUFDeEM7O0FBRUE7RUFDRTtJQUNFLGdEQUFnRDs7SUFFaEQsZ0RBQWdEO0lBQ2hELG9EQUE0QztZQUE1Qyw0Q0FBNEM7RUFDOUM7O0VBRUE7SUFDRSx1Q0FBdUM7RUFDekM7O0VBRUE7SUFDRSxnREFBZ0Q7SUFDaEQsOENBQThDO0VBQ2hEOztFQUVBO0lBQ0Usa0RBQWtEO0lBQ2xELGdEQUFnRDtFQUNsRDtBQUNGOztBQUVBO0VBQ0Usc0RBQXNEO0FBQ3hEOztBQUVBO0VBQ0Usc0RBQXNEO0VBQ3RELGtEQUFrRDtBQUNwRDtBQUNBOzs7OztDQUtDOztBQUVEO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixTQUFTO0FBTVg7O0VBSkU7SUFDRSxtQkFBTztRQUFQLFdBQU87WUFBUCxPQUFPO0lBQ1Asa0JBQWtCO0VBQ3BCOztBQUdGO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixzQ0FBc0M7RUFDdEMseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXdCO0FBQzFCO0FBQ0E7Ozs7Ozs7Q0FPQzs7QUFFRCx3Q0FBd0M7O0FBRXhDOztFQUVFOztBQUVGO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsd0JBQXdCO0FBQzFCOztBQUVBOztFQUVFOztBQUVGO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFBbUI7RUFBbkIsNkJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0UsbUJBQU87TUFBUCxXQUFPO1VBQVAsT0FBTztFQUNQLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UseURBQXlEO0VBQ3pEOztHQUVDOztFQUVELGlEQUFpRDtFQUNqRCxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0FBQ3JCOztBQUVBOztFQUVFOztBQUVGO0VBQ0Usb0NBQW9DO0VBQ3BDLHNEQUFzRDtBQUN4RDs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxjQUE2QztFQUE3Qyw2Q0FBNkM7QUFDL0M7O0FBRUE7NkVBQzZFO0FBQzdFOzs7RUFHRSxxQ0FBcUM7RUFDckMsbUJBQW1CO0FBQ3JCOztBQUVBOztFQUVFOztBQUVGO0VBQ0UscUNBQXFDO0VBQ3JDLHNEQUFzRDtFQUN0RCwwQ0FBdUM7VUFBdkMsdUNBQXVDO0FBQ3pDOztBQUVBO0VBQ0Usc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0UsY0FBNkM7RUFBN0MsNkNBQTZDO0FBQy9DOztBQUVBO0VBQ0UsY0FBNEM7RUFBNUMsNENBQTRDO0FBQzlDOztBQUVBOzZFQUM2RTtBQUM3RTs7O0VBR0UscUNBQXFDO0FBQ3ZDOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0Qix1Q0FBc0M7VUFBdEMsc0NBQXNDOztFQUV0QywwRUFBMEU7RUFDMUUsMkRBQTJEO0VBQzNELDREQUE0RDtBQUM5RDtBQUNBOzs7OztDQUtDOztBQUVEO0VBQ0U7SUFDRSxnQ0FBd0I7WUFBeEIsd0JBQXdCO0VBQzFCOztFQUVBO0lBQ0Usa0NBQTBCO1lBQTFCLDBCQUEwQjtFQUM1QjtBQUNGOztBQVJBO0VBQ0U7SUFDRSxnQ0FBd0I7WUFBeEIsd0JBQXdCO0VBQzFCOztFQUVBO0lBQ0Usa0NBQTBCO1lBQTFCLDBCQUEwQjtFQUM1QjtBQUNGOztBQUVBO0VBQ0Usc0NBQXNDO0VBQ3RDLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixnQkFBZ0I7QUFLbEI7O0VBSEU7O0FBUkY7SUFTSSxtREFBMkM7WUFBM0M7QUFFSjtFQURFO0FBRUY7Ozs7Ozs7Q0FPQzs7QUFFRDtFQUNFLDBCQUEwQjtFQUMxQixrQ0FBa0M7RUFDbEMsb0NBQW9DOztFQUVwQyxvQkFBYTs7RUFBYixvQkFBYTs7RUFBYixhQUFhO0VBQ2IsZ0NBQXdCO0VBQXhCLDZCQUF3QjtFQUF4Qix3QkFBd0I7RUFDeEIsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGVBQWU7O0VBRWY7eURBQ3VEO0VBQ3ZELGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLFVBQVU7O0VBRVYsMEJBQTBCO0VBQzFCLGlFQUFpRTtFQUNqRSxnQkFBZ0I7O0VBRWhCLDZDQUE2QztFQUM3QyxrQkFBa0I7RUFDbEIsUUFBUTs7RUFFUjs7c0NBRW9DO0VBQ3BDLDBEQUEwRDtFQUMxRCxnQ0FBZ0M7O0VBRWhDLHNGQUFzRjtFQUN0RixpRUFBZ0U7VUFBaEUsZ0VBQWdFOztFQUVoRSwwRkFBMEY7RUFDMUYsMkVBQTBFO1VBQTFFLDBFQUEwRTtBQUM1RTs7QUFFQTtFQUNFLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsaUNBQWlDO0VBQ2pDLGdDQUFnQztFQUNoQyw2REFBNkQ7RUFDN0QsOENBQThDO0VBQzlDLHFCQUFxQjtFQUNyQixnREFBZ0Q7QUFDbEQ7O0FBRUE7RUFDRTtJQUNFLHlEQUF5RDs7SUFFekQsZ0RBQWdEO0lBQ2hELG9EQUE0QztZQUE1Qyw0Q0FBNEM7RUFDOUM7QUFDRjs7QUFFQTtFQUNFLHFDQUFxQztFQUNyQyxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSx3QkFBZ0I7VUFBaEIsZ0JBQWdCO0VBQ2hCLCtDQUErQztFQUMvQyw4Q0FBOEM7QUFDaEQ7O0FBRUE7RUFDRSxzQ0FBc0M7QUFDeEM7O0FBRUE7RUFDRSx3QkFBZ0I7VUFBaEIsZ0JBQWdCO0VBQ2hCLGdEQUFnRDtFQUNoRCxrREFBa0Q7QUFDcEQ7O0FBRUE7RUFDRSxxQkFBb0Q7RUFBcEQsb0RBQW9EO0FBQ3REOztBQUVBLG9FQUFvRTtBQUNwRTtFQUNFLGtEQUFrRDtFQUNsRCx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSw2Q0FBNkM7RUFDN0MsaURBQWlEO0FBQ25EO0FBQ0E7Ozs7Ozs7Q0FPQzs7QUFFRDtFQUNFLFlBQVk7O0VBRVosYUFBYTtFQUNiLGlCQUF3QjtFQUF4Qix3QkFBd0I7RUFDeEIsZ0JBQXVCO0VBQXZCLHVCQUF1QjtBQUN6Qjs7QUFFQTs7RUFFRSw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLGNBQWM7RUFDZCx3QkFBd0I7RUFDeEIsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsVUFBVTtFQUNWLFNBQVM7RUFDVCxlQUFlO0FBQ2pCOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIseURBQXlEOztFQUV6RCwwRUFBMEU7RUFDMUUsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGtCQUFrQjtFQUNsQix1QkFBdUI7RUFDdkIsOEJBQXNCO1VBQXRCLHNCQUFzQjs7RUFFdEIsMkRBQTJEO0VBQzNELDZCQUE2QjtFQUM3QixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxpREFBaUQ7RUFDakQsNkNBQTZDO0VBQzdDLGNBQVk7QUFDZDs7QUFFQTtFQUNFLGtEQUFrRDtFQUNsRCxvREFBb0Q7RUFDcEQsY0FBWTtBQUNkOztBQUVBO0VBQ0Usa0RBQWtEO0VBQ2xELG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLDJEQUEyRDtFQUMzRCxnREFBZ0Q7QUFDbEQ7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSw4Q0FBOEM7RUFDOUMsK0NBQStDO0FBQ2pEOztBQUVBO0VBQ0UseURBQXlEO0VBQ3pELHVEQUF1RDtBQUN6RDs7QUFFQTtFQUNFLGlEQUFpRDtFQUNqRCw2Q0FBNkM7RUFDN0MsY0FBWTtBQUNkOztBQUVBO0VBQ0U7SUFDRSxnREFBZ0Q7O0lBRWhELGdEQUFnRDtJQUNoRCxvREFBNEM7WUFBNUMsNENBQTRDO0VBQzlDOztFQUVBO0lBQ0UsNENBQTRDO0lBQzVDLDhDQUE4QztJQUM5QyxjQUFZO0VBQ2Q7O0VBRUE7SUFDRSxnREFBZ0Q7SUFDaEQsOENBQThDO0VBQ2hEOztFQUVBO0lBQ0Usa0RBQWtEO0lBQ2xELGdEQUFnRDtFQUNsRDtBQUNGOztBQUVBO0VBQ0Usc0RBQXNEO0FBQ3hEOztBQUVBO0VBQ0Usc0RBQXNEO0VBQ3RELGtEQUFrRDtBQUNwRDtBQUNBOzs7Ozs7O0NBT0M7O0FBRUQ7RUFDRSxhQUFhO0VBQ2Isb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQiw4QkFBc0I7VUFBdEIsc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsY0FBYztFQUNkLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsMkJBQW1CO1VBQW5CLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLFVBQVU7RUFDVixTQUFTO0VBQ1QsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixxQkFBNEM7RUFBNUMsNENBQTRDO0VBQzVDLDZEQUE2RDtFQUM3RCw4Q0FBOEM7RUFDOUMsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixpQ0FBeUI7VUFBekIseUJBQXlCO0VBQ3pCLCtDQUF1QztVQUF2Qyx1Q0FBdUM7RUFDdkMsMkRBQW1EO0VBQW5ELG1EQUFtRDtBQUNyRDs7QUFFQTtFQUNFLDJDQUEyQztFQUMzQyw2Q0FBNkM7QUFDL0M7O0FBRUE7RUFDRSw0Q0FBNEM7O0VBRTVDLFdBQVc7RUFDWCxjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsNEJBQTRCOztFQUU1QiwyREFBMkQ7RUFDM0Qsa0NBQWtDO0VBQ2xDLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsZ0NBQXdCO1VBQXhCLHdCQUF3QjtFQUN4QixpQ0FBeUI7VUFBekIseUJBQXlCO0VBQ3pCLCtDQUF1QztVQUF2Qyx1Q0FBdUM7RUFDdkMsZ0VBQWdEO0VBQWhELHdEQUFnRDtFQUFoRCxnREFBZ0Q7RUFBaEQsbUVBQWdEO0FBQ2xEOztBQUVBOzJCQUMyQjtBQUMzQjtFQUNFLGtEQUFrRDtFQUNsRCxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxtREFBbUQ7O0VBRW5ELG1DQUEyQjs7VUFBM0IsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0U7SUFDRSw4Q0FBOEM7SUFDOUMsZ0RBQWdEO0VBQ2xEO0FBQ0Y7O0FBRUE7RUFDRSw4Q0FBOEM7RUFDOUMsZ0RBQWdEO0FBQ2xEOztBQUVBO0VBQ0Usb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsMkRBQTJEO0VBQzNELGdEQUFnRDtBQUNsRDs7QUFFQTtFQUNFLDRDQUE0QztBQUM5Qzs7QUFFQTtFQUNFLDhDQUE4QztFQUM5QywrQ0FBK0M7QUFDakQ7O0FBRUE7RUFDRSx3REFBd0Q7QUFDMUQ7O0FBRUE7RUFDRSw2Q0FBNkM7RUFDN0MsMkNBQTJDO0FBQzdDOztBQUVBO0VBQ0UsbURBQW1EO0FBQ3JEOztBQUVBO0VBQ0UsdURBQXVEO0VBQ3ZELHlEQUF5RDtBQUMzRDs7QUFFQTtFQUNFLG1EQUFtRDtBQUNyRDs7QUFFQTtFQUNFO0lBQ0UseURBQXlEOztJQUV6RCxnREFBZ0Q7SUFDaEQsb0RBQTRDO1lBQTVDLDRDQUE0QztFQUM5QztBQUNGOztBQUVBO0VBQ0UseURBQXlEO0FBQzNEO0FBQ0E7Ozs7O0NBS0M7O0FBRUQ7RUFDRSxrQ0FBa0M7RUFDbEMsNEJBQTRCOztFQUU1QjtnQ0FDOEI7RUFDOUIsd0VBQXdFO0VBQ3hFLG9EQUFvRDtFQUNwRCwyQ0FBMkM7RUFDM0MsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0Usa0NBQWtDO0VBQ2xDLGlCQUFpQjtFQUNqQixnQkFBZ0I7QUFDbEI7QUFDQTs7Ozs7Q0FLQzs7QUFFRDtFQUNFLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLDRCQUE0QjtFQUM1QixrQ0FBa0M7QUFNcEM7O0VBSkU7SUFDRSxpQkFBaUI7SUFDakIsZ0JBQWdCO0VBQ2xCOztBQUdGO0VBQ0UsNEJBQTRCO0FBQzlCOztBQUVBO0VBQ0UsNEJBQTRCO0FBTTlCOztFQUpFO0lBQ0UsaUJBQWlCO0lBQ2pCLGdCQUFnQjtFQUNsQjs7QUFHRjtFQUNFLHNEQUFzRDtFQUN0RCxvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSxxREFBcUQ7RUFDckQsNkNBQTZDO0FBQy9DOztBQUVBO0VBQ0Usb0RBQW9EO0VBQ3BELGNBQTRDO0VBQTVDLDRDQUE0QztBQUM5Qzs7QUFFQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTs7Ozs7Q0FLQzs7QUFFRDtFQUNFLGFBQWE7RUFDYjs7Ozs7S0FLRztFQUNILHVCQUF1QjtFQUN2QixrQ0FBa0M7RUFDbEMsbUNBQW1DO0VBQ25DLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLHNCQUFzQjtFQUN0QixzQ0FBc0M7RUFDdEMscURBQXFEO0FBQ3ZEOztBQUVBOztFQUVFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSx1Q0FBdUM7QUFDekM7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsdUNBQXNDO1VBQXRDLHNDQUFzQztFQUN0QyxpQkFBaUI7RUFDakIsc0JBQXNCLEVBQUUsNEVBQTRFO0FBQ3RHOztBQUVBO0VBQ0Usd0NBQXdDO0FBTTFDOztFQUpFO0lBQ0Usa0RBQWtEO0lBQ2xELG9CQUFvQjtFQUN0Qjs7QUFHRjtFQUNFLGVBQWU7RUFDZix1Q0FBc0M7VUFBdEMsc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0UsdUNBQXNDO1VBQXRDLHNDQUFzQztBQUN4Qzs7QUFFQTtFQUNFLDBDQUEwQztFQUMxQyxhQUFhO0VBQ2Isb0JBQWM7TUFBZCxjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIsWUFBWTtBQUNkOztBQUVBO0VBQ0UsY0FBb0M7RUFBcEMsb0NBQW9DO0FBQ3RDOztBQUVBO0VBQ0Usb0NBQW9DO0FBQ3RDOztBQUVBO0VBQ0UscUNBQXFDO0FBQ3ZDOztBQUVBO0VBQ0UsY0FBNkM7RUFBN0MsNkNBQTZDO0FBQy9DOztBQUVBOztFQUVFLDZDQUE2QztBQUMvQzs7QUFFQSw4RUFBOEU7QUFDOUU7RUFDRSxlQUFnQjtFQUFoQixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSx3REFBd0Q7QUFDMUQ7O0FBRUE7RUFDRSwrQ0FBK0M7QUFDakQ7O0FBRUE7RUFDRTs7SUFFRSx3REFBd0Q7RUFDMUQ7O0VBRUE7O0lBRUUsK0NBQStDO0VBQ2pEOztFQUVBLDJEQUEyRDtFQUMzRDtJQUNFLGVBQWdCO0lBQWhCLGdCQUFnQjtFQUNsQjs7RUFFQTtJQUNFLGFBQWE7RUFDZjtBQUNGOztBQUVBOztFQUVFLHdEQUF3RDtBQUMxRDs7QUFFQTs7RUFFRSx1REFBdUQ7QUFDekQ7O0FBRUE7RUFDRSxvQkFBb0I7QUFDdEI7O0FBRUE7OztFQUdFLHFDQUFxQztBQUN2QztBQUNBOzs7OztDQUtDOztBQUVEO0VBQ0UsZUFBZTtFQUNmLFFBQVE7O0VBRVI7Y0FDWTtFQUNaLGdDQUFnQztBQUNsQzs7QUFFQTtFQUNFLGVBQWU7RUFDZiw4Q0FBOEM7RUFDOUMsa0JBQWtCO0VBQ2xCLGVBQWU7O0VBRWY7V0FDUztFQUNULGtEQUFrRDtFQUNsRCwrQkFBK0M7RUFBL0MsK0NBQStDO0VBQy9DLDZCQUE2QztFQUE3Qyw2Q0FBNkM7RUFDN0Msb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7O0VBRXRCLGlEQUFpRDtFQUNqRCxxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLDBCQUEwQjtFQUMxQiwrQ0FBK0M7RUFDL0MsNkJBQTZCO0VBQzdCOzs7R0FHQztBQUNIOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QiwwQkFBMEI7RUFDMUIsaURBQWlEO0VBQ2pELDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHdCQUF3QjtFQUN4Qjt3QkFDc0I7RUFDdEIsK0NBQStDO0VBQy9DLDZDQUE2Qzs7RUFFN0M7dUVBQ3FFO0VBQ3JFLGNBQWM7RUFDZCxjQUFjO0VBQ2QscUJBQXFCOztFQUVyQiwwQkFBMEI7RUFDMUIsMENBQTBDO0FBQzVDOztBQUVBO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixvQ0FBb0M7RUFDcEMsMERBQTBEO0VBQzFELGtEQUFrRDtFQUNsRCwyQ0FBMkM7RUFDM0MscUJBQTRDO0VBQTVDLDRDQUE0QztBQUM5QztBQUNBOzs7OztDQUtDOztBQUVEO0VBQ0Usa0NBQWtDO0VBQ2xDLDhDQUE4Qzs7RUFFOUM7O2VBRWE7RUFDYjs0REFDMEQ7RUFDMUQsb0RBQW9EO0VBQ3BELGlEQUF5QztVQUF6Qyx5Q0FBeUM7RUFDekMsZ0NBQXdCO0VBQXhCLDZCQUF3QjtFQUF4Qix3QkFBd0I7RUFDeEIsc0JBQXNCO0VBQ3RCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHdCQUF3QjtFQUN4QixzREFBc0Q7O0VBRXRELDBCQUEwQjtFQUMxQiwwQ0FBMEM7QUFDNUM7O0FBRUE7RUFDRTtJQUNFLFVBQVU7SUFDVixvREFBNEM7WUFBNUMsNENBQTRDO0VBQzlDO0FBQ0Y7O0FBTEE7RUFDRTtJQUNFLFVBQVU7SUFDVixvREFBNEM7WUFBNUMsNENBQTRDO0VBQzlDO0FBQ0Y7O0FBRUE7RUFDRSx5REFBeUQ7RUFDekQsNkVBQTZFO0VBQzdFLDBDQUFrQztVQUFsQyxrQ0FBa0M7QUFDcEM7O0FBRUE7RUFDRTtJQUNFLFVBQVU7RUFDWjtBQUNGOztBQUpBO0VBQ0U7SUFDRSxVQUFVO0VBQ1o7QUFDRjs7QUFFQTtFQUNFO0lBQ0UsVUFBVTtFQUNaO0FBQ0Y7O0FBSkE7RUFDRTtJQUNFLFVBQVU7RUFDWjtBQUNGOztBQUVBO0VBQ0U7SUFDRSx3Q0FBZ0M7WUFBaEMsZ0NBQWdDO0VBQ2xDOztFQUVBO0lBQ0UseUNBQWlDO1lBQWpDLGlDQUFpQztFQUNuQztBQUNGOztBQUVBO0VBQ0Usb0NBQW9DO0VBQ3BDLG1DQUFnQztVQUFoQyxnQ0FBZ0M7QUFDbEM7QUFDQTs7Ozs7RUFLRTs7QUFFRjtFQUNFLHNDQUFzQztFQUN0QyxtQ0FBbUM7RUFDbkMsNEVBQXdFO1VBQXhFLHdFQUF3RTtFQUN4RSwrRUFBMkU7VUFBM0UsMkVBQTJFO0VBQzNFLGlDQUFpQztBQUNuQztBQUNBOzs7OztFQUtFOztBQUVGO0VBQ0UsK0VBQTJFO1VBQTNFLDJFQUEyRTtFQUMzRSw2QkFBNkI7RUFDN0IsVUFBVTtBQUNaOztBQUVBO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFBbUI7RUFBbkIsNkJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsdUJBQTJCO01BQTNCLG9CQUEyQjtVQUEzQiwyQkFBMkI7RUFDM0IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXdCO0VBQ3hCLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsU0FBUztBQUNYOztBQUVBO0VBQ0UsOEJBQThCO0VBQzlCLGtCQUFrQjtBQUNwQjs7QUFFQSxxQkFBcUI7QUFDckI7RUFDRSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsYUFBYTtFQUNiLGdDQUE4RTtFQUE5RSw4RUFBOEU7RUFDOUUseUJBQXlEO0VBQXpELHlEQUF5RDtBQUszRDs7RUFIRTtBQVRGO0lBVUksMkNBQW1DO0lBQW5DO0FBRUo7RUFERTs7QUFHRjtFQUNFLHFGQUFxRjtFQUNyRixxQ0FBcUM7QUFDdkM7O0FBRUE7RUFDRSxrQ0FBa0M7RUFDbEMsbUNBQW1DO0VBQ25DLHFCQUE0QztFQUE1Qyw0Q0FBNEM7RUFDNUMsZUFBZTtFQUNmLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCO0VBQ2hCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsd0JBQXdCO0VBQ3hCLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLFNBQVM7RUFDVCxvQ0FBb0M7RUFDcEMsc0NBQXNDO0VBQ3RDLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFO0lBQ0UsY0FBb0M7SUFBcEMsb0NBQW9DO0lBQ3BDLHNEQUFzRDtFQUN4RDtBQUNGOztBQUVBO0VBQ0Usd0VBQXdFO0FBQzFFOztBQUVBO0VBQ0UsY0FBb0M7RUFBcEMsb0NBQW9DO0VBQ3BDLG9EQUFvRDtBQUN0RDs7QUFFQTs7RUFFRSxjQUFvQztFQUFwQyxvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSxtQkFBbUI7O0VBRW5CLHVEQUF1RDtFQUN2RCw4QkFBOEI7RUFDOUIscUNBQXFDO0FBQ3ZDOztBQUVBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBOzs7OztDQUtDOztBQUVEO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXdCO0VBQ3hCLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLHlDQUFxQztVQUFyQyxxQ0FBcUM7QUFDdkM7O0FBRUE7RUFDRSx5Q0FBcUM7VUFBckMscUNBQXFDO0FBQ3ZDOztBQUVBO0VBQ0UsU0FBUztFQUNULGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHNDQUFzQztFQUN0QyxrQkFBa0I7RUFDbEIsU0FBUztBQUNYOztBQUVBO0VBQ0UscUNBQXFDO0FBQ3ZDOztBQUVBO0VBQ0UscUNBQXFDO0FBQ3ZDO0FBQ0E7Ozs7O0NBS0M7O0FBRUQ7RUFDRSxrQkFBa0I7RUFDbEIsMkNBQTJDO0VBQzNDLDJDQUEyQztFQUMzQyxxQkFBNEM7RUFBNUMsNENBQTRDO0VBQzVDLGdCQUFnQjtBQVNsQjs7RUFQRTtJQUNFLCtCQUErQjtFQUNqQzs7RUFFQTtJQUNFLCtCQUErQjtFQUNqQzs7QUFHRjtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHdCQUF3Qjs7RUFFeEIsd0RBQXdEO0VBQ3hELG1EQUFtRDtBQXFCckQ7O0VBbkJFO0lBQ0UsOERBQThEO0lBQzlELG9EQUFvRDtFQUN0RDs7RUFFQTtJQUNFLGtEQUFrRDtJQUNsRCxtREFBbUQ7RUFDckQ7O0VBRUE7SUFDRSxvREFBb0Q7SUFDcEQscURBQXFEO0VBQ3ZEOztFQUVBO0lBQ0UsK0RBQStEO0lBQy9ELGtEQUFrRDtFQUNwRDs7QUFHRjtFQUNFLG9DQUFvQztFQUNwQyxzREFBc0Q7RUFDdEQsbUNBQW1DO0FBQ3JDOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFFBQVE7O0VBbUJSLGtGQUFrRjtBQUVwRjs7RUFuQkU7O0FBSkY7SUFLSSxzREFBc0M7SUFBdEMsOENBQXNDO0lBQXRDLHNDQUFzQztJQUF0QywwRUFBc0M7QUFrQjFDO0VBakJFOztFbllubEZGOztFbVlxbEZFOzs7Ozs7Ozs7OztHQVdDO0VBR0Q7Q25Zbm1GRjs7QW1Zc21GQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTs7Ozs7Q0FLQzs7QUFFRDtFQUNFLG1EQUFtRDtFQUNuRCxzQkFBc0I7RUFDdEIsa0NBQWtDO0VBQ2xDLG1CQUFtRDtFQUFuRCxtREFBbUQ7RUFDbkQsZ0RBQWdEOztFQUVoRCxlQUFlO0VBQ2YsaURBQXlDO1VBQXpDLHlDQUF5Qzs7RUFFekM7Ozs7Ozs7Ozs7R0FVQztFQUNELGFBQWE7RUFDYjs7NkJBRTJCO0VBQzNCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLG9DQUErQjtFQUEvQix1Q0FBK0I7S0FBL0Isb0NBQStCO1VBQS9CLCtCQUErQjtBQUNqQzs7QUFFQTtFQUNFLFNBQVM7RUFDVCw2Q0FBNkM7RUFDN0MsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsZ0NBQWdDO0VBQ2hDLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLDJDQUEyQztFQUMzQyxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxhQUE2QztFQUE3Qyw2Q0FBNkM7QUFDL0M7O0FBRUE7RUFDRTtJQUNFLDhCQUE4QjtFQUNoQztBQUNGO0FBQ0E7Ozs7O0NBS0M7O0FBRUQ7RUFDRSwrREFBK0Q7RUFDL0QscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQiw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLGNBQW9DO0VBQXBDLG9DQUFvQztFQUNwQyxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTs7RUFFYix5REFBeUQ7RUFDekQseUNBQThCO0VBQTlCLHdDQUE4QjtNQUE5QixrQ0FBOEI7VUFBOUIsOEJBQThCO0VBQzlCLG1DQUFtQztFQUNuQyx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixrREFBa0Q7QUFDcEQ7O0FBRUE7RUFDRTtJQUNFLHlEQUF5RDtFQUMzRDtBQUNGOztBQUVBO0VBQ0UseURBQXlEO0FBQzNEOztBQUVBO0VBQ0UsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0Usc0NBQXNDO0VBQ3RDLG9CQUFjO01BQWQsY0FBYztBQUNoQjs7QUFFQTtFQUNFO0lBQ0Usb0NBQW9DO0VBQ3RDO0FBQ0Y7O0FBRUE7RUFDRSxvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSxTQUFTO0VBQ1QsbUJBQW1CO0VBQ25CLFVBQVU7RUFDVixtQkFBTztNQUFQLFdBQU87VUFBUCxPQUFPO0VBQ1Asa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0Usc0NBQXNDO0FBQ3hDOztBQUZBO0VBQ0Usc0NBQXNDO0FBQ3hDOztBQUZBO0VBQ0Usc0NBQXNDO0FBQ3hDOztBQUZBO0VBQ0Usc0NBQXNDO0FBQ3hDOztBQUZBO0VBQ0Usc0NBQXNDO0FBQ3hDOztBQUVBLG9FQUFvRTtBQUNwRTtFQUNFLHNDQUFzQztBQUN4QztBQUZBO0VBQ0Usc0NBQXNDO0FBQ3hDO0FBRkE7RUFDRSxzQ0FBc0M7QUFDeEM7QUFGQTtFQUNFLHNDQUFzQztBQUN4QztBQUZBO0VBQ0Usc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0U7SUFDRSxzQ0FBc0M7RUFDeEM7RUFGQTtJQUNFLHNDQUFzQztFQUN4QztFQUZBO0lBQ0Usc0NBQXNDO0VBQ3hDO0VBRkE7SUFDRSxzQ0FBc0M7RUFDeEM7RUFGQTtJQUNFLHNDQUFzQztFQUN4QztBQUNGO0FBQ0E7Ozs7O0NBS0M7O0FBRUQ7RUFDRSx5REFBeUQ7RUFDekQseUJBQXlCOztFQUV6Qiw0Q0FBNEM7QUFDOUM7O0FBRUE7RUFDRSwyREFBMkQ7QUFDN0Q7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSwwQ0FBMEM7RUFDMUMsZ0JBQXlDO0VBQXpDLHlDQUF5QztFQUN6QyxxQ0FBcUM7QUFDdkM7O0FBRUE7RUFDRSwyQ0FBMkM7RUFDM0MsZUFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLHNDQUFzQztBQUN4Qzs7QUFFQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7QUFDQTs7Ozs7O0NBTUM7RUFHQztJQUNFLDhCQUE4QjtJQUM5Qiw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSw4QkFBOEI7SUFDOUIsNEJBQTRCO0VBQzlCOztFbll6eUZGOztFbVkyeUZFLDhCQUE4QjtFQUM5QixxQkFBNEM7RUFBNUMsNENBQTRDO0VBQzVDLDhDQUE4QztFQUM5QyxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixnQ0FBd0I7RUFBeEIsNkJBQXdCO0VBQXhCLHdCQUF3QjtFQUN4QjtDbllqekZGOztFbVltekZFOztBQW5CRjtJQW9CSSxrSkFBa0o7SUFDbEo7QUFrRko7RUFqRkU7O0VBRUE7SUFDRSxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixvQ0FBb0M7SUFDcEMsOEJBQXNCO0lBQXRCLHNCQUFzQjtJQUN0Qix3Q0FBd0M7SUFDeEMsdUNBQXVDO0lBQ3ZDOztLQUVDO1lBRkQ7O0tBRUM7RUFDSDs7RUFFQTtJQUNFLHlDQUF5QztJQUN6Qzs7S0FFQztZQUZEOztLQUVDO0VBQ0g7O0VBRUE7SUFDRSx1Q0FBdUM7SUFDdkM7O0tBRUM7WUFGRDs7S0FFQztFQUNIOztFQUVBO0lBQ0Usd0JBQWdCO09BQWhCLHFCQUFnQjtZQUFoQixnQkFBZ0I7O0lBRWhCLDZFQUE2RTtJQUM3RSxTQUFTO0lBQ1QseUNBQXlDO0lBQ3pDLDBDQUEwQztJQUMxQyxlQUFlO0lBQ2YscUJBQTRDO0lBQTVDLDRDQUE0QztJQUM1QyxxREFBcUQ7SUFDckQsb0RBQTRDO1lBQTVDLDRDQUE0QztJQUM1Qyx5Q0FBaUM7SUFBakMsaUNBQWlDO0lBQ2pDLCtEQUErRDtFQUNqRTs7RUFFQTtJQUNFLHVCQUFzQjtZQUF0QixzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRTtNQUNFLHlEQUF5RDtNQUN6RCx3REFBd0Q7TUFDeEQsd0JBQWdCO2NBQWhCLGdCQUFnQjtJQUNsQjs7SUFFQTtNQUNFLG1CQUFzRDtNQUF0RCxzREFBc0Q7SUFDeEQ7RUFDRjs7RUFFQTtJQUNFLHdEQUF3RDtJQUN4RCx3QkFBZ0I7WUFBaEIsZ0JBQWdCO0VBQ2xCOztFQUVBO0lBQ0UsZ0NBQWE7SUFBYixlQUFhO0lBQ2IsbUJBQW1EO0lBQW5ELG1EQUFtRDtFQUtyRDs7SUFIRTs7RUFKRjtNQUtJO0VBRUo7SUFERTs7RUFHRjtJQUNFLDZDQUE2QztFQUMvQzs7RUFFQTtJQUNFLG1CQUFzRDtJQUF0RCxzREFBc0Q7RUFDeEQ7QUFFRjs7Ozs7Q0FLQzs7QUFFRDtFQUNFLGdDQUF3QjtFQUF4Qiw2QkFBd0I7RUFBeEIsd0JBQXdCO0VBQ3hCLHlCQUF5RDtFQUF6RCx5REFBeUQ7RUFDekQsNkNBQTZDO0VBQzdDLG1CQUFtQjtFQUNuQixnREFBZ0Q7RUFDaEQsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixxQkFBaUI7TUFBakIsaUJBQWlCO0VBQ2pCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFO0lBQ0UsOEJBQThCO0VBQ2hDO0FBQ0Y7O0FBRUE7RUFDRSxvQkFBYztNQUFkLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHFCQUFpQjtNQUFqQixpQkFBaUI7RUFDakIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0UsMEJBQXNCO01BQXRCLHNCQUFzQjtFQUN0Qix5Q0FBeUM7QUFRM0M7SUFMSTtNQUNFLCtHQUErRztNQUMvRyx3REFBd0Q7SUFDMUQ7QUFHSjs7Ozs7Q0FLQzs7QUFFRDtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLHdCQUF3QjtFQUN4QixTQUFTO0VBQ1QsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQixrQ0FBa0M7RUFDbEMsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0U7SUFDRSw4QkFBOEI7RUFDaEM7QUFDRjtBQUNBOzs7OztFQUtFOztBQUVGO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBd0I7RUFDeEIsZ0RBQWdEO0VBQ2hELHNEQUFzRDtFQUN0RCxvQ0FBb0M7RUFDcEMseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxvQkFBYztNQUFkLGNBQWM7RUFDZCxzQ0FBc0M7QUFDeEM7O0FBRUE7RUFDRSxjQUE0QztFQUE1Qyw0Q0FBNEM7QUFDOUM7O0FBRUE7RUFDRSw2Q0FBNkM7QUFDL0M7O0FBRUE7RUFDRTtJQUNFLDhCQUE4QjtFQUNoQztBQUNGO0FBQ0E7Ozs7Ozs7Q0FPQzs7QUFFRDtFQUNFLGdDQUFnQzs7RUFFaEMsaUNBQWlDO0VBQ2pDLDJDQUEyQztFQUMzQyx1Q0FBdUM7O0VBRXZDOzs7Ozs7R0FNQztFQUNELHlEQUF5RDtFQUN6RCw0Q0FBNEM7RUFDNUMsd0JBQXdCO0FBQzFCOztBQUVBOzs7RUFHRSxxQ0FBcUM7RUFDckMsY0FBb0M7RUFBcEMsb0NBQW9DO0VBQ3BDLDJEQUF1RDtVQUF2RCxtREFBdUQ7RUFBdkQsK0RBQXVEO1VBQXZELHVEQUF1RDtBQUN6RDs7QUFFQTs7RUFFRSxnQkFBZ0I7RUFDaEIsb0NBQW9DO0FBQ3RDOztBQUVBO0VBQ0UsOENBQThDO0FBQ2hEO0FBQ0EsV0FBVztBQUFDO0FDamlHWjtBQUFBLGNBQWMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsVUFBVSxlQUFlLENBQUMsTUFBTSxhQUFhLENBQUMsa0JBQWtCLENBQUMsMEJBQTBCLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyx5Q0FBeUMsYUFBYSxDQUFDLHVFQUF1RSxhQUFhLENBQUMsY0FBYyxhQUFhLENBQUMsaUZBQWlGLGFBQWEsQ0FBQyx5SUFBeUksYUFBYSxDQUFDLDhFQUE4RSxhQUFhLENBQUMsMERBQTBELGFBQWEsQ0FBQyxlQUFlLGlCQUFpQixDQUFDLGFBQWEsZUFBZSxDQUFDLFdBQVcseUJBQXlCO0FBQUM7QUNBeDFCO0FBQUEsU0FBUztBQUNUO0VBQ0UsbUJBQW1CO0VBQ25CLDZFQUE2RTtFQUM3RSxxRkFBcUY7RUFDckYsb0dBQW9HO0VBQ3BHLHlGQUF5RjtFQUN6Rix3R0FBd0c7RUFDeEcsMEJBQTBCO0VBQzFCLDhCQUE4QjtFQUM5QixTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCx5QkFBeUI7RUFDekIsNElBQTRJO0VBQzVJLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0UsMEJBQTBCO0VBQzFCLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsMkJBQTJCO0FBQzdCOztBQUVBOzs7Ozs7RUFNRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLFlBQVk7RUFDWixxQkFBcUI7RUFDckIsOEJBQThCO0VBQzlCLHNoQkFBc2hCO0VBQ3RoQiw4Z0JBQThnQjtBQUNoaEI7O0FBRUE7OztFQUdFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSwrQkFBK0I7RUFDL0IsY0FBYztFQUNkLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLG1CQUFtQjtFQUVuQixpQ0FBaUM7QUFDbkM7O0FBRUE7O0VBRUUsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsY0FBYztFQUNkLGtDQUFrQztBQUNwQzs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTs7RUFFRSxjQUFjO0VBQ2QsY0FBYztFQUNkLGtCQUFrQjtFQUNsQix3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZiwrQkFBdUI7VUFBdkIsdUJBQXVCO0FBQ3pCOztBQUVBOzs7O0VBSUUsc0JBQXNCO0VBQ3RCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSwrQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtFQUNoQix5QkFBeUI7RUFDekIsa0NBQWtDO0VBQ2xDLGFBQWE7RUFDYixVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtFQUN6QixTQUFTO0FBQ1g7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsU0FBUztFQUNULGlCQUFpQjtFQUNqQixvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLG9CQUFvQjtBQUN0Qjs7QUFFQTs7O0VBR0UsMEJBQTBCO0VBQzFCLHVCQUFrQjtPQUFsQixrQkFBa0I7QUFDcEI7O0FBRUE7O0VBRUUsOEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixVQUFVO0FBQ1o7O0FBRUE7O0VBRUUsWUFBWTtBQUNkOztBQUVBOztFQUVFLHdCQUF3QjtFQUN4QixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsWUFBWTtBQUNkOztBQUVBO0VBQ0UsMEJBQTBCO0VBQzFCLGtCQUFrQjtFQUNsQixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsVUFBVTtBQUNaOztBQUhBO0VBQ0UsY0FBYztFQUNkLFVBQVU7QUFDWjs7QUFIQTtFQUNFLGNBQWM7RUFDZCxVQUFVO0FBQ1o7O0FBSEE7RUFDRSxjQUFjO0VBQ2QsVUFBVTtBQUNaOztBQUhBO0VBQ0UsY0FBYztFQUNkLFVBQVU7QUFDWjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQix5QkFBeUI7RUFDekIsY0FBYztFQUNkLDBCQUFrQjtFQUFsQix1QkFBa0I7RUFBbEIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixjQUFjO0VBQ2QscUNBQTBCO1VBQTFCLDZCQUEwQjtFQUExQiwwQkFBMEI7QUFDNUI7O0FBRUE7O0VBRUUsVUFBVTtBQUNaOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTs7OztFQUlFLHFEQUFxRDtFQUNyRCxvQkFBb0I7RUFDcEIsd0JBQWdCO1VBQWhCLGdCQUFnQjtBQUNsQjs7QUFFQTs7OztFQUlFLGdDQUFnQztBQUNsQzs7QUFFQTs7OztFQUlFLHFEQUFxRDtFQUNyRCxvQkFBb0I7RUFDcEIsd0JBQWdCO1VBQWhCLGdCQUFnQjtBQUNsQjs7QUFFQTs7Ozs7O0VBTUUsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQiw2RkFBNkY7RUFDN0YsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxzQkFBc0I7RUFDdEIseUJBQXlCO0VBQ3pCLDBDQUEwQztFQUMxQyw2Q0FBNkM7RUFDN0Msa0JBQWtCO0VBQ2xCLDJEQUFtRDtVQUFuRCxtREFBbUQ7QUFDckQ7O0FBRUE7Ozs7OztFQU1FLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLGtDQUFrQztBQUNwQzs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsU0FBUztFQUNULGNBQWM7RUFDZCxjQUFjO0VBQ2QsZ0NBQWdDO0FBQ2xDOztBQUVBOztFQUVFLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsaUJBQWlCO0FBQ25COztBQUVBOztFQUVFLDRCQUE0QjtBQUM5Qjs7QUFFQTs7OztFQUlFLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7OztFQUdFLCtGQUErRjtFQUMvRixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQiwrRkFBK0Y7RUFDL0YsZUFBZTtFQUNmLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQiw0QkFBNEI7RUFDNUIsMkJBQTJCO0VBQzNCLGtCQUFrQjtBQUNwQjs7QUFFQTs7RUFFRSxTQUFTO0VBQ1Qsd0JBQWdCO1VBQWhCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLCtCQUErQjtBQUNqQzs7QUFFQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLFdBQVc7QUFDYjs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFLDJCQUEyQjtBQUM3Qjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsV0FBVztFQUNYLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTs7Ozs7Ozs7RUFRRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBOzs7Ozs7RUFNRSxjQUFjO0VBQ2Qsc0JBQXNCO0VBQ3RCLGtCQUFrQjtBQUNwQjs7QUFFQTs7Ozs7O0VBTUUscUJBQXFCO0FBQ3ZCOztBQUVBOzs7Ozs7RUFNRSxtQkFBbUI7QUFDckI7O0FBRUE7Ozs7Ozs7Ozs7OztFQVlFLGVBQWU7RUFDZixrQkFBa0I7QUFDcEI7O0FBRUE7Ozs7OztFQU1FLHFCQUFxQjtBQUN2Qjs7QUFFQTs7Ozs7O0VBTUUsa0JBQWtCO0FBQ3BCOztBQUVBOztFQUVFLGlCQUFpQjtFQUNqQixnQkFBZ0I7QUFDbEI7O0FBRUE7O0VBRUUsVUFBVTtFQUNWLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTs7OztFQUlFLGFBQWE7RUFDYixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxVQUFVO0FBQ1o7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsZUFBZTtFQUNmLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTs7RUFFRSxpQkFBaUI7RUFDakIseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLCtCQUErQjtBQUNqQzs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLCtCQUErQjtBQUNqQzs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGVBQWU7RUFDZix3QkFBd0I7RUFDeEIsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxTQUFTO0VBQ1QsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsY0FBYztFQUNkLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsaUJBQWlCO0FBQ25COztBQUVBOztFQUVFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsY0FBYztFQUNkLHlCQUF5QjtFQUN6QiwyQkFBMkI7RUFDM0Isa0JBQWtCO0FBQ3BCOztBQUVBOztFQUVFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsVUFBVTtFQUNWLFNBQVM7RUFDVCxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtFQUN6QixTQUFTO0FBQ1g7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0FBQ3BCOztBQUVBOztFQUVFLGFBQWE7RUFDYixjQUFjO0VBQ2QsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QseUJBQXlCO0VBQ3pCLGtCQUFrQjtBQUNwQjs7QUFFQTs7RUFFRSxlQUFlO0VBQ2YsVUFBVTtFQUNWLFNBQVM7RUFDVCxpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLGlCQUFpQjtFQUNqQiwrQkFBK0I7RUFDL0IsU0FBUztBQUNYOztBQUVBOztFQUVFLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0Usd0JBQXdCO0VBQ3hCLGlCQUFpQjtFQUNqQixtQkFBbUI7RUFDbkIsU0FBUztBQUNYOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsY0FBYztFQUNkLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLHFCQUFxQjtFQUNyQixvQkFBb0I7RUFDcEIsV0FBVztFQUNYLHlCQUF5QjtFQUN6QixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTs7RUFFRSxjQUFjO0FBQ2hCOztBQUVBOztFQUVFLGNBQWM7QUFDaEI7O0FBRUE7O0VBRUUsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBOzs7Ozs7O0VBT0UsY0FBYztBQUNoQjs7QUFFQTs7RUFFRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLDRCQUE0QjtFQUM1Qiw2Q0FBNkM7QUFDL0M7O0FBRUE7RUFDRSxjQUFjO0VBQ2QseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBOzs7RUFHRSxpQkFBaUI7RUFDakIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsY0FBYztFQUNkLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxjQUFjO0VBQ2QseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLDBCQUEwQjtFQUMxQixjQUFjO0FBQ2hCOztBQUVBOzs7OztFQUtFLGFBQWE7RUFDYix3QkFBZ0I7VUFBaEIsZ0JBQWdCO0FBQ2xCOztBQUVBOztFQUVFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixjQUFjO0VBQ2QsbUVBQW1FO0VBQ25FLGNBQWM7RUFDZCw2QkFBNkI7RUFDN0IsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsV0FBVztBQUNiOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLDBCQUFrQjtFQUFsQix1QkFBa0I7RUFBbEIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UscURBQXFEO0VBQ3JELG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSwyQkFBMkI7RUFDM0Isc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsMkJBQTJCO0FBQzdCOztBQUVBOztFQUVFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsMkJBQW1CO1VBQW5CLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsY0FBYztFQUNkLGdDQUFnQztBQUNsQzs7QUFFQTtFQUNFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0UsY0FBYztBQUNoQjs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvdGhlbWVzL2xpZ2h0LWhpZ2gtY29udHJhc3QvY3NzL2xpZ2h0LWhpZ2gtY29udHJhc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvX2NvbXBvdW5kLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9fZm9udC1zaXplcy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL3RoZW1lcy9saWdodC9jc3MvX2ZvbnRzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvdGhlbWVzL2xpZ2h0L2Nzcy9fbGlnaHQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy90aGVtZXMvbGlnaHQtaGlnaC1jb250cmFzdC9jc3MvX2xpZ2h0LWhpZ2gtY29udHJhc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy90aGVtZXMvbGlnaHQvY3NzL19tb2RzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL19jb21wb25lbnRzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL19hbmltYXRpb25zLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL19jb21tb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvX3NwYWNpbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vbWFwbGlicmUtZ2xANS4yNC4wL25vZGVfbW9kdWxlcy9tYXBsaWJyZS1nbC9kaXN0L21hcGxpYnJlLWdsLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi88bm8gc291cmNlPiIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvbkxpc3RJdGVtLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19CZWFjb25TdGF0dXMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvblN0YXR1c1Rvb2x0aXAucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvblZpZXdEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0RpYWxvZ093bkJlYWNvblN0YXR1cy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fRGlhbG9nU2lkZWJhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fTGVmdFBhbmVsTGl2ZVNoYXJlV2FybmluZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fTGl2ZVRpbWVSZW1haW5pbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9iZWFjb24vX093bkJlYWNvblN0YXR1cy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fU2hhcmVMYXRlc3RMb2NhdGlvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fU3R5bGVkTGl2ZUJlYWNvbkljb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9jb250ZXh0X21lbnVzL19LZWJhYkNvbnRleHRNZW51LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9wb2xscy9fUG9sbERldGFpbEhlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvcG9sbHMvX1BvbGxMaXN0SXRlbS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvcG9sbHMvX1BvbGxMaXN0SXRlbUVuZGVkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvX0FwcFBlcm1pc3Npb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9fQXBwV2FybmluZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19GaWx0ZXJEcm9wZG93bi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19GaWx0ZXJUYWJHcm91cC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19MZWFybk1vcmUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fRW5hYmxlTGl2ZVNoYXJlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX0xpdmVEdXJhdGlvbkRyb3Bkb3duLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX0xvY2F0aW9uU2hhcmVNZW51LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcEVycm9yLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcEZhbGxiYWNrLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcmtlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19TaGFyZURpYWxvZ0J1dHRvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fU2hhcmVUeXBlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX1pvb21CdXR0b25zLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbWVzc2FnZXMvX01CZWFjb25Cb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3MvbWVzc2FnZXMvc2hhcmVkL19NZWRpYVByb2Nlc3NpbmdFcnJvci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3BvbGxzL19Qb2xsT3B0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvX0FkZFJlbW92ZVRocmVlcGlkcy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0N1cnJlbnREZXZpY2VTZWN0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlRGV0YWlsSGVhZGluZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZURldGFpbHMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19EZXZpY2VFeHBhbmREZXRhaWxzQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlU2VjdXJpdHlDYXJkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlVGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZVR5cGVJY29uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRmlsdGVyZWREZXZpY2VMaXN0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRmlsdGVyZWREZXZpY2VMaXN0SGVhZGVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fU2VjdXJpdHlSZWNvbW1lbmRhdGlvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19TZWxlY3RhYmxlRGV2aWNlVGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2VuY3J5cHRpb24vX0tleVN0b3JhZ2VQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL3NoYXJlZC9fU2V0dGluZ3NTdWJzZWN0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3Mvc2hhcmVkL19TZXR0aW5nc1N1YnNlY3Rpb25IZWFkaW5nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvbmVudHMvdmlld3Mvc3BhY2VzL19RdWlja1RoZW1lU3dpdGNoZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3MvY29tcG9uZW50cy92aWV3cy90eXBvZ3JhcGh5L19DYXB0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvdW5kL19JY29uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL2NvbXBvdW5kL19TdWNjZXNzRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0F1dG9IaWRlU2Nyb2xsYmFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0F1dG9jb21wbGV0ZUlucHV0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0JhY2tkcm9wUGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fQ29tcGF0aWJpbGl0eVBhZ2UucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fQ29udGV4dHVhbE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fRXJyb3JNZXNzYWdlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0ZpbGVEcm9wVGFyZ2V0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0ZpbGVQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19HZW5lcmljRHJvcGRvd25NZW51LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0hvbWVQYWdlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0xhcmdlTG9hZGVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX0xlZnRQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19NYWluU3BsaXQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fTWF0cml4Q2hhdC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19Ob25VcmdlbnRUb2FzdENvbnRhaW5lci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19QaWN0dXJlSW5QaWN0dXJlRHJhZ2dlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19RdWlja1NldHRpbmdzQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1JpZ2h0UGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fUm9vbVNlYXJjaC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19Sb29tVmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19TZWFyY2hCb3gucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fU3BhY2VIaWVyYXJjaHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fU3BhY2VQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19TcGFjZVBpbGxCdXR0b24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fU3BhY2VSb29tVmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19TcGxhc2hQYWdlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1RhYmJlZFZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvc3RydWN0dXJlcy9fVGhyZWFkc0FjdGl2aXR5Q2VudHJlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1RvYXN0Q29udGFpbmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvX1VwbG9hZEJhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL19WaWV3U291cmNlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fQ29tcGxldGVTZWN1cml0eS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL2F1dGgvX0NvbmZpcm1TZXNzaW9uTG9ja1RoZWZ0Vmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy9zdHJ1Y3R1cmVzL2F1dGgvX0xvZ2luLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fTG9naW5TcGxhc2hWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fTW9iaWxlUmVnaXN0cmF0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fUmVnaXN0cmF0aW9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fU2Vzc2lvbkxvY2tTdG9sZW5WaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3N0cnVjdHVyZXMvYXV0aC9fU2V0dXBFbmNyeXB0aW9uQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy90aGVtZXMvX3BseC1mb250cy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy90aGVtZXMvX3BseC10ZWxlZ3JhbS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdWRpb19tZXNzYWdlcy9fUGxheWJhY2tDb250YWluZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXVkaW9fbWVzc2FnZXMvX1NlZWtCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXVkaW9fbWVzc2FnZXMvX1dhdmVmb3JtLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX0F1dGhCb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX0F1dGhGb290ZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fQXV0aEhlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19BdXRoSGVhZGVyTG9nby5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19BdXRoUGFnZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19Db21wbGV0ZVNlY3VyaXR5Qm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdXRoL19Db3VudHJ5RHJvcGRvd24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fRGVmYXVsdFdlbGNvbWUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX0xhbmd1YWdlU2VsZWN0b3IucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fTG9naW5XaXRoUVIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXV0aC9fUGFzc3BocmFzZUZpZWxkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F1dGgvX1dlbGNvbWUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYXZhdGFycy9fQmFzZUF2YXRhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdmF0YXJzL19EZWNvcmF0ZWRSb29tQXZhdGFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F2YXRhcnMvX1Jvb21BdmF0YXJWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2F2YXRhcnMvX1dpZGdldEF2YXRhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9hdmF0YXJzL19XaXRoUHJlc2VuY2VJbmRpY2F0b3IucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvYmV0YS9fQmV0YUNhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvY29udGV4dF9tZW51cy9fRGV2aWNlQ29udGV4dE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvY29udGV4dF9tZW51cy9fSWNvbml6ZWRDb250ZXh0TWVudS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9jb250ZXh0X21lbnVzL19MZWdhY3lDYWxsQ29udGV4dE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0FuYWx5dGljc0xlYXJuTW9yZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19CdWdSZXBvcnREaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQ2hhbmdlbG9nRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NvbXBvdW5kRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NvbmZpcm1LZXlTdG9yYWdlT2ZmRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NvbmZpcm1TcGFjZVVzZXJBY3Rpb25EaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQ29uZmlybVVzZXJBY3Rpb25EaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fQ3JlYXRlUm9vbURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19DcmVhdGVTZWN0aW9uRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NyZWF0ZVN1YnNwYWNlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0NyeXB0by5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19EZWFjdGl2YXRlQWNjb3VudERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19EZXZ0b29sc0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19FeHBvcnREaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fRmVlZGJhY2tEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fRm9yd2FyZERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19HZW5lcmljRmVhdHVyZUZlZWRiYWNrRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0luY29taW5nU2FzRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0ludml0ZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19JbnZpdGVQcm9ncmVzc0JvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fSm9pblJ1bGVEcm9wZG93bi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19MZWF2ZVNwYWNlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX0xvY2F0aW9uVmlld0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Mb2dvdXREaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Nb2RhbFdpZGdldERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Qb2xsQ3JlYXRlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1JlZ2lzdHJhdGlvbkVtYWlsUHJvbXB0RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1JlbW92ZVNlY3Rpb25EaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fUmVwb3J0Um9vbURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Sb29tU2V0dGluZ3NEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fUm9vbVNldHRpbmdzRGlhbG9nQnJpZGdlcy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Sb29tVXBncmFkZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU2VydmVyT2ZmbGluZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19TZXJ2ZXJQaWNrZXJEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU2V0RW1haWxEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU2V0dGluZ3NEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU2hhcmVEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU2xhc2hDb21tYW5kSGVscERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19TcGFjZVByZWZlcmVuY2VzRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1NwYWNlU2V0dGluZ3NEaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9fU3BvdGxpZ2h0RGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1Rlcm1zRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1VucGluQWxsRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1VudHJ1c3RlZERldmljZURpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19VcGxvYWRDb25maXJtRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3MvX1VzZXJTZXR0aW5nc0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19WZXJpZnlFTWFpbERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL19XaWRnZXRDYXBhYmlsaXRpZXNQcm9tcHREaWFsb2cucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZGlhbG9ncy9pbnZpdGUvX1Vua25vd25JZGVudGl0eVVzZXJzV2FybmluZ0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0NyZWF0ZUNyb3NzU2lnbmluZ0RpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0tleUJhY2t1cEZhaWxlZERpYWxvZy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19SZXN0b3JlS2V5QmFja3VwRGlhbG9nLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2RpcmVjdG9yeS9fTmV0d29ya0Ryb3Bkb3duLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19BY2Nlc3NpYmxlQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19Db3B5YWJsZVRleHQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fRGlhbFBhZEJhY2tzcGFjZUJ1dHRvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fRHJvcGRvd24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0VkaXRhYmxlSXRlbUxpc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0Vycm9yQm91bmRhcnkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0V4dGVybmFsTGluay5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fRmFjZVBpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0ZpZWxkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19HZW5lcmljRXZlbnRMaXN0U3VtbWFyeS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fSW1hZ2VWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19JbmZvVG9vbHRpcC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fSW5saW5lU3Bpbm5lci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fSW50ZXJhY3RpdmVUb29sdGlwLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19JbnZpdGVSZWFzb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0xhYmVsbGVkQ2hlY2tib3gucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX0xhbmd1YWdlRHJvcGRvd24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX01pbmlBdmF0YXJVcGxvYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUGlsbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUG93ZXJTZWxlY3Rvci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUHJvZ3Jlc3NCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1FSQ29kZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUmVwbHlDaGFpbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUmVzaXplSGFuZGxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19SaWNoVGV4dC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fUm9vbUFsaWFzRmllbGQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1NTT0J1dHRvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1NlYXJjaFdhcm5pbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1NlcnZlclBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fU2V0dGluZ3NEcm9wZG93bi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fU2V0dGluZ3NGbGFnLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19TcGlubmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19TdHlsZWRSYWRpb0J1dHRvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fU3ludGF4SGlnaGxpZ2h0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19UYWdDb21wb3Nlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9lbGVtZW50cy9fVGV4dFdpdGhUb29sdGlwLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2VsZW1lbnRzL19Ub2dnbGVTd2l0Y2gucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZWxlbWVudHMvX1ZhbGlkYXRpb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvZW1vamlwaWNrZXIvX0Vtb2ppUGlja2VyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL2xvY2F0aW9uL19Mb2NhdGlvblBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fQ2FsbEV2ZW50LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19DcmVhdGVFdmVudC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fRGlzYW1iaWd1YXRlZFByb2ZpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX0xlZ2FjeUNhbGxFdmVudC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fTUltYWdlUmVwbHlCb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19NTG9jYXRpb25Cb2R5LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19NUG9sbEJvZHkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX01TdGlja2VyQm9keS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fTWVzc2FnZUFjdGlvbkJhci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9tZXNzYWdlcy9fVGV4dHVhbEV2ZW50LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL21lc3NhZ2VzL19UaHJlYWRBY3Rpb25CYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvbWVzc2FnZXMvX2NvbW1vbl9DcnlwdG9FdmVudC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9wb2xscy9wb2xsSGlzdG9yeS9fUG9sbEhpc3RvcnkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcG9sbHMvcG9sbEhpc3RvcnkvX1BvbGxIaXN0b3J5TGlzdC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yaWdodF9wYW5lbC9fQmFzZUNhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcmlnaHRfcGFuZWwvX0VtcHR5U3RhdGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcmlnaHRfcGFuZWwvX0VuY3J5cHRpb25JbmZvLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19FeHRlbnNpb25zQ2FyZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yaWdodF9wYW5lbC9fUGlubmVkTWVzc2FnZXNDYXJkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19Sb29tU3VtbWFyeUNhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcmlnaHRfcGFuZWwvX1RocmVhZFBhbmVsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19UaW1lbGluZUNhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvcmlnaHRfcGFuZWwvX1VzZXJJbmZvLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3JpZ2h0X3BhbmVsL19WZXJpZmljYXRpb25QYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yaWdodF9wYW5lbC9fV2lkZ2V0Q2FyZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tX3NldHRpbmdzL19BbGlhc1NldHRpbmdzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL1Jvb21MaXN0UGFuZWwvX1Jvb21MaXN0UGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0FwcHNEcmF3ZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0F1dG9jb21wbGV0ZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fQXV4UGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0Jhc2ljTWVzc2FnZUNvbXBvc2VyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19DYWxsR3Vlc3RMaW5rQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19FMkVJY29uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19FMkVJY29uVmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fRWRpdE1lc3NhZ2VDb21wb3Nlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fRW1vamlCdXR0b24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0V2ZW50QnViYmxlVGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fRXZlbnRUaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19IaXN0b3J5VGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fSVJDTGF5b3V0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19JbnZpdGVkSWNvblZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0p1bXBUb0JvdHRvbUJ1dHRvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fTGVnYWN5Um9vbUxpc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX0xlZ2FjeVJvb21MaXN0SGVhZGVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19MaXZlQ29udGVudFN1bW1hcnkucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX01lbWJlckxpc3RIZWFkZXJWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19NZW1iZXJMaXN0Vmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fTWVtYmVyVGlsZVZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX01lc3NhZ2VDb21wb3Nlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19OZXdSb29tSW50cm8ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX05vdGlmaWNhdGlvbkJhZGdlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19PdmVyZmxvd1RpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Bpbm5lZEV2ZW50VGlsZS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUGlubmVkTWVzc2FnZUJhbm5lci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUGx4TWVkaWFQaWNrZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1ByZXNlbmNlSWNvblZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1ByZXNlbmNlTGFiZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1JlYWRSZWNlaXB0R3JvdXAucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1JlcGx5UHJldmlldy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUmVwbHlUaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tQnJlYWRjcnVtYnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21DYWxsQmFubmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tSGVhZGVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tSW5mb0xpbmUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21Lbm9ja3NCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21QcmV2aWV3QmFyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tUHJldmlld0NhcmQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21TZWFyY2hBdXhQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fUm9vbVN1Ymxpc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1Jvb21UaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19Sb29tVXBncmFkZVdhcm5pbmdCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1NlbmRNZXNzYWdlQ29tcG9zZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1N0aWNrZXJzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19UaGlyZFBhcnR5TWVtYmVySW5mby5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy9fVG9wVW5yZWFkTWVzc2FnZXNCYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1VzZXJJZGVudGl0eVdhcm5pbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvX1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL19XaG9Jc1R5cGluZ1RpbGUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9fRWRpdFd5c2l3eWdDb21wb3Nlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9yb29tcy93eXNpd3lnX2NvbXBvc2VyL19TZW5kV3lzaXd5Z0NvbXBvc2VyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL3d5c2l3eWdfY29tcG9zZXIvY29tcG9uZW50cy9fRWRpdG9yLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3Jvb21zL3d5c2l3eWdfY29tcG9zZXIvY29tcG9uZW50cy9fRm9ybWF0dGluZ0J1dHRvbnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9jb21wb25lbnRzL19MaW5rTW9kYWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0F2YXRhclNldHRpbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0ZvbnRTY2FsaW5nUGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0ltYWdlU2l6ZVBhbmVsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19JbnRlZ3JhdGlvbk1hbmFnZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0pvaW5SdWxlU2V0dGluZ3MucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0tleWJvYXJkU2hvcnRjdXQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX0xheW91dFN3aXRjaGVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19Ob3RpZmljYXRpb25QdXNoZXJTZXR0aW5ncy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fTm90aWZpY2F0aW9uU2V0dGluZ3MyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19Ob3RpZmljYXRpb25zLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19QaG9uZU51bWJlcnMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1Bvd2VyTGV2ZWxTZWxlY3Rvci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fUm9vbVByb2ZpbGVTZXR0aW5ncy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fU2V0SW50ZWdyYXRpb25NYW5hZ2VyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19TZXR0aW5nc0ZpZWxkc2V0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19TZXR0aW5nc0hlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9fU2V0dGluZ3NTdWJoZWFkZXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1NwZWxsQ2hlY2tMYW5ndWFnZXMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1RoZW1lQ2hvaWNlUGFuZWwucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1VwZGF0ZUNoZWNrQnV0dG9uLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL19Vc2VyUGVyc29uYWxJbmZvU2V0dGluZ3MucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvX1VzZXJQcm9maWxlU2V0dGluZ3MucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvZW5jcnlwdGlvbi9fQWR2YW5jZWRQYW5lbC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9lbmNyeXB0aW9uL19DaGFuZ2VSZWNvdmVyeUtleS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9lbmNyeXB0aW9uL19FbmNyeXB0aW9uQ2FyZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy9lbmNyeXB0aW9uL19FbmNyeXB0aW9uQ2FyZEVtcGhhc2lzZWRDb250ZW50LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL2VuY3J5cHRpb24vX1JlY292ZXJ5UGFuZWxPdXRPZlN5bmMucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvZW5jcnlwdGlvbi9fUmVzZXRJZGVudGl0eVBhbmVsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvX1NldHRpbmdzQmFubmVyLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvX1NldHRpbmdzSW5kZW50LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvX1NldHRpbmdzU2VjdGlvbi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL19TZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3Jvb20vX05vdGlmaWNhdGlvblNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvcm9vbS9fUGVvcGxlUm9vbVNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvcm9vbS9fUm9sZXNSb29tU2V0dGluZ3NUYWIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy9yb29tL19TZWN1cml0eVJvb21TZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX0FwcGVhcmFuY2VVc2VyU2V0dGluZ3NUYWIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19Cb3RzVXNlclNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fSGVscFVzZXJTZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX0tleWJvYXJkVXNlclNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fTWVkaWFQcmV2aWV3QWNjb3VudFNldHRpbmdzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fTWpvbG5pclVzZXJTZXR0aW5nc1RhYi5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX1ByZWZlcmVuY2VzVXNlclNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fU2VjdXJpdHlVc2VyU2V0dGluZ3NUYWIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19TaWRlYmFyVXNlclNldHRpbmdzVGFiLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NwYWNlcy9fU3BhY2VCYXNpY1NldHRpbmdzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3NwYWNlcy9fU3BhY2VDaGlsZHJlblBpY2tlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy9zcGFjZXMvX1NwYWNlQ3JlYXRlTWVudS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy90ZXJtcy9fSW5saW5lVGVybXNBZ3JlZW1lbnQucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdG9hc3RzL19BbmFseXRpY3NUb2FzdC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy90b2FzdHMvX0luY29taW5nQ2FsbFRvYXN0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3RvYXN0cy9fSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdG9hc3RzL19Ob25VcmdlbnRFY2hvRmFpbHVyZVRvYXN0LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3R5cG9ncmFwaHkvX0hlYWRpbmcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3MvdmVyaWZpY2F0aW9uL19WZXJpZmljYXRpb25TaG93U2FzLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3ZvaXAvTGVnYWN5Q2FsbFZpZXcvX0xlZ2FjeUNhbGxWaWV3QnV0dG9ucy5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19DYWxsRHVyYXRpb24ucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fQ2FsbFZpZXcucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fRGlhbFBhZC5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19EaWFsUGFkQ29udGV4dE1lbnUucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fRGlhbFBhZE1vZGFsLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3LnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi9yZXMvY3NzL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3Rm9yUm9vbS5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19MZWdhY3lDYWxsVmlld0hlYWRlci5wY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4vcmVzL2Nzcy92aWV3cy92b2lwL19MZWdhY3lDYWxsVmlld1NpZGViYXIucGNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uL3Jlcy9jc3Mvdmlld3Mvdm9pcC9fVmlkZW9GZWVkLnBjc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC1mb250LWZhbGxiYWNrcy5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC1jb21tb24tYmFzZS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC1jb21tb24tc2VtYW50aWMuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtbGlnaHQtYmFzZS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1saWdodC1iYXNlLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vQHZlY3Rvci1pbStjb21wb3VuZC1kZXNpZ24tXzQ4M2FiZDNhYTNkNmZhNDU1MGRhMzVlMjJlMjY2NWY0L25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWxpZ2h0LXNlbWFudGljLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vQHZlY3Rvci1pbStjb21wb3VuZC1kZXNpZ24tXzQ4M2FiZDNhYTNkNmZhNDU1MGRhMzVlMjJlMjY2NWY0L25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWxpZ2h0LXNlbWFudGljLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vQHZlY3Rvci1pbStjb21wb3VuZC1kZXNpZ24tXzQ4M2FiZDNhYTNkNmZhNDU1MGRhMzVlMjJlMjY2NWY0L25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWxpZ2h0LWhjLWJhc2UuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtbGlnaHQtaGMtYmFzZS1tcS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1saWdodC1oYy1zZW1hbnRpYy5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1saWdodC1oYy1zZW1hbnRpYy1tcS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1kYXJrLWJhc2UuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtZGFyay1iYXNlLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vQHZlY3Rvci1pbStjb21wb3VuZC1kZXNpZ24tXzQ4M2FiZDNhYTNkNmZhNDU1MGRhMzVlMjJlMjY2NWY0L25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWRhcmstc2VtYW50aWMuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtZGFyay1zZW1hbnRpYy1tcS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtZGVzaWduLV80ODNhYmQzYWEzZDZmYTQ1NTBkYTM1ZTIyZTI2NjVmNC9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NwZC10aGVtZS1kYXJrLWhjLWJhc2UuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtZGFyay1oYy1iYXNlLW1xLmNzcyIsIndlYnBhY2s6Ly9lbGVtZW50LXdlYi8uLi8uLi9ub2RlX21vZHVsZXMvLnBucG0vQHZlY3Rvci1pbStjb21wb3VuZC1kZXNpZ24tXzQ4M2FiZDNhYTNkNmZhNDU1MGRhMzVlMjJlMjY2NWY0L25vZGVfbW9kdWxlcy9AdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9jc3MvY3BkLXRoZW1lLWRhcmstaGMtc2VtYW50aWMuY3NzIiwid2VicGFjazovL2VsZW1lbnQtd2ViLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9AdmVjdG9yLWltK2NvbXBvdW5kLWRlc2lnbi1fNDgzYWJkM2FhM2Q2ZmE0NTUwZGEzNWUyMmUyNjY1ZjQvbm9kZV9tb2R1bGVzL0B2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2Nzcy9jcGQtdGhlbWUtZGFyay1oYy1zZW1hbnRpYy1tcS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL0B2ZWN0b3ItaW0rY29tcG91bmQtd2ViQDkuM185ZjQyM2I3N2VkZTc1N2JkZmMyYmRiNTIzODNkMDU1YS9ub2RlX21vZHVsZXMvQHZlY3Rvci1pbS9jb21wb3VuZC13ZWIvZGlzdC9zdHlsZS5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL2hpZ2hsaWdodC5qc0AxMS4xMS4xL25vZGVfbW9kdWxlcy9oaWdobGlnaHQuanMvc3R5bGVzL2F0b20tb25lLWxpZ2h0Lm1pbi5jc3MiLCJ3ZWJwYWNrOi8vZWxlbWVudC13ZWIvLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL2dpdGh1Yi1tYXJrZG93bi1jc3NANS45LjAvbm9kZV9tb2R1bGVzL2dpdGh1Yi1tYXJrZG93bi1jc3MvZ2l0aHViLW1hcmtkb3duLWxpZ2h0LmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAbGF5ZXIgY29tcG91bmQtdG9rZW5zLCBjb21wb3VuZC13ZWIsIHNoYXJlZC1jb21wb25lbnRzLCBhcHAtd2ViO1xyXG5cclxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3Jlcy9jc3MvX2ZvbnQtc2l6ZXMucGNzc1wiIGxheWVyKGFwcC13ZWIpO1xyXG5AaW1wb3J0IFwiLi4vLi4vbGlnaHQvY3NzL19mb250cy5wY3NzXCIgbGF5ZXIoYXBwLXdlYik7XHJcbkBpbXBvcnQgXCIuLi8uLi9saWdodC9jc3MvX2xpZ2h0LnBjc3NcIiBsYXllcihhcHAtd2ViKTtcclxuQGltcG9ydCBcIl9saWdodC1oaWdoLWNvbnRyYXN0LnBjc3NcIiBsYXllcihhcHAtd2ViKTtcclxuQGltcG9ydCBcIi4uLy4uL2xpZ2h0L2Nzcy9fbW9kcy5wY3NzXCIgbGF5ZXIoYXBwLXdlYik7XHJcbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9yZXMvY3NzL19jb21wb25lbnRzLnBjc3NcIiBsYXllcihhcHAtd2ViKTtcclxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3Jlcy9jc3MvX2NvbXBvdW5kLnBjc3NcIjtcclxuQGltcG9ydCB1cmwoXCJoaWdobGlnaHQuanMvc3R5bGVzL2F0b20tb25lLWxpZ2h0Lm1pbi5jc3NcIikgbGF5ZXIoYXBwLXdlYik7XHJcbkBpbXBvcnQgdXJsKFwiZ2l0aHViLW1hcmtkb3duLWNzcy9naXRodWItbWFya2Rvd24tbGlnaHQuY3NzXCIpIGxheWVyKGFwcC13ZWIpO1xyXG4iLCIvKiBTaGFyZWQgY2FzY2FkZSBvcmRlcjogQ29tcG91bmQgdG9rZW5zLCBDb21wb3VuZCBXZWIsIHNoYXJlZCBjb21wb25lbnRzLCB0aGVuIGFwcCBvdmVycmlkZXMuICovXHJcbkBsYXllciBjb21wb3VuZC10b2tlbnMsIGNvbXBvdW5kLXdlYiwgc2hhcmVkLWNvbXBvbmVudHMsIGFwcC13ZWI7XHJcblxyXG4vKiBNb2R1bGVzIGJ1bmRsZWQgd2l0aCBjb21wb3VuZCBhcHBseSBjb21wb3VuZCBsYXN0bHkuIEluIG9yZGVyIHRvIGNhdGNoIGlzc3VlIGR1ZSB0byBjc3MgY2xhc3Mgb3JkZXJpbmcsIHdlIHB1dCBjb21wb3VuZCBhdCB0aGUgZW5kICovXHJcbkBpbXBvcnQgdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2Fzc2V0cy93ZWIvY3NzL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMuY3NzXCIpIGxheWVyKGNvbXBvdW5kLXRva2Vucyk7XHJcbkBpbXBvcnQgdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC13ZWIvZGlzdC9zdHlsZS5jc3NcIikgbGF5ZXIoY29tcG91bmQtd2ViKTtcclxuIiwiLyogRXN0YWJsaXNoIGEgbGF5ZXIgb3JkZXIgdGhhdCBhbGxvd3Mgc2VtYW50aWMgdG9rZW5zIHRvIGJlIGN1c3RvbWl6ZWQsIGJ1dCBub3QgYmFzZSB0b2tlbnMuXG4gKiBUaGUgbGF5ZXJzIGFyZSBwcmVmaXhlZCBieSAnY3BkLScgYmVjYXVzZSBUYWlsd2luZCB3aWxsIGludGVycHJldCAnQGxheWVyIGJhc2UnIGRpcmVjdGl2ZXMuXG4gKi9cbkBsYXllciBjcGQtc2VtYW50aWMsIGN1c3RvbSwgY3BkLWJhc2U7XG5cbkBpbXBvcnQgdXJsKFwiLi9jcGQtZm9udC1mYWxsYmFja3MuY3NzXCIpO1xuQGltcG9ydCB1cmwoXCIuL2NwZC1jb21tb24tYmFzZS5jc3NcIikgbGF5ZXIoY3BkLWJhc2UpIHNjcmVlbjtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtY29tbW9uLXNlbWFudGljLmNzc1wiKSBsYXllcihjcGQtc2VtYW50aWMpIHNjcmVlbjtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtbGlnaHQtYmFzZS5jc3NcIikgbGF5ZXIoY3BkLWJhc2UpIHNjcmVlbjtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtbGlnaHQtYmFzZS1tcS5jc3NcIikgbGF5ZXIoY3BkLWJhc2UpIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBsaWdodCk7XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWxpZ2h0LXNlbWFudGljLmNzc1wiKSBsYXllcihjcGQtc2VtYW50aWMpIHNjcmVlbjtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtbGlnaHQtc2VtYW50aWMtbXEuY3NzXCIpIGxheWVyKGNwZC1zZW1hbnRpYykgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGxpZ2h0KTtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtbGlnaHQtaGMtYmFzZS5jc3NcIikgbGF5ZXIoY3BkLWJhc2UpIHNjcmVlbjtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtbGlnaHQtaGMtYmFzZS1tcS5jc3NcIikgbGF5ZXIoY3BkLWJhc2UpIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBsaWdodCkgYW5kIChwcmVmZXJzLWNvbnRyYXN0OiBtb3JlKTtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtbGlnaHQtaGMtc2VtYW50aWMuY3NzXCIpIGxheWVyKGNwZC1zZW1hbnRpYykgc2NyZWVuO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1saWdodC1oYy1zZW1hbnRpYy1tcS5jc3NcIikgbGF5ZXIoY3BkLXNlbWFudGljKSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpIGFuZCAocHJlZmVycy1jb250cmFzdDogbW9yZSk7XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWRhcmstYmFzZS5jc3NcIikgbGF5ZXIoY3BkLWJhc2UpIHNjcmVlbjtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtZGFyay1iYXNlLW1xLmNzc1wiKSBsYXllcihjcGQtYmFzZSkgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1kYXJrLXNlbWFudGljLmNzc1wiKSBsYXllcihjcGQtc2VtYW50aWMpIHNjcmVlbjtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtZGFyay1zZW1hbnRpYy1tcS5jc3NcIikgbGF5ZXIoY3BkLXNlbWFudGljKSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayk7XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWRhcmstaGMtYmFzZS5jc3NcIikgbGF5ZXIoY3BkLWJhc2UpIHNjcmVlbjtcbkBpbXBvcnQgdXJsKFwiLi9jcGQtdGhlbWUtZGFyay1oYy1iYXNlLW1xLmNzc1wiKSBsYXllcihjcGQtYmFzZSkgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIGFuZCAocHJlZmVycy1jb250cmFzdDogbW9yZSk7XG5AaW1wb3J0IHVybChcIi4vY3BkLXRoZW1lLWRhcmstaGMtc2VtYW50aWMuY3NzXCIpIGxheWVyKGNwZC1zZW1hbnRpYykgc2NyZWVuO1xuQGltcG9ydCB1cmwoXCIuL2NwZC10aGVtZS1kYXJrLWhjLXNlbWFudGljLW1xLmNzc1wiKSBsYXllcihjcGQtc2VtYW50aWMpIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSBhbmQgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpO1xuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi8qXHJcbiAqIFNDU1MgdmFyaWFibGVzIGRlZmluaW5nIGEgcmFuZ2Ugb2YgZm9udCBzaXplcy5cclxuICpcclxuICogVGhlc2UgYXJlIGRlZmluZWQgaW4gYHJlbWAgc28gdGhhdCB0aGV5IHNjYWxlIHdpdGggdGhlIGBmb250LXNpemVgIG9mIHRoZSByb290IGVsZW1lbnQgKHdoaWNoIGlzIGFkanVzdGFibGUgdmlhIHRoZVxyXG4gKiBcIkZvbnQgc2l6ZVwiIHNldHRpbmcpLiBUaGV5IGV4aXN0IHRvIG1ha2UgdGhlIGpvYiBvZiBjb252ZXJ0aW5nIGRlc2lnbnMgKHdoaWNoIHRlbmQgdG8gYmUgYmFzZWQgaW4gcGl4ZWxzKSBpbnRvIENTU1xyXG4gKiBlYXNpZXIuXHJcbiAqL1xyXG5cclxuLypcclxuICogVGhlc2UgdmFyaWFibGVzIGFyZSBub3cgKmRlcHJlY2F0ZWQqIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgaW4gbmV3IGNvZGU7IGluc3RlYWQgQ29tcG91bmQgdHlwb2dyYXBoaWMgdG9rZW5zXHJcbiAqIHNob3VsZCBiZSB1c2VkLiBEaXJlY3QgZXF1aXZhbGVudHMgZm9yIHRoZXNlIG9sZCBmb250IHNpemUgdG9rZW5zIGFyZSBsaXN0ZWQgYmVsb3c7IHdoZXJlIG5vIGVxdWl2YWxlbnQgZXhpc3RzLFxyXG4gKiB0aGF0IHN1Z2dlc3RzIHRoYXQgdGhlIGRlc2lnbiBpcyB1c2luZyBhIG5vbi1zdGFuZGFyZCBmb250IHNpemUgYW5kIHNob3VsZCBiZSB1cGRhdGVkLlxyXG4gKlxyXG4gKiBJbiBmYWN0LCBtb2Rlcm4gRmlnbWEgZGVzaWducyBzaG91bGQgYWN0dWFsbHkgdXNlIGEgbmFtZWQgVHlwb2dyYXBoeSBzdHlsZSBzdWNoIGFzIFwiV2ViL2ZvbnQvaGVhZGluZy9zbS9zZW1pYm9sZFwiLFxyXG4gKiB0cmFuc2xhdGVzIGRpcmVjdGx5IHRvIGBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKWAuXHJcbiAqL1xyXG4kZm9udC0xcHg6IDAuMDYyNXJlbTtcclxuJGZvbnQtOHB4OiAwLjVyZW07XHJcbiRmb250LTlweDogMC41NjI1cmVtO1xyXG4kZm9udC0xMHB4OiAwLjYyNXJlbTtcclxuJGZvbnQtMTAtNHB4OiAwLjYyNzVyZW07XHJcbiRmb250LTExcHg6IDAuNjg3NXJlbTsgLyogQ29tcG91bmQgZXF1aXZhbGVudDogLS1jcGQtZm9udC1zaXplLWJvZHkteHMgKi9cclxuJGZvbnQtMTJweDogMC43NXJlbTtcclxuJGZvbnQtMTNweDogMC44MTI1cmVtOyAvKiBDb21wb3VuZCBlcXVpdmFsZW50OiAtLWNwZC1mb250LXNpemUtYm9keS1zbSAqL1xyXG4kZm9udC0xNHB4OiAwLjg3NXJlbTtcclxuJGZvbnQtMTVweDogMC45Mzc1cmVtOyAvKiBDb21wb3VuZCBlcXVpdmFsZW50OiAtLWNwZC1mb250LXNpemUtYm9keS1tZCAqL1xyXG4kZm9udC0xNnB4OiAxcmVtO1xyXG4kZm9udC0xN3B4OiAxLjA2MjVyZW07IC8qIENvbXBvdW5kIGVxdWl2YWxlbnQ6IC0tY3BkLWZvbnQtc2l6ZS1ib2R5LWxnICovXHJcbiRmb250LTE4cHg6IDEuMTI1cmVtO1xyXG4kZm9udC0yMHB4OiAxLjI1cmVtOyAvKiBDb21wb3VuZCBlcXVpdmFsZW50OiAtLWNwZC1mb250LXNpemUtaGVhZGluZy1zbSAqL1xyXG4kZm9udC0yMnB4OiAxLjM3NXJlbTtcclxuJGZvbnQtMjNweDogMS40Mzc1cmVtO1xyXG4kZm9udC0yNHB4OiAxLjVyZW07IC8qIENvbXBvdW5kIGVxdWl2YWxlbnQ6IC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLW1kICovXHJcbiRmb250LTI1cHg6IDEuNTYyNXJlbTtcclxuJGZvbnQtMjZweDogMS42MjVyZW07XHJcbiRmb250LTI4cHg6IDEuNzVyZW07IC8qIENvbXBvdW5kIGVxdWl2YWxlbnQ6IC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLWxnICovXHJcbiRmb250LTI5cHg6IDEuODEyNXJlbTtcclxuJGZvbnQtMzBweDogMS44NzVyZW07XHJcbiRmb250LTMycHg6IDJyZW07IC8qIENvbXBvdW5kIGVxdWl2YWxlbnQ6IC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXhsICovXHJcbiRmb250LTM0cHg6IDIuMTI1cmVtO1xyXG4kZm9udC0zNXB4OiAyLjE4NzVyZW07XHJcbiRmb250LTM5cHg6IDIuNDM3NXJlbTtcclxuJGZvbnQtNDJweDogMi42MjVyZW07XHJcbiRmb250LTQ0cHg6IDIuNzVyZW07XHJcbiRmb250LTQ4cHg6IDNyZW07XHJcbiIsIi8qIHRoZSAnc3JjJyBsaW5rcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGJ1bmRsZS5jc3MsIHdoaWNoIGlzIGluIGEgc3ViZGlyZWN0b3J5LlxyXG4gKi9cclxuXHJcbi8qIFR3ZW1vamkgQ09MUiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlR3ZW1vamlcIjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBzcmM6IHVybChcIi9yZXMvZm9udHMvVHdlbW9qaV9Nb3ppbGxhL1R3ZW1vamlNb3ppbGxhLWNvbHIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XHJcbn1cclxuLyogRm9yIGF0IGxlYXN0IENocm9tZSBvbiBXaW5kb3dzIDEwLCB3ZSBoYXZlIHRvIGV4cGxpY3RseSBhZGQgZXh0cmEgd2VpZ2h0cyBmb3IgdGhlIGVtb2ppIHRvIGFwcGVhciBpbiBib2xkIG1lc3NhZ2VzLCBldGMuICovXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiVHdlbW9qaVwiO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHNyYzogdXJsKFwiL3Jlcy9mb250cy9Ud2Vtb2ppX01vemlsbGEvVHdlbW9qaU1vemlsbGEtY29sci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlR3ZW1vamlcIjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBzcmM6IHVybChcIi9yZXMvZm9udHMvVHdlbW9qaV9Nb3ppbGxhL1R3ZW1vamlNb3ppbGxhLWNvbHIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XHJcbn1cclxuIiwiOnJvb3Qge1xyXG4gICAgLyogVGhpcyBpcyBzZXQgdG8gVHdlbW9qaSB3aGVuIHRoZSB1c2VyIG9wdHMgaW50byB0aGUgYnVuZGxlZCBlbW9qaSBmb250ICovXHJcbiAgICAtLWVtb2ppLWZvbnQtZmFtaWx5OiBcIlwiO1xyXG59XHJcblxyXG4vKiBOdW5pdG8gYW5kIEludGVyIGxhY2tzIGNvbWJpbmluZyBkaWFjcml0aWNzLCBzbyB0aGVzZSB3aWxsIGZhbGwgdGhyb3VnaFxyXG4gICB0byB0aGUgbmV4dCBmb250LiBIZWxldmV0aWNhJ3MgZGlhY3JpdGljcyBzb21ldGltZXMgZG8gbm90IGNvbWJpbmVcclxuICAgbmljZWx5IChvbiBPU1gsIGF0IGxlYXN0KSBhbmQgcmVzdWx0IGluIGEgaHVnZSBob3Jpem9udGFsIG1lc3MuXHJcbiAgIEFyaWFsIGVtcGlyaWNhbGx5IGdldHMgaXQgcmlnaHQsIGhlbmNlIHByaW9yaXRpc2luZyBBcmlhbCBoZXJlLiAqL1xyXG4vKiBOb3RvIENvbG9yIEVtb2ppIGNvbnRhaW5zIGRpZ2l0cywgaW4gZml4ZWQtd2lkdGgsIHRoZXJlZm9yZSBjYXVzaW5nXHJcbiAgIGRpZ2l0cyBpbiBmbG93ZWQgdGV4dCB0byBzdGFuZCBvdXQuXHJcbiAgIFRPRE86IENvbnNpZGVyIHB1dHRpbmcgYWxsIGVtb2ppIGZvbnRzIHRvIHRoZSBlbmQgcmF0aGVyIHRoYW4gdGhlIGZyb250LiAqL1xyXG4kZm9udC1mYW1pbHk6XHJcbiAgICBcIkludGVyXCIsIHZhcigtLWVtb2ppLWZvbnQtZmFtaWx5KSwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZixcclxuICAgIFwiTm90byBDb2xvciBFbW9qaVwiO1xyXG5cclxuJG1vbm9zcGFjZS1mb250LWZhbWlseTpcclxuICAgIFwiRmlyYSBDb2RlXCIsIHZhcigtLWVtb2ppLWZvbnQtZmFtaWx5KSwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2UsXHJcbiAgICBcIk5vdG8gQ29sb3IgRW1vamlcIjtcclxuXHJcbi8qIENvbG9ycyBmcm9tIEZpZ21hIENvbXBvdW5kIGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL1g0WFRIOWlTMktHSjJ3RktEcWt5ZWQvQ29tcG91bmQ/bm9kZS1pZD01NTklM0ExMjAgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHByaW1hcnktY29udGVudDogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XHJcbiRzZWNvbmRhcnktY29udGVudDogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuJHRlcnRpYXJ5LWNvbnRlbnQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTgwMCk7XHJcbiRxdWF0ZXJuYXJ5LWNvbnRlbnQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTYwMCk7XHJcbiRxdWluYXJ5LWNvbnRlbnQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XHJcblxyXG4kc3lzdGVtOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xyXG4kc3lzdGVtLXRyYW5zcGFyZW50OiAjZTFlNmVjMDA7XHJcbiRiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4kb3ZlcmxheS1iYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMzAwKTtcclxuXHJcbiRwYW5lbHM6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuJHBhbmVsLWFjdGlvbnM6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMCk7XHJcblxyXG4kc2VwYXJhdG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xyXG5cclxuJGFjY2VudDogdmFyKC0tY3BkLWNvbG9yLXRleHQtYWN0aW9uLWFjY2VudCk7XHJcbiRhbGVydDogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XHJcbiRsaW5rczogdmFyKC0tY3BkLWNvbG9yLXRleHQtbGluay1leHRlcm5hbCk7XHJcbiRsaW5rLWV4dGVybmFsOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1saW5rLWV4dGVybmFsKTtcclxuXHJcbiR1c2VybmFtZS12YXJpYW50MS1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS0xKTtcclxuJHVzZXJuYW1lLXZhcmlhbnQyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTIpO1xyXG4kdXNlcm5hbWUtdmFyaWFudDMtY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMyk7XHJcbiR1c2VybmFtZS12YXJpYW50NC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS00KTtcclxuJHVzZXJuYW1lLXZhcmlhbnQ1LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTUpO1xyXG4kdXNlcm5hbWUtdmFyaWFudDYtY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtNik7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKipcclxuICogQ3JlYXRpbmcgYSBgc2VtYW50aWNgIGNvbG9yIHNjYWxlLiBUaGlzIHdpbGwgbm90IGJlIG5lZWRlZCB3aXRoIHRoZSBuZXdcclxuICogdmlzdWFsIGxhbmd1YWdlLCBidXQgbmVjZXNzYXJ5IGR1cmluZyB0aGUgdHJhbnNpdGlvbiBwZXJpb2RcclxuICogVGhpcyBhYnN0cmFjdCB0aGUgYGdyZWVuYCBhd2F5IGZyb20gd2hlcmUgYWNjZW50IHNoYWRlcyBhcmUgdXNlZFxyXG4gKiBUYWtlOiBgYmFja2dyb3VuZDogcmdiYSgkYWNjZW50LCAwLjEpO2BcclxuICogd291bGQgYmUgdHJhbnNmb3JtZWQgdG86IGBiYWNrZ3JvdW5kOiAkYWNjZW50LTMwMDtgXHJcbiAqXHJcbiAqIFRvIHVzZSB1bmRlciB2ZXJ5IHJhcmUgY2lyY3Vtc3RhbmNlcywgYWx3YXlzIHByZWZlciB0aGUgc2VtYW50aWNzIGRlZmluZWRcclxuICogaW4gaHR0cHM6Ly9jb21wb3VuZC5lbGVtZW50LmlvLz9wYXRoPS9kb2NzL3Rva2Vucy1zZW1hbnRpYy1jb2xvcnMtLWRvY3NcclxuICovXHJcbiRhY2NlbnQtMTAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTAwKTtcclxuJGFjY2VudC0yMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0yMDApO1xyXG4kYWNjZW50LTMwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTMwMCk7XHJcbiRhY2NlbnQtNDAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNDAwKTtcclxuJGFjY2VudC01MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi01MDApO1xyXG4kYWNjZW50LTYwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTYwMCk7XHJcbiRhY2NlbnQtNzAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNzAwKTtcclxuJGFjY2VudC04MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi04MDApO1xyXG4kYWNjZW50LTkwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XHJcbiRhY2NlbnQtMTAwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTEwMDApO1xyXG4kYWNjZW50LTExMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMTAwKTtcclxuJGFjY2VudC0xMjAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTIwMCk7XHJcbiRhY2NlbnQtMTMwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTEzMDApO1xyXG4kYWNjZW50LTE0MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xNDAwKTtcclxuXHJcbi8qIFJldXNlZCBGaWdtYSBub24tY29tcG91bmQgY29sb3JzICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRpbnZlcnRlZC1iZy1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xyXG4kaGVhZGVyLXBhbmVsLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xyXG4kaGVhZGVyLXBhbmVsLWJnLWhvdmVyOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1ob3ZlcmVkKTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFRoZW1lIHNwZWNpZmljIGNvbG9ycyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kaWNvbi1idXR0b24tY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIENvbG9ycyB0aGF0IGFyZW4ndCBpbiBGaWdtYSBhbmQgYXJlIHRoZW1lIHNwZWNpZmljIC0gd2UgbmVlZCB0byBnZXQgcmlkIG9mIHRoZXNlICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRzZWxlY3Rpb24tZmctY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4keWVsbG93LWJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci15ZWxsb3ctMjAwKTtcclxuJHNlY29uZGFyeS1hY2NlbnQtY29sb3I6ICNmMmY1Zjg7XHJcbiRidXR0b24tZmctY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4kbmV1dHJhbC1iYWRnZS1jb2xvcjogI2RiZGJkYjtcclxuJHN0cm9uZy1pbnB1dC1ib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XHJcbiRwcmV2aWV3LXdpZGdldC1iYXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XHJcbiRhY2NlbnQtZmctY29sb3I6ICNmNGY2ZmE7XHJcbiRhY2NlbnQtYWx0OiB2YXIoLS1jcGQtY29sb3ItdGV4dC1saW5rLWV4dGVybmFsKTtcclxuJGluZm8tcGxpbnRoLWZnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS05MDApO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogQ29sb3JzIHRoYXQgYXJlbid0IGluIEZpZ21hIC0gd2UgbmVlZCB0byBnZXQgcmlkIG9mIHRoZXNlICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRkYXJrLXBhbmVsLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XHJcbiRtdXRlZC1mZy1jb2xvcjogIzYxNzA4YjtcclxuJGxpZ2h0LWZnLWNvbG9yOiAjNzQ3NDc0O1xyXG4kZm9jdXMtYmctY29sb3I6ICRwcmV2aWV3LXdpZGdldC1iYXItY29sb3I7XHJcbiRpbmZvLXBsaW50aC1iZy1jb2xvcjogI2Y3ZjdmNztcclxuJGV2ZW50LXNlbGVjdGVkLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XHJcbiR0b3BsZWZ0bWVudS1jb2xvcjogIzIxMjEyMTtcclxuJHJvb210b3BpYy1jb2xvcjogIzllOWU5ZTtcclxuJHNwYWNlUGFuZWwtYmctY29sb3I6IHJnYmEoMjMyLCAyMzIsIDIzMiwgMC43Nyk7XHJcbiRwYW5lbC1ncmFkaWVudDogcmdiYSgyNDIsIDI0NSwgMjQ4LCAwKSwgcmdiYSgyNDIsIDI0NSwgMjQ4LCAxKTtcclxuJGgzLWNvbG9yOiAjM2QzYjM5O1xyXG4kZXZlbnQtaGlnaGxpZ2h0LWJnLWNvbG9yOiAkeWVsbG93LWJhY2tncm91bmQ7XHJcbiRoZWFkZXItcGFuZWwtdGV4dC1wcmltYXJ5LWNvbG9yOiAjOTFhMWMwO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogQmxvY2txdW90ZSAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kYmxvY2txdW90ZS1iYXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBUb29sdGlwICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiR0b29sdGlwLXRpbWVsaW5lLWJnLWNvbG9yOiAkaW52ZXJ0ZWQtYmctY29sb3I7XHJcbiR0b29sdGlwLXRpbWVsaW5lLWZnLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFdpZGdldCAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kd2lkZ2V0LW1lbnUtYmFyLWJnLWNvbG9yOiAkc2Vjb25kYXJ5LWFjY2VudC1jb2xvcjtcclxuJHdpZGdldC1ib2R5LWJnLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIE1lbnUgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJG1lbnUtYm9yZGVyLWNvbG9yOiAjZTdlN2U3O1xyXG4kbWVudS1iZy1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiRtZW51LWJveC1zaGFkb3ctY29sb3I6IHJnYmEoMTE4LCAxMzEsIDE1NiwgMC42KTtcclxuJG1lbnUtc2VsZWN0ZWQtY29sb3I6ICNmNWY4ZmE7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBTZXR0aW5ncyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kc2V0dGluZ3MtZ3JleS1mZy1jb2xvcjogI2EyYTJhMjtcclxuJHNldHRpbmdzLXN1YnNlY3Rpb24tZmctY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFJvb20gKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHJvb20taWNvbi11bnJlYWQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFJvb21IZWFkZXIgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHJvb21oZWFkZXItYWRkcm9vbS1iZy1jb2xvcjogcmdiYSg5MiwgMTAwLCAxMTIsIDAuMik7XHJcbiRyb29taGVhZGVyLWFkZHJvb20tZmctY29sb3I6ICM1YzY0NzA7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBSaWNoLXRleHQtZWRpdG9yICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRwaWxsLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XHJcbiRwaWxsLWhvdmVyLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktaG92ZXJlZCk7XHJcbiRwaWxsLXByZXNzLWJnLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcHJlc3NlZCk7XHJcbiRydGUtYmctY29sb3I6ICNlOWU5ZTk7XHJcbiRydGUtY29kZS1iZy1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA0KTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFByZXNlbmNlICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRwcmVzZW5jZS1hd2F5OiAjZDliMDcyO1xyXG4vKiBub3QgdXNpbmcgYSBjb21wb3VuZCBjb2xvciBoZXJlIGZvciBub3cgYXMgd2Ugd2FudCB0byBoYXZlIHRoZSBzYW1lIGNvbG9yIGluXHJcbiAgIGxpZ2h0IGFuZCBkYXJrIHRoZW1lLiBVbnRpbCB3ZSBoYXZlIGEgbm9uLXN5bWV0cmljYWwgdG9rZW4gZm9yIGl0LCBsZXQncyBrZWVwXHJcbiAgIGl0IGhhcmRjb2RlZCB0byB0aGUgZm9sbG93aW5nIHZhbHVlICovXHJcbiRwcmVzZW5jZS1vZmZsaW5lOiAjZTNlOGYwO1xyXG4kcHJlc2VuY2UtYnVzeTogJGFsZXJ0O1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogSW5wdXRzICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRpbnB1dC1ib3JkZXItY29sb3I6ICRtZW51LWJvcmRlci1jb2xvcjtcclxuJGlucHV0LWRhcmtlci1iZy1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuJGlucHV0LWRhcmtlci1mZy1jb2xvcjogIzlmYTliYTtcclxuJGlucHV0LWxpZ2h0ZXItYmctY29sb3I6ICRzZWNvbmRhcnktYWNjZW50LWNvbG9yO1xyXG4kaW5wdXQtdW5kZXJsaW5lLWNvbG9yOiByZ2JhKDE1MSwgMTUxLCAxNTEsIDAuNSk7XHJcbiRpbnB1dC1mZy1jb2xvcjogcmdiYSg3NCwgNzQsIDc0LCAwLjkpO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXI6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBEaWFsb2cgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGRpYWxvZy10aXRsZS1mZy1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XHJcbiRkaWFsb2ctYmFja2Ryb3AtY29sb3I6ICMwMzBjMWI0ZDtcclxuJGRpYWxvZy1jbG9zZS1mZy1jb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xyXG4kZGlhbG9nLWNsb3NlLWV4dGVybmFsLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIEltYWdlQm9keSAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kaW1hZ2Vib2R5LWdpZmxhYmVsOiByZ2JhKDAsIDAsIDAsIDAuNyk7XHJcbiRpbWFnZWJvZHktZ2lmbGFiZWwtYm9yZGVyOiByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiRpbWFnZWJvZHktZ2lmbGFiZWwtY29sb3I6ICRhY2NlbnQtZmctY29sb3I7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBSb29tTGlzdCAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kcm9vbWxpc3QtYmctY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC45KTtcclxuJHJvb21zdWJsaXN0LXNrZWxldG9uLXVpLWJnOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAkYmFja2dyb3VuZCAwJSwgI2ZmZmZmZjAwIDEwMCUpO1xyXG4kcm9vbXRpbGUtZGVmYXVsdC1iYWRnZS1iZy1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIGUyZSAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kZTJlLXZlcmlmaWVkLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xyXG4kZTJlLXdhcm5pbmctY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xyXG4kZTJlLXZlcmlmaWVkLWNvbG9yLWxpZ2h0OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMzAwKTtcclxuJGUyZS13YXJuaW5nLWNvbG9yLWxpZ2h0OiB2YXIoLS1jcGQtY29sb3ItcmVkLTMwMCk7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBUYWJiZWQgdmlld3MgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHRhYi1sYWJlbC1mZy1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4kdGFiLWxhYmVsLWFjdGl2ZS1mZy1jb2xvcjogJHByaW1hcnktY29udGVudDtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIEJ1dHRvbnMgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJGJ1dHRvbi1wcmltYXJ5LWZnLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuJGJ1dHRvbi1zZWNvbmRhcnktYmctY29sb3I6ICRhY2NlbnQtZmctY29sb3I7XHJcbiRidXR0b24tZGFuZ2VyLWZnLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuJGJ1dHRvbi1kYW5nZXItZGlzYWJsZWQtZmctY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4kYnV0dG9uLWRhbmdlci1kaXNhYmxlZC1iZy1jb2xvcjogI2Y1YjZiYjsgLyogVE9ETzogVmVyaWZ5IGNvbG9yICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBUb2dnbGUgc3dpdGNoICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiR0b2dnbGVzdy1vZmYtY29sb3I6ICNjMWM5ZDY7XHJcbiR0b2dnbGVzdy1iYWxsLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBBdXRocGFnZSAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kYXV0aHBhZ2UtcHJpbWFyeS1jb2xvcjogIzIzMmYzMjtcclxuJGF1dGhwYWdlLWJnLWNvbG9yOiAjMmUzNjQ5O1xyXG4kYXV0aHBhZ2UtbW9kYWwtYmctY29sb3I6ICRyb29tbGlzdC1iZy1jb2xvcjtcclxuLyogYmFja2dyb3VuZCBjb2xvdXIgb2YgdGhlIG1vZGFsLCB3aGVuIHRoZSBiYWNrZ3JvdW5kIGlzIGJsdXJyZWQgKi9cclxuJGF1dGhwYWdlLW1vZGFsLWNvbnRlbnQtd2l0aC1ibHVyLWJnLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSwgMC41OSk7XHJcbiRhdXRocGFnZS1mb2N1cy1iZy1jb2xvcjogJGZvY3VzLWJnLWNvbG9yO1xyXG4kYXV0aHBhZ2UtbGFuZy1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4kYXV0aHBhZ2UtcHJpbWFyeS1jb2xvcjogJHByaW1hcnktY29udGVudDtcclxuJGF1dGhwYWdlLXNlY29uZGFyeS1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogTWVzc2FnZSBhY3Rpb24gYmFyICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRtZXNzYWdlLWFjdGlvbi1iYXItYmctY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4kbWVzc2FnZS1hY3Rpb24tYmFyLWZnLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4kbWVzc2FnZS1hY3Rpb24tYmFyLWJvcmRlci1jb2xvcjogI2U5ZWRmMTtcclxuJG1lc3NhZ2UtYWN0aW9uLWJhci1ob3Zlci1ib3JkZXItY29sb3I6ICRmb2N1cy1iZy1jb2xvcjtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIFJlYWN0aW9uIHJvdyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4kcmVhY3Rpb24tcm93LWJ1dHRvbi1ob3Zlci1ib3JkZXItY29sb3I6ICRmb2N1cy1iZy1jb2xvcjtcclxuJHJlYWN0aW9uLXJvdy1idXR0b24tc2VsZWN0ZWQtYmctY29sb3I6ICNlOWZmZjk7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBWb2ljZSBtZXNzYWdlcyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBUaGVzZSB0d28gZG9uJ3QgY2hhbmdlIGJldHdlZW4gdGhlbWVzLiBUaGV5IGFyZSB0aGUgJGFsZXJ0LCBidXQgd2UgZG9uJ3Qgd2FudCAqL1xyXG4vKiBjdXN0b20gdGhlbWVzIHRvIGFmZmVjdCB0aGVtIGJ5IGFjY2lkZW50LiAqL1xyXG4kdm9pY2UtcmVjb3JkLXN0b3Atc3ltYm9sLWNvbG9yOiAjZmY1YjU1O1xyXG4kdm9pY2UtcmVjb3JkLWxpdmUtY2lyY2xlLWNvbG9yOiAjZmY1YjU1O1xyXG4kdm9pY2UtcmVjb3JkLXN0b3AtYm9yZGVyLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4kdm9pY2UtcmVjb3JkLWljb24tY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogQnViYmxlIHRpbGVzICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRldmVudGJ1YmJsZS1zZWxmLWJnOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMzAwKTtcclxuJGV2ZW50YnViYmxlLW90aGVycy1iZzogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcclxuJGV2ZW50YnViYmxlLWJnLWhvdmVyOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBMaWdodGJveCAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBub3QgdXNpbmcgYSBjb21wb3VuZCBjb2xvciBoZXJlIGZvciBub3cgYXMgd2Ugd2FudCB0byBoYXZlIHRoZSBzYW1lIGNvbG9yIGluXHJcbiAgIGxpZ2h0IGFuZCBkYXJrIHRoZW1lLiBVbnRpbCB3ZSBoYXZlIGEgbm9uLXN5bWV0cmljYWwgdG9rZW4gZm9yIGl0LCBsZXQncyBrZWVwXHJcbiAgIGl0IGhhcmRjb2RlZCB0byB0aGUgZm9sbG93aW5nIHZhbHVlICovXHJcbiRsaWdodGJveC1mZy1jb2xvcjogI2ZmZjtcclxuJGxpZ2h0Ym94LWJhY2tncm91bmQtYmctY29sb3I6ICMwMDA7XHJcbiRsaWdodGJveC1iYWNrZ3JvdW5kLWJnLW9wYWNpdHk6IDAuOTU7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBWb0lQICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRjYWxsLXZpZXctYnV0dG9uLW9uLWZvcmVncm91bmQ6ICRzZWNvbmRhcnktY29udGVudDtcclxuJGNhbGwtdmlldy1idXR0b24tb24tYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiRjYWxsLXZpZXctYnV0dG9uLW9mZi1mb3JlZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuJGNhbGwtdmlldy1idXR0b24tb2ZmLWJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29udGVudDtcclxuJGNhbGwtdmlldy1jb250ZW50LWJhY2tncm91bmQ6ICMyMTI2MmM7XHJcblxyXG4kdmlkZW8tZmVlZC1zZWNvbmRhcnktYmFja2dyb3VuZDogIzM5NDA0OTsgLyogWFhYOiBDb2xvciBmcm9tIGRhcmsgdGhlbWUgKi9cclxuJHZvaXBjYWxsLXBsaW50aC1jb2xvcjogJHN5c3RlbTtcclxuXHJcbi8qIEFsbCBvZiB0aGVzZSBhcmUgZnJvbSBkYXJrIHRoZW1lICovXHJcbiRjYWxsLXN5c3RlbTogIzIxMjYyYztcclxuJGNhbGwtYmFja2dyb3VuZDogIzE1MTkxZTtcclxuJGNhbGwtcHJpbWFyeS1jb250ZW50OiAjZmZmZmZmO1xyXG4vKiBUaGlzIG9uZSBpcyBmcm9tIGxpZ2h0IHRoZW1lICovXHJcbiRjYWxsLWxpZ2h0LXF1YXRlcm5hcnktY29udGVudDogI2MxYzZjZDtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIE9uZS1vZmYgY29sb3JzICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRwcm9ncmVzc2Jhci1iZy1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktMjAwKTtcclxuJGtiZC1ib3JkZXItY29sb3I6ICRzdHJvbmctaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4kdmlzdWFsLWJlbGwtYmctY29sb3I6ICNmYWE7XHJcbiRldmVudC10aW1lc3RhbXAtY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiRjb21wb3Nlci1zaGFkb3ctY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XHJcbiRicmVhZGNydW1iLXBsYWNlaG9sZGVyLWJnLWNvbG9yOiAjZThlZWY1O1xyXG4kcmVzZW5kLWJ1dHRvbi1kaXZpZGVyLWNvbG9yOiAkaW5wdXQtZGFya2VyLWJnLWNvbG9yO1xyXG4kaW5saW5lY29kZS1ib3JkZXItY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiRpbmxpbmVjb2RlLWJhY2tncm91bmQtY29sb3I6ICRzeXN0ZW07XHJcbiRjb2RlYmxvY2stYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcclxuJHNjcm9sbGJhci10aHVtYi1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4kc2VsZWN0ZWQtY29sb3I6ICRzZWNvbmRhcnktYWNjZW50LWNvbG9yO1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuLyogT25lLW9mZiBnbG9iYWwgY29sb3JzIC0gdGhlc2UgYXBwbHkgdG8gYm90aCB0aGVtZXMgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuJHBpbm5lZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiRhdmF0YXItaW5pdGlhbC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuJHNlY29uZGFyeS1oYWlybGluZS1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcclxuJGZvY3VzLWJyaWdodG5lc3M6IDEwNSU7XHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBibHVyIGFtb3VudHMgZm9yIGxlZnQgbGVmdCBwYW5lbCAob25seSBmb3IgZWxlbWVudCB0aGVtZSkgKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuOnJvb3Qge1xyXG4gICAgLS1scC1iYWNrZ3JvdW5kLWJsdXI6IDQwcHg7XHJcbn1cclxuXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBMb2NhdGlvbiBzaGFyaW5nICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqICovXHJcbiRsb2NhdGlvbi1tYXJrZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xyXG4kbG9jYXRpb24tbGl2ZS1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXB1cnBsZS05MDApO1xyXG4kbG9jYXRpb24tbGl2ZS1zZWNvbmRhcnktY29sb3I6IHZhcigtLWNwZC1jb2xvci1wdXJwbGUtNjAwKTtcclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbmJvZHkge1xyXG4gICAgY29sb3Itc2NoZW1lOiBsaWdodDtcclxufVxyXG5cclxuLyogKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbi8qIGRpZmYgaGlnaGxpZ2h0IGNvbG9ycyAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4uaGxqcy1hZGRpdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcclxufVxyXG5cclxuLmhsanMtZGVsZXRpb24ge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLXJlZC01MDApO1xyXG59XHJcblxyXG4vKiAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4iLCIvKiBSZWZlcmVuY2U6IGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL1JuTEtudjA5Z2xoeEdJWnRuOHpmbWgvVUktVGhlbWVzLSUyNi1BY2Nlc3NpYmlsaXR5P25vZGUtaWQ9MzIxJTNBNjU4NDcgKi9cclxuJGFjY2VudDogdmFyKC0tY3BkLWNvbG9yLXRleHQtYWN0aW9uLWFjY2VudCk7XHJcbiRhbGVydDogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XHJcbiRsaW5rczogdmFyKC0tY3BkLWNvbG9yLXRleHQtbGluay1leHRlcm5hbCk7XHJcbiRwcmltYXJ5LWNvbnRlbnQ6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG4kc2Vjb25kYXJ5LWNvbnRlbnQ6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiR0ZXJ0aWFyeS1jb250ZW50OiB2YXIoLS1jcGQtY29sb3ItZ3JheS04MDApO1xyXG4kcXVhdGVybmFyeS1jb250ZW50OiB2YXIoLS1jcGQtY29sb3ItZ3JheS02MDApO1xyXG4kcXVpbmFyeS1jb250ZW50OiB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xyXG5cclxuJHVzZXJuYW1lLXZhcmlhbnQxLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTEpO1xyXG4kdXNlcm5hbWUtdmFyaWFudDItY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMik7XHJcbiR1c2VybmFtZS12YXJpYW50My1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS0zKTtcclxuJHVzZXJuYW1lLXZhcmlhbnQ0LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTQpO1xyXG4kdXNlcm5hbWUtdmFyaWFudDUtY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtNSk7XHJcbiR1c2VybmFtZS12YXJpYW50Ni1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS02KTtcclxuXHJcbiRhY2NlbnQtYWx0OiAkbGlua3M7XHJcbiRpbnB1dC1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuJGlucHV0LWRhcmtlci1iZy1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuJGlucHV0LWRhcmtlci1mZy1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4kcmVzZW5kLWJ1dHRvbi1kaXZpZGVyLWNvbG9yOiAkaW5wdXQtZGFya2VyLWJnLWNvbG9yO1xyXG4kaWNvbi1idXR0b24tY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcclxuLyogbm90IHVzaW5nIGEgY29tcG91bmQgY29sb3IgaGVyZSBmb3Igbm93IGFzIHdlIHdhbnQgdG8gaGF2ZSB0aGUgc2FtZSBjb2xvciBpblxyXG4gICBsaWdodCBhbmQgZGFyayB0aGVtZS4gVW50aWwgd2UgaGF2ZSBhIG5vbi1zeW1ldHJpY2FsIHRva2VuIGZvciBpdCwgbGV0J3Mga2VlcFxyXG4gICBpdCBoYXJkY29kZWQgdG8gdGhlIGZvbGxvd2luZyB2YWx1ZSAqL1xyXG4kcHJlc2VuY2Utb2ZmbGluZTogI2UzZThmMDtcclxuJHBpbm5lZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiRidXR0b24tc2Vjb25kYXJ5LWJnLWNvbG9yOiAkYWNjZW50LWZnLWNvbG9yO1xyXG4kbWVzc2FnZS1hY3Rpb24tYmFyLWZnLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4kdm9pY2UtcmVjb3JkLXN0b3AtYm9yZGVyLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4kdm9pY2UtcmVjb3JkLWljb24tY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4kcm9vbXRvcGljLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4vKipcclxuICogQ3JlYXRpbmcgYSBgc2VtYW50aWNgIGNvbG9yIHNjYWxlLiBUaGlzIHdpbGwgbm90IGJlIG5lZWRlZCB3aXRoIHRoZSBuZXdcclxuICogdmlzdWFsIGxhbmd1YWdlLCBidXQgbmVjZXNzYXJ5IGR1cmluZyB0aGUgdHJhbnNpdGlvbiBwZXJpb2RcclxuICogVGhpcyBhYnN0cmFjdCB0aGUgYGdyZWVuYCBhd2F5IGZyb20gd2hlcmUgYWNjZW50IHNoYWRlcyBhcmUgdXNlZFxyXG4gKiBUYWtlOiBgYmFja2dyb3VuZDogcmdiYSgkYWNjZW50LCAwLjEpO2BcclxuICogd291bGQgYmUgdHJhbnNmb3JtZWQgdG86IGBiYWNrZ3JvdW5kOiAkYWNjZW50LTMwMDtgXHJcbiAqXHJcbiAqIFRvIHVzZSB1bmRlciB2ZXJ5IHJhcmUgY2lyY3Vtc3RhbmNlcywgYWx3YXlzIHByZWZlciB0aGUgc2VtYW50aWNzIGRlZmluZWRcclxuICogaW4gaHR0cHM6Ly9jb21wb3VuZC5lbGVtZW50LmlvLz9wYXRoPS9kb2NzL3Rva2Vucy1zZW1hbnRpYy1jb2xvcnMtLWRvY3NcclxuICovXHJcbiRhY2NlbnQtMTAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTAwKTtcclxuJGFjY2VudC0yMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0yMDApO1xyXG4kYWNjZW50LTMwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTMwMCk7XHJcbiRhY2NlbnQtNDAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNDAwKTtcclxuJGFjY2VudC01MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi01MDApO1xyXG4kYWNjZW50LTYwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTYwMCk7XHJcbiRhY2NlbnQtNzAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNzAwKTtcclxuJGFjY2VudC04MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi04MDApO1xyXG4kYWNjZW50LTkwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XHJcbiRhY2NlbnQtMTAwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTEwMDApO1xyXG4kYWNjZW50LTExMDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMTAwKTtcclxuJGFjY2VudC0xMjAwOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTIwMCk7XHJcbiRhY2NlbnQtMTMwMDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTEzMDApO1xyXG4kYWNjZW50LTE0MDA6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xNDAwKTtcclxuXHJcbi8qIERyYXcgYW4gb3V0bGluZSBvbiBidXR0b25zIHdpdGggZm9jdXMgKi9cclxuLm14X0FjY2Vzc2libGVCdXR0b246Zm9jdXMge1xyXG4gICAgb3V0bGluZTogMnB4IHNvbGlkICRhY2NlbnQ7XHJcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xyXG59XHJcblxyXG4ubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXIgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0RW1wdHkgPiA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubXhfVGV4dHVhbEV2ZW50IHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5teF9EaWFsb2csXHJcbi5teF9NYXRyaXhDaGF0X3dyYXBwZXIge1xyXG4gICAgOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKTpub3QoLm14X25vX3RleHRpbnB1dCkgPiBpbnB1dFt0eXBlPVwidGV4dFwiXTo6cGxhY2Vob2xkZXIsXHJcbiAgICA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl06OnBsYWNlaG9sZGVyLFxyXG4gICAgLm14X3RleHRpbnB1dCBpbnB1dDo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiAkaW5wdXQtZGFya2VyLWZnLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9UaGVtZUNob2ljZVBhbmVsX3RoZW1lU2VsZWN0b3JzID4gLm14X1N0eWxlZFJhZGlvQnV0dG9uIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCArIGRpdiB7XHJcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9UaGVtZUNob2ljZVBhbmVsX3RoZW1lU2VsZWN0b3JzID4gLm14X1N0eWxlZFJhZGlvQnV0dG9uLm14X1N0eWxlZFJhZGlvQnV0dG9uX2Rpc2FibGVkIHtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfUm9vbVNlYXJjaCB7XHJcbiAgICAmLm14X1Jvb21TZWFyY2hfZm9jdXNlZCxcclxuICAgICYubXhfUm9vbVNlYXJjaF9oYXNRdWVyeSB7XHJcbiAgICAgICAgLm14X1Jvb21TZWFyY2hfY2xlYXJCdXR0b24ge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1BvbGxDcmVhdGVEaWFsb2cge1xyXG4gICAgLm14X1BvbGxDcmVhdGVEaWFsb2dfb3B0aW9uIHtcclxuICAgICAgICAubXhfUG9sbENyZWF0ZURpYWxvZ19yZW1vdmVPcHRpb24ge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0RpYWxvZ19idXR0b25zIGJ1dHRvbi5teF9Mb2NhdGlvblBpY2tlcl9jYW5jZWxCdXR0b246OmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubXhfU3BvdGxpZ2h0RGlhbG9nX3dyYXBwZXIgLm14X0RpYWxvZyB7XHJcbiAgICAjbXhfU3BvdGxpZ2h0RGlhbG9nX2tleWJvYXJkUHJvbXB0IHtcclxuICAgICAgICBrYmQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TcG90bGlnaHREaWFsb2cge1xyXG4gICAgLm14X1Nwb3RsaWdodERpYWxvZ19zZWFyY2hCb3gge1xyXG4gICAgICAgID4gLm14X1Nwb3RsaWdodERpYWxvZ19maWx0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50bHlWaWV3ZWQge1xyXG4gICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJlthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb246OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0cyxcclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3JlY2VudFNlYXJjaGVzLFxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyxcclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX2hpZGRlblJlc3VsdHMge1xyXG4gICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJlthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2ljb246OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tRGV0YWlscyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21IZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbU5hbWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21BbGlhcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21EZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9kZXRhaWxzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfZW50ZXJQcm9tcHQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfYnV0dG9uOmhvdmVyLFxyXG4ubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9idXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG4gICAgY29sb3I6ICRiYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudV93cmFwcGVyLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfd3JhcHBlciB7XHJcbiAgICAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24ge1xyXG4gICAgICAgICYubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWl0ZW0ge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAgICZbYXJpYS1jaGVja2VkPVwidHJ1ZVwiXTo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X05ldHdvcmtEcm9wZG93bl9yZW1vdmVTZXJ2ZXI6OmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8qIHNpZGViYXIgYmx1cnJlZCBhdmF0YXIgYmFja2dyb3VuZCAqL1xyXG5cclxuLyogaWYgYmFja2Ryb3AtZmlsdGVyIGlzIHN1cHBvcnRlZCwgKi9cclxuLyogc2V0IHRoZSB1c2VyIGF2YXRhciAoaWYgYW55KSBhcyBhIGJhY2tncm91bmQgc28gKi9cclxuLyogaXQgY2FuIGJlIGJsdXJyZWQgYnkgdGhlIHRhZyBwYW5lbCBhbmQgcm9vbSBsaXN0ICovXHJcblxyXG4ubXhfUm9vbVN1Ymxpc3Rfc2hvd05CdXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLypcclxuICAgIGRhdGEta2luZCBpcyB1c2VkIGJ5IHRoZSBDb21wb3VuZCA8TGluaz4gY29tcG9uZW50IGFuZCB0aGVyZWZvcmUgZG9lcyBub3Qgb3ZlcnJpZGUgdGhlbS5cclxuICAgIFRoaXMgaXMgaG9ycmlibGUsIGJ1dCB3aWxsIGdldCBsZXNzIGhvcnJpYmxlIHdoZW4gbGlua3MgaW4gdGhlIGFwcCBhcmUgcmVwbGFjZWQgd2l0aFxyXG4gICAgPExpbms+LlxyXG4qL1xyXG5hOm5vdChbZGF0YS1raW5kXSkge1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6bGluayxcclxuICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qIGF1dG9nZW5lcmF0ZWQgYnkgcmV0aGVtZW5kZXguc2ggKi9cbkBpbXBvcnQgXCIuL19hbmltYXRpb25zLnBjc3NcIjtcbkBpbXBvcnQgXCIuL19jb21tb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vX2ZvbnQtc2l6ZXMucGNzc1wiO1xuQGltcG9ydCBcIi4vX3NwYWNpbmcucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvbkxpc3RJdGVtLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvYmVhY29uL19CZWFjb25TdGF0dXMucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvblN0YXR1c1Rvb2x0aXAucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0JlYWNvblZpZXdEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9iZWFjb24vX0RpYWxvZ093bkJlYWNvblN0YXR1cy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fRGlhbG9nU2lkZWJhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fTGVmdFBhbmVsTGl2ZVNoYXJlV2FybmluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fTGl2ZVRpbWVSZW1haW5pbmcucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9iZWFjb24vX093bkJlYWNvblN0YXR1cy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fU2hhcmVMYXRlc3RMb2NhdGlvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2JlYWNvbi9fU3R5bGVkTGl2ZUJlYWNvbkljb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9jb250ZXh0X21lbnVzL19LZWJhYkNvbnRleHRNZW51LnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9wb2xscy9fUG9sbERldGFpbEhlYWRlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvcG9sbHMvX1BvbGxMaXN0SXRlbS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvcG9sbHMvX1BvbGxMaXN0SXRlbUVuZGVkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvX0FwcFBlcm1pc3Npb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9lbGVtZW50cy9fQXBwV2FybmluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19GaWx0ZXJEcm9wZG93bi5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19GaWx0ZXJUYWJHcm91cC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL19MZWFybk1vcmUucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fRW5hYmxlTGl2ZVNoYXJlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX0xpdmVEdXJhdGlvbkRyb3Bkb3duLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX0xvY2F0aW9uU2hhcmVNZW51LnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcEVycm9yLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcEZhbGxiYWNrLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX01hcmtlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL19TaGFyZURpYWxvZ0J1dHRvbnMucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9sb2NhdGlvbi9fU2hhcmVUeXBlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbG9jYXRpb24vX1pvb21CdXR0b25zLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbWVzc2FnZXMvX01CZWFjb25Cb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3MvbWVzc2FnZXMvc2hhcmVkL19NZWRpYVByb2Nlc3NpbmdFcnJvci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3BvbGxzL19Qb2xsT3B0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvX0FkZFJlbW92ZVRocmVlcGlkcy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0N1cnJlbnREZXZpY2VTZWN0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlRGV0YWlsSGVhZGluZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZURldGFpbHMucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19EZXZpY2VFeHBhbmREZXRhaWxzQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlU2VjdXJpdHlDYXJkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRGV2aWNlVGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2RldmljZXMvX0RldmljZVR5cGVJY29uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRmlsdGVyZWREZXZpY2VMaXN0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fRmlsdGVyZWREZXZpY2VMaXN0SGVhZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvZGV2aWNlcy9fU2VjdXJpdHlSZWNvbW1lbmRhdGlvbnMucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy9zZXR0aW5ncy9kZXZpY2VzL19TZWxlY3RhYmxlRGV2aWNlVGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL2VuY3J5cHRpb24vX0tleVN0b3JhZ2VQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL3NoYXJlZC9fU2V0dGluZ3NTdWJzZWN0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3Mvc2hhcmVkL19TZXR0aW5nc1N1YnNlY3Rpb25IZWFkaW5nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvbmVudHMvdmlld3Mvc3BhY2VzL19RdWlja1RoZW1lU3dpdGNoZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vY29tcG9uZW50cy92aWV3cy90eXBvZ3JhcGh5L19DYXB0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvdW5kL19JY29uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL2NvbXBvdW5kL19TdWNjZXNzRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0F1dG9IaWRlU2Nyb2xsYmFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0F1dG9jb21wbGV0ZUlucHV0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0JhY2tkcm9wUGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fQ29tcGF0aWJpbGl0eVBhZ2UucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fQ29udGV4dHVhbE1lbnUucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fRXJyb3JNZXNzYWdlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0ZpbGVEcm9wVGFyZ2V0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0ZpbGVQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19HZW5lcmljRHJvcGRvd25NZW51LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0hvbWVQYWdlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0xhcmdlTG9hZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX0xlZnRQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19NYWluU3BsaXQucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fTWF0cml4Q2hhdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19Ob25VcmdlbnRUb2FzdENvbnRhaW5lci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19QaWN0dXJlSW5QaWN0dXJlRHJhZ2dlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19RdWlja1NldHRpbmdzQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1JpZ2h0UGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fUm9vbVNlYXJjaC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19Sb29tVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19TZWFyY2hCb3gucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fU3BhY2VIaWVyYXJjaHkucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fU3BhY2VQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19TcGFjZVBpbGxCdXR0b24ucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fU3BhY2VSb29tVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19TcGxhc2hQYWdlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1RhYmJlZFZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vc3RydWN0dXJlcy9fVGhyZWFkc0FjdGl2aXR5Q2VudHJlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1RvYXN0Q29udGFpbmVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvX1VwbG9hZEJhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL19WaWV3U291cmNlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvYXV0aC9fQ29tcGxldGVTZWN1cml0eS5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL2F1dGgvX0NvbmZpcm1TZXNzaW9uTG9ja1RoZWZ0Vmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi9zdHJ1Y3R1cmVzL2F1dGgvX0xvZ2luLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvYXV0aC9fTG9naW5TcGxhc2hWaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvYXV0aC9fTW9iaWxlUmVnaXN0cmF0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvYXV0aC9fUmVnaXN0cmF0aW9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvYXV0aC9fU2Vzc2lvbkxvY2tTdG9sZW5WaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3N0cnVjdHVyZXMvYXV0aC9fU2V0dXBFbmNyeXB0aW9uQm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi90aGVtZXMvX3BseC1mb250cy5wY3NzXCI7XG5AaW1wb3J0IFwiLi90aGVtZXMvX3BseC10ZWxlZ3JhbS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdWRpb19tZXNzYWdlcy9fUGxheWJhY2tDb250YWluZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXVkaW9fbWVzc2FnZXMvX1NlZWtCYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXVkaW9fbWVzc2FnZXMvX1dhdmVmb3JtLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX0F1dGhCb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX0F1dGhGb290ZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fQXV0aEhlYWRlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19BdXRoSGVhZGVyTG9nby5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19BdXRoUGFnZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19Db21wbGV0ZVNlY3VyaXR5Qm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdXRoL19Db3VudHJ5RHJvcGRvd24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fRGVmYXVsdFdlbGNvbWUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX0xhbmd1YWdlU2VsZWN0b3IucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fTG9naW5XaXRoUVIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXV0aC9fUGFzc3BocmFzZUZpZWxkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F1dGgvX1dlbGNvbWUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYXZhdGFycy9fQmFzZUF2YXRhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdmF0YXJzL19EZWNvcmF0ZWRSb29tQXZhdGFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F2YXRhcnMvX1Jvb21BdmF0YXJWaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2F2YXRhcnMvX1dpZGdldEF2YXRhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9hdmF0YXJzL19XaXRoUHJlc2VuY2VJbmRpY2F0b3IucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYmV0YS9fQmV0YUNhcmQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvY29udGV4dF9tZW51cy9fRGV2aWNlQ29udGV4dE1lbnUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvY29udGV4dF9tZW51cy9fSWNvbml6ZWRDb250ZXh0TWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9jb250ZXh0X21lbnVzL19MZWdhY3lDYWxsQ29udGV4dE1lbnUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQWRkRXhpc3RpbmdUb1NwYWNlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0FuYWx5dGljc0xlYXJuTW9yZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19CdWdSZXBvcnREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQ2hhbmdlbG9nRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0NvbXBvdW5kRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0NvbmZpcm1LZXlTdG9yYWdlT2ZmRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0NvbmZpcm1TcGFjZVVzZXJBY3Rpb25EaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQ29uZmlybVVzZXJBY3Rpb25EaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fQ3JlYXRlUm9vbURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19DcmVhdGVTZWN0aW9uRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0NyZWF0ZVN1YnNwYWNlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0NyeXB0by5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19EZWFjdGl2YXRlQWNjb3VudERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19EZXZ0b29sc0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19FeHBvcnREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fRmVlZGJhY2tEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fRm9yd2FyZERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19HZW5lcmljRmVhdHVyZUZlZWRiYWNrRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0luY29taW5nU2FzRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0ludml0ZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19JbnZpdGVQcm9ncmVzc0JvZHkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fSm9pblJ1bGVEcm9wZG93bi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19MZWF2ZVNwYWNlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX0xvY2F0aW9uVmlld0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Mb2dvdXREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Nb2RhbFdpZGdldERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Qb2xsQ3JlYXRlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1JlZ2lzdHJhdGlvbkVtYWlsUHJvbXB0RGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1JlbW92ZVNlY3Rpb25EaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fUmVwb3J0Um9vbURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Sb29tU2V0dGluZ3NEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fUm9vbVNldHRpbmdzRGlhbG9nQnJpZGdlcy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Sb29tVXBncmFkZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19Sb29tVXBncmFkZVdhcm5pbmdEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU2VydmVyT2ZmbGluZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19TZXJ2ZXJQaWNrZXJEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU2V0RW1haWxEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU2V0dGluZ3NEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU2hhcmVEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU2xhc2hDb21tYW5kSGVscERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19TcGFjZVByZWZlcmVuY2VzRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1NwYWNlU2V0dGluZ3NEaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9fU3BvdGxpZ2h0RGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1Rlcm1zRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1VucGluQWxsRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1VudHJ1c3RlZERldmljZURpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19VcGxvYWRDb25maXJtRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3MvX1VzZXJTZXR0aW5nc0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19WZXJpZnlFTWFpbERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL19XaWRnZXRDYXBhYmlsaXRpZXNQcm9tcHREaWFsb2cucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZGlhbG9ncy9pbnZpdGUvX1Vua25vd25JZGVudGl0eVVzZXJzV2FybmluZ0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0NyZWF0ZUNyb3NzU2lnbmluZ0RpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpYWxvZ3Mvc2VjdXJpdHkvX0tleUJhY2t1cEZhaWxlZERpYWxvZy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9kaWFsb2dzL3NlY3VyaXR5L19SZXN0b3JlS2V5QmFja3VwRGlhbG9nLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2RpcmVjdG9yeS9fTmV0d29ya0Ryb3Bkb3duLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19BY2Nlc3NpYmxlQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19Db3B5YWJsZVRleHQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRGlhbFBhZEJhY2tzcGFjZUJ1dHRvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRHJvcGRvd24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0VkaXRhYmxlSXRlbUxpc3QucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0Vycm9yQm91bmRhcnkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0V4dGVybmFsTGluay5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fRmFjZVBpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0ZpZWxkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19HZW5lcmljRXZlbnRMaXN0U3VtbWFyeS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fSW1hZ2VWaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19JbmZvVG9vbHRpcC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fSW5saW5lU3Bpbm5lci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fSW50ZXJhY3RpdmVUb29sdGlwLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19JbnZpdGVSZWFzb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0xhYmVsbGVkQ2hlY2tib3gucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX0xhbmd1YWdlRHJvcGRvd24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX01pbmlBdmF0YXJVcGxvYWRlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fUGlsbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fUG93ZXJTZWxlY3Rvci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fUHJvZ3Jlc3NCYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1FSQ29kZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fUmVwbHlDaGFpbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fUmVzaXplSGFuZGxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19SaWNoVGV4dC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fUm9vbUFsaWFzRmllbGQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1NTT0J1dHRvbnMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1NlYXJjaFdhcm5pbmcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1NlcnZlclBpY2tlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fU2V0dGluZ3NEcm9wZG93bi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fU2V0dGluZ3NGbGFnLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19TcGlubmVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19TdHlsZWRSYWRpb0J1dHRvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fU3ludGF4SGlnaGxpZ2h0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19UYWdDb21wb3Nlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9lbGVtZW50cy9fVGV4dFdpdGhUb29sdGlwLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2VsZW1lbnRzL19Ub2dnbGVTd2l0Y2gucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZWxlbWVudHMvX1ZhbGlkYXRpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvZW1vamlwaWNrZXIvX0Vtb2ppUGlja2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2xvY2F0aW9uL19Mb2NhdGlvblBpY2tlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fQ2FsbEV2ZW50LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19DcmVhdGVFdmVudC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fRGlzYW1iaWd1YXRlZFByb2ZpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX0xlZ2FjeUNhbGxFdmVudC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fTUltYWdlUmVwbHlCb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19NTG9jYXRpb25Cb2R5LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19NUG9sbEJvZHkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX01TdGlja2VyQm9keS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fTWVzc2FnZUFjdGlvbkJhci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9tZXNzYWdlcy9fVGV4dHVhbEV2ZW50LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL21lc3NhZ2VzL19UaHJlYWRBY3Rpb25CYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvbWVzc2FnZXMvX2NvbW1vbl9DcnlwdG9FdmVudC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9wb2xscy9wb2xsSGlzdG9yeS9fUG9sbEhpc3RvcnkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcG9sbHMvcG9sbEhpc3RvcnkvX1BvbGxIaXN0b3J5TGlzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yaWdodF9wYW5lbC9fQmFzZUNhcmQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX0VtcHR5U3RhdGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX0VuY3J5cHRpb25JbmZvLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3JpZ2h0X3BhbmVsL19FeHRlbnNpb25zQ2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yaWdodF9wYW5lbC9fUGlubmVkTWVzc2FnZXNDYXJkLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3JpZ2h0X3BhbmVsL19Sb29tU3VtbWFyeUNhcmQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX1RocmVhZFBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3JpZ2h0X3BhbmVsL19UaW1lbGluZUNhcmQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmlnaHRfcGFuZWwvX1VzZXJJbmZvLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3JpZ2h0X3BhbmVsL19WZXJpZmljYXRpb25QYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yaWdodF9wYW5lbC9fV2lkZ2V0Q2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tX3NldHRpbmdzL19BbGlhc1NldHRpbmdzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL1Jvb21MaXN0UGFuZWwvX1Jvb21MaXN0UGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0FwcHNEcmF3ZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0F1dG9jb21wbGV0ZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fQXV4UGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0Jhc2ljTWVzc2FnZUNvbXBvc2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19DYWxsR3Vlc3RMaW5rQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19FMkVJY29uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19FMkVJY29uVmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fRWRpdE1lc3NhZ2VDb21wb3Nlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fRW1vamlCdXR0b24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0V2ZW50QnViYmxlVGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fRXZlbnRUaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19IaXN0b3J5VGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fSVJDTGF5b3V0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19JbnZpdGVkSWNvblZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0p1bXBUb0JvdHRvbUJ1dHRvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fTGVnYWN5Um9vbUxpc3QucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX0xlZ2FjeVJvb21MaXN0SGVhZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19MaXZlQ29udGVudFN1bW1hcnkucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX01lbWJlckxpc3RIZWFkZXJWaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19NZW1iZXJMaXN0Vmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fTWVtYmVyVGlsZVZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX01lc3NhZ2VDb21wb3Nlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19OZXdSb29tSW50cm8ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX05vdGlmaWNhdGlvbkJhZGdlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19PdmVyZmxvd1RpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Bpbm5lZEV2ZW50VGlsZS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUGlubmVkTWVzc2FnZUJhbm5lci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUGx4TWVkaWFQaWNrZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1ByZXNlbmNlSWNvblZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1ByZXNlbmNlTGFiZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1JlYWRSZWNlaXB0R3JvdXAucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1JlcGx5UHJldmlldy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUmVwbHlUaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Sb29tQnJlYWRjcnVtYnMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21DYWxsQmFubmVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Sb29tSGVhZGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Sb29tSW5mb0xpbmUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21Lbm9ja3NCYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21QcmV2aWV3QmFyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Sb29tUHJldmlld0NhcmQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21TZWFyY2hBdXhQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fUm9vbVN1Ymxpc3QucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1Jvb21UaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19Sb29tVXBncmFkZVdhcm5pbmdCYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1NlbmRNZXNzYWdlQ29tcG9zZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1N0aWNrZXJzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19UaGlyZFBhcnR5TWVtYmVySW5mby5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy9fVG9wVW5yZWFkTWVzc2FnZXNCYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1VzZXJJZGVudGl0eVdhcm5pbmcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvX1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL19XaG9Jc1R5cGluZ1RpbGUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9fRWRpdFd5c2l3eWdDb21wb3Nlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9yb29tcy93eXNpd3lnX2NvbXBvc2VyL19TZW5kV3lzaXd5Z0NvbXBvc2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL3d5c2l3eWdfY29tcG9zZXIvY29tcG9uZW50cy9fRWRpdG9yLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3Jvb21zL3d5c2l3eWdfY29tcG9zZXIvY29tcG9uZW50cy9fRm9ybWF0dGluZ0J1dHRvbnMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvcm9vbXMvd3lzaXd5Z19jb21wb3Nlci9jb21wb25lbnRzL19MaW5rTW9kYWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX0F2YXRhclNldHRpbmcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX0ZvbnRTY2FsaW5nUGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX0ltYWdlU2l6ZVBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19JbnRlZ3JhdGlvbk1hbmFnZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX0pvaW5SdWxlU2V0dGluZ3MucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX0tleWJvYXJkU2hvcnRjdXQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX0xheW91dFN3aXRjaGVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19Ob3RpZmljYXRpb25QdXNoZXJTZXR0aW5ncy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fTm90aWZpY2F0aW9uU2V0dGluZ3MyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19Ob3RpZmljYXRpb25zLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19QaG9uZU51bWJlcnMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX1Bvd2VyTGV2ZWxTZWxlY3Rvci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fUm9vbVByb2ZpbGVTZXR0aW5ncy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fU2V0SW50ZWdyYXRpb25NYW5hZ2VyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19TZXR0aW5nc0ZpZWxkc2V0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19TZXR0aW5nc0hlYWRlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9fU2V0dGluZ3NTdWJoZWFkZXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX1NwZWxsQ2hlY2tMYW5ndWFnZXMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX1RoZW1lQ2hvaWNlUGFuZWwucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX1VwZGF0ZUNoZWNrQnV0dG9uLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL19Vc2VyUGVyc29uYWxJbmZvU2V0dGluZ3MucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvX1VzZXJQcm9maWxlU2V0dGluZ3MucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvZW5jcnlwdGlvbi9fQWR2YW5jZWRQYW5lbC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9lbmNyeXB0aW9uL19DaGFuZ2VSZWNvdmVyeUtleS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9lbmNyeXB0aW9uL19FbmNyeXB0aW9uQ2FyZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy9lbmNyeXB0aW9uL19FbmNyeXB0aW9uQ2FyZEVtcGhhc2lzZWRDb250ZW50LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL2VuY3J5cHRpb24vX1JlY292ZXJ5UGFuZWxPdXRPZlN5bmMucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvZW5jcnlwdGlvbi9fUmVzZXRJZGVudGl0eVBhbmVsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvX1NldHRpbmdzQmFubmVyLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvX1NldHRpbmdzSW5kZW50LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvX1NldHRpbmdzU2VjdGlvbi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL19TZXR0aW5nc1RhYi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL3Jvb20vX05vdGlmaWNhdGlvblNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvcm9vbS9fUGVvcGxlUm9vbVNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvcm9vbS9fUm9sZXNSb29tU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy9yb29tL19TZWN1cml0eVJvb21TZXR0aW5nc1RhYi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX0FwcGVhcmFuY2VVc2VyU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19Cb3RzVXNlclNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fSGVscFVzZXJTZXR0aW5nc1RhYi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX0tleWJvYXJkVXNlclNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fTWVkaWFQcmV2aWV3QWNjb3VudFNldHRpbmdzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fTWpvbG5pclVzZXJTZXR0aW5nc1RhYi5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zZXR0aW5ncy90YWJzL3VzZXIvX1ByZWZlcmVuY2VzVXNlclNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NldHRpbmdzL3RhYnMvdXNlci9fU2VjdXJpdHlVc2VyU2V0dGluZ3NUYWIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc2V0dGluZ3MvdGFicy91c2VyL19TaWRlYmFyVXNlclNldHRpbmdzVGFiLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NwYWNlcy9fU3BhY2VCYXNpY1NldHRpbmdzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3NwYWNlcy9fU3BhY2VDaGlsZHJlblBpY2tlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy9zcGFjZXMvX1NwYWNlQ3JlYXRlTWVudS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy90ZXJtcy9fSW5saW5lVGVybXNBZ3JlZW1lbnQucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvdG9hc3RzL19BbmFseXRpY3NUb2FzdC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy90b2FzdHMvX0luY29taW5nQ2FsbFRvYXN0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3RvYXN0cy9fSW5jb21pbmdMZWdhY3lDYWxsVG9hc3QucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvdG9hc3RzL19Ob25VcmdlbnRFY2hvRmFpbHVyZVRvYXN0LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3R5cG9ncmFwaHkvX0hlYWRpbmcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvdmVyaWZpY2F0aW9uL19WZXJpZmljYXRpb25TaG93U2FzLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3ZvaXAvTGVnYWN5Q2FsbFZpZXcvX0xlZ2FjeUNhbGxWaWV3QnV0dG9ucy5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19DYWxsRHVyYXRpb24ucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvdm9pcC9fQ2FsbFZpZXcucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvdm9pcC9fRGlhbFBhZC5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19EaWFsUGFkQ29udGV4dE1lbnUucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvdm9pcC9fRGlhbFBhZE1vZGFsLnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3LnBjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3ZvaXAvX0xlZ2FjeUNhbGxWaWV3Rm9yUm9vbS5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19MZWdhY3lDYWxsVmlld0hlYWRlci5wY3NzXCI7XG5AaW1wb3J0IFwiLi92aWV3cy92b2lwL19MZWdhY3lDYWxsVmlld1NpZGViYXIucGNzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvdm9pcC9fVmlkZW9GZWVkLnBjc3NcIjtcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKipcclxuICogUmVhY3QgVHJhbnNpdGlvbiBHcm91cCBhbmltYXRpb25zIGFyZSBwcmVmaXhlZCB3aXRoICdteF9ydGctLScgc28gdGhhdCB3ZVxyXG4gKiBrbm93IHRoZXkgc2hvdWxkIG5vdCBiZSB1c2VkIGFueXdoZXJlIG91dHNpZGUgb2YgUmVhY3QgVHJhbnNpdGlvbiBHcm91cHMuXHJcbiovXHJcblxyXG4ubXhfcnRnLS1mYWRlLWVudGVyIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbn1cclxuLm14X3J0Zy0tZmFkZS1lbnRlci1hY3RpdmUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZTtcclxufVxyXG4ubXhfcnRnLS1mYWRlLWV4aXQge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG4ubXhfcnRnLS1mYWRlLWV4aXQtYWN0aXZlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2U7XHJcbn1cclxuXHJcbjpyb290IHtcclxuICAgIC0taG92ZXItdHJhbnNpdGlvbjogMC4wOHMgY3ViaWMtYmV6aWVyKDAuNDYsIDAuMDMsIDAuNTIsIDAuOTYpOyAvKiBxdWFkcmF0aWMgKi9cclxufVxyXG5cclxuQGtleWZyYW1lcyBteC0tYW5pbS1wdWxzZSB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBteF9EaWFsb2dfbGlnaHRib3hfYmFja2dyb3VuZF9rZXlmcmFtZXMge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAkbGlnaHRib3gtYmFja2dyb3VuZC1iZy1vcGFjaXR5O1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG14X0ltYWdlVmlld19wYW5lbF9rZXlmcmFtZXMge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb24pIHtcclxuICAgIEBrZXlmcmFtZXMgbXgtLWFuaW0tcHVsc2Uge1xyXG4gICAgICAgIC8qIE92ZXJyaWRlIGFsbCBrZXlmcmFtZXMgaW4gcmVkdWNlZC1tb3Rpb24gKi9cclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIG14X0RpYWxvZ19saWdodGJveF9iYWNrZ3JvdW5kX2tleWZyYW1lcyB7XHJcbiAgICAgICAgLyogT3ZlcnJpZGUgYWxsIGtleWZyYW1lcyBpbiByZWR1Y2VkLW1vdGlvbiAqL1xyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgbXhfSW1hZ2VWaWV3X3BhbmVsX2tleWZyYW1lcyB7XHJcbiAgICAgICAgLyogT3ZlcnJpZGUgYWxsIGtleWZyYW1lcyBpbiByZWR1Y2VkLW1vdGlvbiAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9ydGctLWZhZGUtZW50ZXItYWN0aXZlIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gICAgLm14X3J0Zy0tZmFkZS1leGl0LWFjdGl2ZSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTktMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DXHJcbkNvcHlyaWdodCAyMDE3LTIwMTkgTmV3IFZlY3RvciBMdGRcclxuQ29weXJpZ2h0IDIwMTcgVmVjdG9yIENyZWF0aW9ucyBMdGRcclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuQGltcG9ydCBcIi4vX2ZvbnQtc2l6ZXMucGNzc1wiO1xyXG5AaW1wb3J0IFwiLi9fYW5pbWF0aW9ucy5wY3NzXCI7XHJcbkBpbXBvcnQgXCIuL19zcGFjaW5nLnBjc3NcIjtcclxuQGltcG9ydCB1cmwoXCJtYXBsaWJyZS1nbC9kaXN0L21hcGxpYnJlLWdsLmNzc1wiKTtcclxuXHJcbjpyb290IHtcclxuICAgIC0tY29udGFpbmVyLWJvcmRlci13aWR0aDogOHB4O1xyXG4gICAgLS1jb250YWluZXItZ2FwLXdpZHRoOiA4cHg7IC8qIG9ubHkgZXZlbiBudW1iZXJzIHNob3VsZCBiZSB1c2VkIGJlY2F1c2Ugb3RoZXJ3aXNlIHdlIGdldCAwLjVweCBtYXJnaW4gdmFsdWVzLiAqL1xyXG4gICAgLS10cmFuc2l0aW9uLXNob3J0OiAwLjFzO1xyXG4gICAgLS10cmFuc2l0aW9uLXN0YW5kYXJkOiAwLjNzO1xyXG4gICAgLS1idXR0b25zLWRpYWxvZy1nYXAtcm93OiAkc3BhY2luZy04O1xyXG4gICAgLS1idXR0b25zLWRpYWxvZy1nYXAtY29sdW1uOiAkc3BhY2luZy04O1xyXG4gICAgLS1NQm9keS1ib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAtLUV2ZW50VGlsZUJ1YmJsZV9tYXJnaW4tYmxvY2s6IDEwcHg7XHJcbiAgICAtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGg6IDQ2cHg7IC8qIDggKyAzMCAoYXZhdGFyKSArIDggKi9cclxuXHJcbiAgICAvKiBFeHBlY3RlZCB6LWluZGV4ZXMgZm9yIGRpYWxvZ3M6XHJcbiAgICAgICAgNDAwMCAtIERlZmF1bHQgd3JhcHBlciBpbmRleFxyXG4gICAgICAgIDQwMDkgLSBTdGF0aWMgZGlhbG9nIGJhY2tncm91bmRcclxuICAgICAgICA0MDEwIC0gU3RhdGljIGRpYWxvZyBpdHNlbGZcclxuICAgICAgICA0MDExIC0gU3RhbmRhcmQgZGlhbG9nIGJhY2tncm91bmRcclxuICAgICAgICA0MDEyIC0gU3RhbmRhcmQgZGlhbG9nIGl0c2VsZlxyXG5cclxuICAgICAgIFRoZXNlIGFyZSBzZXQgdXAgc3VjaCB0aGF0IHRoZSBzdGF0aWMgZGlhbG9nIGFsd2F5cyBhcHBlYXJzXHJcbiAgICAgICB1bmRlcm5lYXRoIHRoZSBzdGFuZGFyZCBkaWFsb2dzLlxyXG4gICAgICovXHJcbiAgICAtLWRpYWxvZy16SW5kZXgtd3JhcHBlci1kZWZhdWx0OiA0MDAwO1xyXG4gICAgLS1kaWFsb2ctekluZGV4LXN0YXRpYy1iYWNrZ3JvdW5kOiA0MDA5O1xyXG4gICAgLS1kaWFsb2ctekluZGV4LXN0YXRpYzogY2FsYyh2YXIoLS1kaWFsb2ctekluZGV4LXN0YXRpYy1iYWNrZ3JvdW5kKSArIDEpOyAvKiA0MDEwICovXHJcbiAgICAtLWRpYWxvZy16SW5kZXgtc3RhbmRhcmQtYmFja2dyb3VuZDogY2FsYyh2YXIoLS1kaWFsb2ctekluZGV4LXN0YXRpYykgKyAxKTsgLyogNDAxMSAqL1xyXG4gICAgLS1kaWFsb2ctekluZGV4LXN0YW5kYXJkOiBjYWxjKHZhcigtLWRpYWxvZy16SW5kZXgtc3RhbmRhcmQtYmFja2dyb3VuZCkgKyAxKTsgLyogNDAxMiAqL1xyXG59XHJcblxyXG4jbWF0cml4Y2hhdCB7XHJcbiAgICAvKiBUaGlzIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBDb21wb3VuZCB0b29sdGlwcyBjb3JyZWN0bHkgZHJhdyB3aGVyZSB0aGV5IHNob3VsZCB3aXRoIHotaW5kZXg6IGF1dG8gKi9cclxuICAgIGNvbnRhaW46IHN0cmljdDtcclxufVxyXG4jbXhfQ29udGV4dHVhbE1lbnVfQ29udGFpbmVyLFxyXG4jbXhfUGVyc2lzdGVkRWxlbWVudF9jb250YWluZXIsXHJcbiNteF9EaWFsb2dfQ29udGFpbmVyLFxyXG4jbXhfRGlhbG9nX1N0YXRpY0NvbnRhaW5lciB7XHJcbiAgICAvKiBUaGlzIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBDb21wb3VuZCB0b29sdGlwcyBjb3JyZWN0bHkgZHJhdyB3aGVyZSB0aGV5IHNob3VsZCB3aXRoIHotaW5kZXg6IGF1dG8gKi9cclxuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERpc2FibGUgcG9pbnRlciBldmVudHMgaW5zaWRlIHRoZSBwZXJzaXN0ZW50RWxlbWVudCBjb250YWluZXIgd2hlbiB0aGUgcm9vbS1saXN0IGlzIGJlaW5nIHJlc2l6ZWQuXHJcbiAqIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGF2b2lkIHRoZSBwb2ludGVyIGV2ZW50cyBmcm9tIGJlaW5nIGhpamFja2VkIGJ5IHRoZSBjb250ZW50IHJlbmRlcmVkIGluc2lkZVxyXG4gKiB0aGF0IGRpdi5cclxuICovXHJcbjpyb290OmhhcygubXhfU2VwYXJhdG9yW2RhdGEtc2VwYXJhdG9yPVwiYWN0aXZlXCJdKSAjbXhfUGVyc2lzdGVkRWxlbWVudF9jb250YWluZXIge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBXZSBuZWVkIHRvIGluY3JlYXNlIHRoZSBzcGVjaWZpY2l0eSBvZiB0aGUgc2VsZWN0b3IgdG8gb3ZlcnJpZGUgdGhlXHJcbiAqIGN1c3RvbSBwcm9wZXJ0eSBzZXQgYnkgdGhlIGRlc2lnbiB0b2tlbnMgcGFja2FnZVxyXG4gKi9cclxuW2NsYXNzXj1cImNwZC10aGVtZVwiXVtjbGFzc149XCJjcGQtdGhlbWVcIl0ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZGVzaWduIHRva2VucyBwYWNrYWdlIGN1cnJlbnRseSBkb2VzIG5vdCBleHBvc2UgdGhlIGZhbGxiYWNrIGZvbnRzXHJcbiAgICAgKiBXZSB3YW50IHRvIGtlZXAgb24gcmUtdXNpbmcgYCRmb250LWZhbWlseWAgdG8gbm90IGJyZWFrIGN1c3RvbSB0aGVtZXNcclxuICAgICAqIGFuZCBiZWNhdXNlIHdlIGNhbiB0byB1c2UgYFR3ZW1vamlgIHRvIGRpc3BsYXkgZW1vamkgcmF0aGVyIHRoYW4gdXNpbmdcclxuICAgICAqIHN5c3RlbSBvbmVzXHJcbiAgICAgKi9cclxuICAgIC0tY3BkLWZvbnQtZmFtaWx5LXNhbnM6ICRmb250LWZhbWlseTtcclxufVxyXG5cclxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XHJcbiAgICA6cm9vdCB7XHJcbiAgICAgICAgLS10cmFuc2l0aW9uLXNob3J0OiAwO1xyXG4gICAgICAgIC0tdHJhbnNpdGlvbi1zdGFuZGFyZDogMDtcclxuICAgIH1cclxufVxyXG5cclxuaHRtbCB7XHJcbiAgICAvKiBoYWNrIHRvIHN0b3Agb3ZlcnNjcm9sbCBib3VuY2Ugb24gT1NYIGFuZCBpT1MuXHJcbiAgICAgICBOLkIuIEJyZWFrcyB0aGluZ3Mgd2hlbiB3ZSBoYXZlIGxlZ2l0aW1hdGUgaG9yaXpvbnRhbCBvdmVyc2Nyb2xsICovXHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgLyogU3RvcCBzaW1pbGFyIG92ZXJzY3JvbGwgYm91bmNlIGluIEZpcmVmb3ggTmlnaHRseSBmb3IgbWFjT1MgKi9cclxuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IG5vbmU7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgLyogIWltcG9ydGFudCBiZWNhdXNlIGNvbXBvdW5kIG92ZXJyaWRlcyB0aGVzZSBmb250IHNldHRpbmdzIGZvciBib2R5ICovXHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpICFpbXBvcnRhbnQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1tZCkgIWltcG9ydGFudDtcclxuICAgIC8qKlxyXG4gICAgICogV2Ugd2FudCB0byBhcHBseSBJbnRlciBEeW5hbWljIG1ldHJpY3MgKGh0dHBzOi8vcnNtcy5tZS9pbnRlci9keW5tZXRyaWNzLylcclxuICAgICAqIFdlIG5lZWQgdG8gdHdlYWsgdGhlIGBsZXR0ZXItc3BhY2luZ2AgcHJvcGVydHkgYW5kIGRvaW5nIHNvLCBkaXNhYmxlcyBieVxyXG4gICAgICogZGVmYXVsdCB0aGUgb3B0aW9uYWwgbGlnYXR1cmVzXHJcbiAgICAgKiBgZm9udC1mZWF0dXJlLXNldHRpbmdzYCBhbGxvd3MgdXMgdG8gb3ZlcnJpZGUgdGhpcyBiZWhhdmlvdXIgYW5kIGhhdmUgdGhlXHJcbiAgICAgKiBjb3JyZWN0IGxpZ2F0dXJlcyBhbmQgdGhlIHByb3BlciBkeW5hbWljIG1ldHJpYyBzcGFjaW5nLlxyXG4gICAgICovXHJcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6XHJcbiAgICAgICAgXCJrZXJuXCIgMSxcclxuICAgICAgICBcImxpZ2FcIiAxLFxyXG4gICAgICAgIFwiY2FsdFwiIDEgIWltcG9ydGFudDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgYm9yZGVyOiAwcHg7XHJcbiAgICBtYXJnaW46IDBweDtcclxuXHJcbiAgICAvKiBuZWVkZWQgdG8gbWF0Y2ggdGhlIGRlc2lnbnMgY29ycmVjdGx5IG9uIG1hY09TICovXHJcbiAgICAvKiBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3ZlY3Rvci1pbS9lbGVtZW50LXdlYi9pc3N1ZXMvMTE0MjUgKi9cclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxucHJlLFxyXG5jb2RlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkbW9ub3NwYWNlLWZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5lcnJvcixcclxuLndhcm5pbmcsXHJcbi50ZXh0LWVycm9yLFxyXG4udGV4dC13YXJuaW5nIHtcclxuICAgIGNvbG9yOiAkYWxlcnQ7XHJcbn1cclxuXHJcbi50ZXh0LXN1Y2Nlc3Mge1xyXG4gICAgY29sb3I6ICRhY2NlbnQ7XHJcbn1cclxuXHJcbi50ZXh0LW11dGVkIHtcclxuICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XHJcbn1cclxuXHJcbi50ZXh0LXByaW1hcnkge1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi50ZXh0LXNlY29uZGFyeSB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfVmVyaWZpZWQge1xyXG4gICAgY29sb3I6ICRlMmUtdmVyaWZpZWQtY29sb3I7XHJcbn1cclxuXHJcbi5teF9VbnRydXN0ZWQge1xyXG4gICAgY29sb3I6ICRlMmUtd2FybmluZy1jb2xvcjtcclxufVxyXG5cclxuYiB7XHJcbiAgICAvKiBPbiBGaXJlZm94LCB0aGUgZGVmYXVsdCB3ZWlnaHQgZm9yIGA8Yj5gIGlzIGBib2xkZXJgIHdoaWNoIHJlc3VsdHMgaW4gbm8gYm9sZCAqL1xyXG4gICAgLyogZWZmZWN0IHNpbmNlIHdlIG9ubHkgaGF2ZSBzcGVjaWZpYyB3ZWlnaHRzIG9mIG91ciBmb250cyBhdmFpbGFibGUuICovXHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLyogS2VlcCB0aGUgbGVnYWN5IGxpbmsgY29sb3VyIHdpdGhvdXQgb3ZlcnJpZGluZyBDb21wb3VuZCBhbmNob3JzIG9yIHNoYXJlZCB0aW1lc3RhbXAgc3R5bGluZy4gKi9cclxuYTp3aGVyZSg6bm90KFtkYXRhLWtpbmRdKTpub3QoLm14X01lc3NhZ2VUaW1lc3RhbXApKTpob3ZlcixcclxuYTp3aGVyZSg6bm90KFtkYXRhLWtpbmRdKTpub3QoLm14X01lc3NhZ2VUaW1lc3RhbXApKTpsaW5rLFxyXG5hOndoZXJlKDpub3QoW2RhdGEta2luZF0pOm5vdCgubXhfTWVzc2FnZVRpbWVzdGFtcCkpOnZpc2l0ZWQge1xyXG4gICAgY29sb3I6ICRhY2NlbnQtYWx0O1xyXG59XHJcblxyXG46bm90KC5teF9ub190ZXh0aW5wdXQpOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKSA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG46bm90KC5teF9ub190ZXh0aW5wdXQpOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKSA+IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcbjpub3QoLm14X25vX3RleHRpbnB1dCk6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpID4gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcclxuICAgIHBhZGRpbmc6IDlweDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLm14X3RleHRpbnB1dF9pY29uLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLm14X3RleHRpbnB1dF9pY29uIHtcclxuICAgIHBhZGRpbmctbGVmdDogMzZweDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMHB4IGNlbnRlcjtcclxufVxyXG5cclxuLyogRklYTUUgVEhFTUUgLSBUaW50IGJ5IENTUyByYXRoZXIgdGhhbiByZWZlcmVuY2luZyBhIGR1cGxpY2F0ZSBhc3NldCAqL1xyXG5pbnB1dFt0eXBlPVwidGV4dFwiXS5teF90ZXh0aW5wdXRfaWNvbi5teF90ZXh0aW5wdXRfc2VhcmNoLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLm14X3RleHRpbnB1dF9pY29uLm14X3RleHRpbnB1dF9zZWFyY2gge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL3NlYXJjaC5zdmdcIik7XHJcbn1cclxuXHJcbi8qIGRvbnQgc2VhcmNoIFVJIGFzIG5vdCBhbGwgYnJvd3NlcnMgc3VwcG9ydCBpdCwgKi9cclxuLyogd2UgaW1wbGVtZW50IGl0IG91cnNlbHZlcyB3aGVyZSBuZWVkZWQgaW5zdGVhZCAqL1xyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIE92ZXJyaWRlIEZpcmVmb3gncyBVQSBzdHlsZSBzbyB3ZSBnZXQgYSBjb25zaXN0ZW50IGxvb2sgYWNyb3NzIGJyb3dzZXJzICovXHJcbmlucHV0OjpwbGFjZWhvbGRlcixcclxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcclxuICAgIG9wYWNpdHk6IGluaXRpYWw7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbnRleHRhcmVhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi8qIFJlcXVpcmVkIGJ5IEZpcmVmb3ggKi9cclxudGV4dGFyZWEge1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXHJcbnRleHRhcmVhOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG4vKiBUaGlzIGlzIHVzZWQgdG8gaGlkZSB0aGUgc3RhbmRhcmQgb3V0bGluZSBhZGRlZCBieSBicm93c2VycyBmb3IgKi9cclxuLyogYWNjZXNzaWJsZSAoZm9jdXNhYmxlKSBjb21wb25lbnRzLiBOb3QgaW50ZW5kZWQgZm9yIGJ1dHRvbnMsIGJ1dCAqL1xyXG4vKiBzaG91bGQgYmUgdXNlZCBvbiB0aGluZ3MgbGlrZSBmb2N1c2FibGUgY29udGFpbmVycyB3aGVyZSB0aGUgb3V0bGluZSAqL1xyXG4vKiBpcyB1c3VhbGx5IG5vdCBoZWxwaW5nIGFueW9uZS4gKi9cclxuKjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi8qIG92ZXJyaWRlIGRlZmF1bHRzICovXHJcbmZpZWxkc2V0IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1pbmxpbmU6IHVuc2V0O1xyXG4gICAgcGFkZGluZy1ibG9jazogdW5zZXQ7XHJcbiAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XHJcbiAgICBtaW4taW5saW5lLXNpemU6IHVuc2V0O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG5zdW1tYXJ5IHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxubGVnZW5kIHtcclxuICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLyogLm14X3RleHRpbnB1dCBpcyBhIGNvbnRhaW5lciBmb3IgYSB0ZXh0IGlucHV0ICovXHJcbi8qICsgc29tZSBvdGhlciBjb250cm9scyBsaWtlIGJ1dHRvbnMsIC4uLiAqL1xyXG4vKiBpdCBoYXMgdGhlIGFwcGVhcmFuY2Ugb2YgYSB0ZXh0IGJveCBzbyB0aGUgY29udHJvbHMgKi9cclxuLyogYXBwZWFyIHRvIGJlIHBhcnQgb2YgdGhlIGlucHV0ICovXHJcblxyXG4ubXhfRGlhbG9nLFxyXG4ubXhfTWF0cml4Q2hhdF93cmFwcGVyIHtcclxuICAgIC5teF90ZXh0aW5wdXQgPiBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgIC5teF90ZXh0aW5wdXQgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSA+IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gICAgOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKTpub3QoLm14X25vX3RleHRpbnB1dCkgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG4gICAgLm14X3RleHRpbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogJGlucHV0LWRhcmtlci1mZy1jb2xvcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1oYWlybGluZS1jb2xvcjtcclxuICAgICAgICAvKiB0aGVzZSB0aGluZ3Mgc2hvdWxkIHByb2JhYmx5IG5vdCBiZSBkZWZpbmVkIGdsb2JhbGx5ICovXHJcbiAgICAgICAgbWFyZ2luOiA5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X3RleHRpbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIDpub3QoLm14X3RleHRpbnB1dCk6bm90KC5teF9GaWVsZCk6bm90KC5teF9ub190ZXh0aW5wdXQpID4gaW5wdXRbdHlwZT1cInRleHRcIl06OnBsYWNlaG9sZGVyLFxyXG4gICAgOm5vdCgubXhfdGV4dGlucHV0KTpub3QoLm14X0ZpZWxkKTpub3QoLm14X25vX3RleHRpbnB1dCkgPiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjpwbGFjZWhvbGRlcixcclxuICAgIC5teF90ZXh0aW5wdXQgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBQcmV2ZW50IHVnbHkgZG90dGVkIGhpZ2hsaWdodCBhcm91bmQgc2VsZWN0ZWQgZWxlbWVudHMgaW4gRmlyZWZveCAqL1xyXG46Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4vKiBUaGVzZSBhcmUgbWFnaWMgY29uc3RhbnRzIHdoaWNoIGFyZSBleGNsdWRlZCBmcm9tIHRpbnRpbmcsIHRvIGxldCB0aGVtZXMgKi9cclxuLyogKHdoaWNoIG9ubHkgaGF2ZSBDU1MpIHRlbGwgdGhlIGFwcCB3aGF0IHRoZWlyIG5vbi10aW50ZWQgKi9cclxuLyogY29sb3Vyc2NoZW1lIGlzIGJ5IGluc3BlY3RpbmcgdGhlIHN0eWxlc2hlZXQgRE9NLiAqL1xyXG4vKiBUaGV5IGFyZSBub3QgdXNlZCBmb3IgbGF5b3V0ISEgKi9cclxuI214X3RoZW1lX2FjY2VudENvbG9yIHtcclxuICAgIGNvbG9yOiAkYWNjZW50O1xyXG59XHJcblxyXG4jbXhfdGhlbWVfc2Vjb25kYXJ5QWNjZW50Q29sb3Ige1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktYWNjZW50LWNvbG9yO1xyXG59XHJcblxyXG4ubXhfRGlhbG9nX3dyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogdmFyKC0tZGlhbG9nLXpJbmRleC13cmFwcGVyLWRlZmF1bHQpO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9EaWFsb2dfYm9yZGVyIHtcclxuICAgIHotaW5kZXg6IHZhcigtLWRpYWxvZy16SW5kZXgtc3RhbmRhcmQpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWNwZC1zcGFjZS02eCkpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgLm14X0RpYWxvZ19saWdodGJveCAmIHtcclxuICAgICAgICAvKiBUaGUgbGlnaHRib3ggaXNuJ3Qgc28gbXVjaCBvZiBhIGRpYWxvZyBhcyBhIGZ1bGxzY3JlZW4gb3ZlcmxheS4gV2VcclxuICAgICAgICBkb24ndCB3YW50IHRoZSBnbGFzcyBib3JkZXIuICovXHJcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EaWFsb2cge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJGxpZ2h0LWZnLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTh4KSB2YXIoLS1jcGQtc3BhY2UtMTB4KTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgIC5teF9EaWFsb2dfc3RhdGljV3JhcHBlciAmIHtcclxuICAgICAgICB6LWluZGV4OiB2YXIoLS1kaWFsb2ctekluZGV4LXN0YXRpYyk7XHJcbiAgICAgICAgY29udGFpbjogY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX2xpZ2h0Ym94ICYge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBTdHlsZXMgY29waWVkL2luc3BpcmVkIGJ5IEdyb3VwTGF5b3V0LCBSZXBseVRpbGUsIGFuZCBFdmVudFRpbGUgdmFyaWFudHMuICovXHJcbiAgICAubWFya2Rvd24tYm9keSB7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LW1kKTtcclxuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIGluaGVyaXQgdGhlIGNvbG91ciBmcm9tIHRoZSBkYXJrIG9yIGxpZ2h0IHRoZW1lIGJ5IGRlZmF1bHQgKGJ1dCBub3QgZm9yIGNvZGUgYmxvY2tzKSAqL1xyXG5cclxuICAgICAgICBwcmUsXHJcbiAgICAgICAgY29kZSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbW9ub3NwYWNlLWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlYmxvY2stYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIHRoaXMgc2VsZWN0b3Igd3JvbmdseSBhcHBsaWVzIHRvIGNvZGUgYmxvY2tzIHRvbyBidXQgd2Ugd2lsbCB1bnNldCBpdCBpbiB0aGUgbmV4dCBvbmUgKi9cclxuICAgICAgICBjb2RlIHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAvKiBkb24ndCBjb2xsYXBzZSBzcGFjZXMgaW4gaW5saW5lIGNvZGUgYmxvY2tzICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcmUge1xyXG4gICAgICAgICAgICAvKiBoYXZlIHRvIHVzZSBvdmVybGF5IHJhdGhlciB0aGFuIGF1dG8gb3RoZXJ3aXNlIExpbnV4IGFuZCBXaW5kb3dzICovXHJcbiAgICAgICAgICAgIC8qIENocm9tZSBnZXRzIHZlcnkgY29uZnVzZWQgYWJvdXQgdmVydGljYWwgc3BhY2luZzogKi9cclxuICAgICAgICAgICAgLyogaHR0cHM6Ly9naXRodWIuY29tL3ZlY3Rvci1pbS92ZWN0b3Itd2ViL2lzc3Vlcy83NTQgKi9cclxuICAgICAgICAgICAgb3ZlcmZsb3cteDogb3ZlcmxheTtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcclxuXHJcbiAgICAgICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29kZSB7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlOyAvKiB3ZSB3YW50IGNvZGUgYmxvY2tzIHRvIGJlIHNjcm9sbGFibGUgYW5kIG5vdCB3cmFwICovXHJcblxyXG4gICAgICAgICAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgxLFxyXG4gICAgICAgIGgyLFxyXG4gICAgICAgIGgzLFxyXG4gICAgICAgIGg0LFxyXG4gICAgICAgIGg1LFxyXG4gICAgICAgIGg2IHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBNYWtlIGgxIGFuZCBoMiB0aGUgc2FtZSBzaXplIGFzIGgzLiAqL1xyXG4gICAgICAgIGgxLFxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50OyAvKiBvdmVycmlkZSBHRk0gKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudC1hbHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBibG9ja3F1b3RlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYmxvY2txdW90ZS1iYXItY29sb3I7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0RpYWxvZ19maXhlZFdpZHRoIHtcclxuICAgIHdpZHRoOiA2MHZ3O1xyXG4gICAgbWF4LXdpZHRoOiA3MDRweDtcclxufVxyXG5cclxuLm14X0RpYWxvZ19iYWNrZ3JvdW5kIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRkaWFsb2ctYmFja2Ryb3AtY29sb3I7XHJcbiAgICB6LWluZGV4OiB2YXIoLS1kaWFsb2ctekluZGV4LXN0YW5kYXJkLWJhY2tncm91bmQpO1xyXG5cclxuICAgICYubXhfRGlhbG9nX3N0YXRpY0JhY2tncm91bmQge1xyXG4gICAgICAgIHotaW5kZXg6IHZhcigtLWRpYWxvZy16SW5kZXgtc3RhdGljLWJhY2tncm91bmQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dfd3JhcHBlcldpdGhTdGF0aWNVbmRlciAmIHtcclxuICAgICAgICAvKiBSb3VnaGx5IGhhbGYgb2Ygd2hhdCBpdCB3b3VsZCBub3JtYWxseSBiZSAtIHdlIGRvbid0IHdhbnQgdG8gYmxhY2sgb3V0ICovXHJcbiAgICAgICAgLyogdGhlIGFwcCwganVzdCBtYWtlIGl0IGNsZWFyIHRoYXQgdGhlIGRpYWxvZ3MgYXJlIHN0YWNrZWQuICovXHJcbiAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dfbGlnaHRib3ggJiB7XHJcbiAgICAgICAgb3BhY2l0eTogJGxpZ2h0Ym94LWJhY2tncm91bmQtYmctb3BhY2l0eTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRib3gtYmFja2dyb3VuZC1iZy1jb2xvcjtcclxuICAgICAgICBhbmltYXRpb24tbmFtZTogbXhfRGlhbG9nX2xpZ2h0Ym94X2JhY2tncm91bmRfa2V5ZnJhbWVzO1xyXG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EaWFsb2dfdGl0bGVJbWFnZSB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcclxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xyXG59XHJcblxyXG4ubXhfRGlhbG9nX3RpdGxlIHtcclxuICAgIGNvbG9yOiAkZGlhbG9nLXRpdGxlLWZnLWNvbG9yO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctbGcpO1xyXG5cclxuICAgICYuZGFuZ2VyIHtcclxuICAgICAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRGlhbG9nX2hlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAyMHB4OyAvKiBSZXNlcnZlIHJvb20gZm9yIHRoZSBjbG9zZSBidXR0b24gKi9cclxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcblxyXG4gICAgJi5teF9EaWFsb2dfaGVhZGVyV2l0aEJ1dHRvbiA+IC5teF9EaWFsb2dfdGl0bGUge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuQGRlZmluZS1taXhpbiBjdXN0b21pc2VkQ2FuY2VsQnV0dG9uIHtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcclxuICAgIH1cclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRGlhbG9nX2NhbmNlbEJ1dHRvbiB7XHJcbiAgICBAbWl4aW4gY3VzdG9taXNlZENhbmNlbEJ1dHRvbjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIHJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG59XHJcblxyXG4ubXhfRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgbWFyZ2luOiAyNHB4IDAgNjhweDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxufVxyXG5cclxuLm14X0RpYWxvZ19idXR0b25zIHtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTIwO1xyXG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgIC5teF9EaWFsb2dfYnV0dG9uc19hZGRpdGl2ZSB7XHJcbiAgICAgICAgLyogVGhlIGNvbnN1bWVyIGlzIHJlc3BvbnNpYmxlIGZvciBwb3NpdGlvbmluZyB0aGVpciBlbGVtZW50cy4gKi9cclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX2J1dHRvbnNfcm93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcclxuXHJcbiAgICAgICAgLyogZGVmYXVsdCBnYXAgYW1vbmcgZWxlbWVudHMgKi9cclxuICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtY29sdW1uKTtcclxuICAgICAgICByb3ctZ2FwOiB2YXIoLS1idXR0b25zLWRpYWxvZy1nYXAtcm93KTtcclxuXHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIHRoZSBtYXJnaW4gc2V0dGluZ3MgKi9cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBkZWZpbmUtbWl4aW4gbXhfRGlhbG9nQnV0dG9uIHtcclxuICAgIC8qIGFsaWduIGltYWdlcyBpbiBidXR0b25zIChlZyBzcGlubmVycykgKi9cclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBib3JkZXI6IDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgY29sb3I6ICRidXR0b24tZmctY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIHBhZGRpbmc6IDdweDtcclxuICAgIHBhZGRpbmctbGVmdDogMS41ZW07XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAmOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFhYWDogT3VyIGJ1dHRvbiBzdHlsZSBhcmUgYSBtZXNzOiBidXR0b25zIHRoYXQgaGFwcGVuIHRvIGFwcGVhciBpbiBkaWFsb2dzIGdldCBzcGVjaWFsIHN0eWxlcyBhcHBsaWVkXHJcbiAqIHRvIHRoZW0gdGhhdCBubyBidXR0b24gYW55d2hlcmUgZWxzZSBpbiB0aGUgYXBwIGdldHMgYnkgZGVmYXVsdC4gSW4gcHJhY3RpY2UsIGJ1dHRvbnMgaW4gb3RoZXIgcGxhY2VzXHJcbiAqIGluIHRoZSBhcHAgbG9vayB0aGUgc2FtZSBieSBiZWluZyBBY2Nlc3NpYmxlQnV0dG9ucywgb3IgcG9zc2libHkgYnkgaGF2aW5nIGV4cGxpY3QgYnV0dG9uIGNsYXNzZXMuXHJcbiAqIFdlIHNob3VsZCBnbyB0aHJvdWdoIGFuZCBoYXZlIG9uZSBjb25zaXN0ZW50IHNldCBvZiBzdHlsZXMgZm9yIGJ1dHRvbnMgdGhyb3VnaG91dCB0aGUgYXBwLlxyXG4gKiBGb3Igbm93LCBJIGFtIGR1cGxpY2F0aW5nIHRoZSBzZWxlY3RvcnMgaGVyZSBmb3IgbXhfRGlhbG9nIGFuZCBteF9EaWFsb2dCdXR0b25zLlxyXG4gKi9cclxuLm14X0RpYWxvZ1xyXG4gICAgYnV0dG9uOm5vdChcclxuICAgICAgICAubXhfRW5jcnlwdGlvblVzZXJTZXR0aW5nc1RhYiBidXR0b24sXHJcbiAgICAgICAgLm14X0VuY3J5cHRpb25DYXJkIGJ1dHRvbixcclxuICAgICAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5ncyBidXR0b24sXHJcbiAgICAgICAgLm14X1NoYXJlRGlhbG9nIGJ1dHRvbixcclxuICAgICAgICAubXhfVW5waW5BbGxEaWFsb2cgYnV0dG9uLFxyXG4gICAgICAgIC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIGJ1dHRvbixcclxuICAgICAgICAubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbixcclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbixcclxuICAgICAgICAubXhfSWRlbnRpdHlTZXJ2ZXJQaWNrZXIgYnV0dG9uLFxyXG4gICAgICAgIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nIGJ1dHRvbixcclxuICAgICAgICAubXhfSW52aXRlRGlhbG9nX3NlY3Rpb24gYnV0dG9uLFxyXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfZWRpdG9yIGJ1dHRvbixcclxuICAgICAgICAubXhfVW5rbm93bklkZW50aXR5VXNlcnNXYXJuaW5nRGlhbG9nIGJ1dHRvbixcclxuICAgICAgICAubXhfVGhyZWFkQWN0aW9uQmFyIGJ1dHRvbixcclxuICAgICAgICAubXhfSGlzdG9yeUFjdGlvbkJhciBidXR0b24sXHJcbiAgICAgICAgW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl1cclxuICAgICksXHJcbi5teF9EaWFsb2dfYnV0dG9ucyBidXR0b246bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uLCAubXhfQWNjZXNzaWJsZUJ1dHRvbiksXHJcbi5teF9EaWFsb2cgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcclxuLm14X0RpYWxvZ19idXR0b25zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgQG1peGluIG14X0RpYWxvZ0J1dHRvbjtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWJ1dHRvbnMtZGlhbG9nLWdhcC1jb2x1bW4pO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuICAgIC8qIGZsaXAgY29sb3VycyBmb3IgdGhlIHNlY29uZGFyeSBvbmVzICovXHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5teF9EaWFsb2dcclxuICAgIGJ1dHRvbjpub3QoXHJcbiAgICAgICAgLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24sXHJcbiAgICAgICAgW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0sXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24sXHJcbiAgICAgICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgYnV0dG9uLFxyXG4gICAgICAgIC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIGJ1dHRvbixcclxuICAgICAgICAubXhfVW5waW5BbGxEaWFsb2cgYnV0dG9uLFxyXG4gICAgICAgIC5teF9TaGFyZURpYWxvZyBidXR0b24sXHJcbiAgICAgICAgLm14X0VuY3J5cHRpb25Vc2VyU2V0dGluZ3NUYWIgYnV0dG9uLFxyXG4gICAgICAgIC5teF9Vbmtub3duSWRlbnRpdHlVc2Vyc1dhcm5pbmdEaWFsb2cgYnV0dG9uXHJcbiAgICApOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbn1cclxuXHJcbi5teF9EaWFsb2dcclxuICAgIGJ1dHRvbjpub3QoXHJcbiAgICAgICAgLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24sXHJcbiAgICAgICAgW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0sXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24sXHJcbiAgICAgICAgLm14X1VzZXJQcm9maWxlU2V0dGluZ3MgYnV0dG9uLFxyXG4gICAgICAgIC5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIGJ1dHRvbixcclxuICAgICAgICAubXhfVW5waW5BbGxEaWFsb2cgYnV0dG9uLFxyXG4gICAgICAgIC5teF9TaGFyZURpYWxvZyBidXR0b24sXHJcbiAgICAgICAgLm14X0VuY3J5cHRpb25Vc2VyU2V0dGluZ3NUYWIgYnV0dG9uLFxyXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfc2VjdGlvbiBidXR0b24sXHJcbiAgICAgICAgLm14X0ludml0ZURpYWxvZ19lZGl0b3IgYnV0dG9uLFxyXG4gICAgICAgIC5teF9Vbmtub3duSWRlbnRpdHlVc2Vyc1dhcm5pbmdEaWFsb2cgYnV0dG9uXHJcbiAgICApOmZvY3VzLFxyXG4ubXhfRGlhbG9nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXHJcbi5teF9EaWFsb2dfYnV0dG9ucyBidXR0b246bm90KC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uLCAubXhfQWNjZXNzaWJsZUJ1dHRvbik6Zm9jdXMsXHJcbi5teF9EaWFsb2dfYnV0dG9ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzIHtcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygkZm9jdXMtYnJpZ2h0bmVzcyk7XHJcbn1cclxuXHJcbi5teF9EaWFsb2cgYnV0dG9uLm14X0RpYWxvZ19wcmltYXJ5Om5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbiwgW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0pLFxyXG4ubXhfRGlhbG9nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ubXhfRGlhbG9nX3ByaW1hcnksXHJcbi5teF9EaWFsb2dfYnV0dG9uc1xyXG4gICAgYnV0dG9uOm5vdChcclxuICAgICAgICAubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbixcclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbixcclxuICAgICAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5ncyBidXR0b24sXHJcbiAgICAgICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWUgYnV0dG9uLFxyXG4gICAgICAgIC5teF9VbnBpbkFsbERpYWxvZyBidXR0b24sXHJcbiAgICAgICAgLm14X1NoYXJlRGlhbG9nIGJ1dHRvbixcclxuICAgICAgICAubXhfRW5jcnlwdGlvblVzZXJTZXR0aW5nc1RhYiBidXR0b24sXHJcbiAgICAgICAgLm14X1Vua25vd25JZGVudGl0eVVzZXJzV2FybmluZ0RpYWxvZyBidXR0b25cclxuICAgICksXHJcbi5teF9EaWFsb2dfYnV0dG9ucyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLm14X0RpYWxvZ19wcmltYXJ5IHtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xyXG4gICAgbWluLXdpZHRoOiAxNTZweDtcclxufVxyXG5cclxuLm14X0RpYWxvZyBidXR0b24uZGFuZ2VyOm5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbiwgW2NsYXNzfD1cIm1hcGxpYnJlZ2xcIl0pLFxyXG4ubXhfRGlhbG9nIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uZGFuZ2VyLFxyXG4ubXhfRGlhbG9nX2J1dHRvbnNcclxuICAgIGJ1dHRvbi5kYW5nZXI6bm90KFxyXG4gICAgICAgIC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uLFxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLFxyXG4gICAgICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzIGJ1dHRvbixcclxuICAgICAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZSBidXR0b24sXHJcbiAgICAgICAgLm14X1VucGluQWxsRGlhbG9nIGJ1dHRvbixcclxuICAgICAgICAubXhfU2hhcmVEaWFsb2cgYnV0dG9uLFxyXG4gICAgICAgIC5teF9FbmNyeXB0aW9uVXNlclNldHRpbmdzVGFiIGJ1dHRvbixcclxuICAgICAgICAubXhfVW5rbm93bklkZW50aXR5VXNlcnNXYXJuaW5nRGlhbG9nIGJ1dHRvblxyXG4gICAgKSxcclxuLm14X0RpYWxvZ19idXR0b25zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uZGFuZ2VyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgIGJvcmRlcjogc29saWQgMXB4IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcclxufVxyXG5cclxuLm14X0RpYWxvZyBidXR0b24ud2FybmluZzpub3QoLm14X0RpYWxvZ19ub25EaWFsb2dCdXR0b24sIFtjbGFzc3w9XCJtYXBsaWJyZWdsXCJdKSxcclxuLm14X0RpYWxvZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLndhcm5pbmcge1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1zdWJ0bGUpO1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xyXG59XHJcblxyXG4ubXhfRGlhbG9nXHJcbiAgICBidXR0b246bm90KFxyXG4gICAgICAgIC5teF9EaWFsb2dfbm9uRGlhbG9nQnV0dG9uLFxyXG4gICAgICAgIFtjbGFzc3w9XCJtYXBsaWJyZWdsXCJdLFxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLFxyXG4gICAgICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzIGJ1dHRvbixcclxuICAgICAgICAubXhfVGhlbWVDaG9pY2VQYW5lbF9DdXN0b21UaGVtZSBidXR0b24sXHJcbiAgICAgICAgLm14X1VucGluQWxsRGlhbG9nIGJ1dHRvbixcclxuICAgICAgICAubXhfU2hhcmVEaWFsb2cgYnV0dG9uLFxyXG4gICAgICAgIC5teF9FbmNyeXB0aW9uVXNlclNldHRpbmdzVGFiIGJ1dHRvbixcclxuICAgICAgICAubXhfVW5rbm93bklkZW50aXR5VXNlcnNXYXJuaW5nRGlhbG9nIGJ1dHRvblxyXG4gICAgKTpkaXNhYmxlZCxcclxuLm14X0RpYWxvZyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkLFxyXG4ubXhfRGlhbG9nX2J1dHRvbnMgYnV0dG9uOm5vdCgubXhfRGlhbG9nX25vbkRpYWxvZ0J1dHRvbiwgLm14X0FjY2Vzc2libGVCdXR0b24pOmRpc2FibGVkLFxyXG4ubXhfRGlhbG9nX2J1dHRvbnMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZmctY29sb3I7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkbGlnaHQtZmctY29sb3I7XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcbn1cclxuXHJcbi8qIFNwaW5uZXIgRGlhbG9nIG92ZXJpZGUgKi9cclxuLm14X0RpYWxvZ193cmFwcGVyLm14X0RpYWxvZ19zcGlubmVyIHtcclxuICAgIC8qIFRoaXMgaXMgbm90IGEgcmVhbCBkaWFsb2csIHNvIHdlIHNob3VsZG4ndCBzaG93IGEgZ2xhc3MgYm9yZGVyICovXHJcbiAgICAubXhfRGlhbG9nX2JvcmRlciB7XHJcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZyB7XHJcbiAgICAgICAgaW5saW5lLXNpemU6IGF1dG87XHJcbiAgICAgICAgYmxvY2stc2l6ZTogYXV0bztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG4gICAgICAgIC8qIERvbid0IHNob3cgc2Nyb2xsLWJhcnMgb24gc3Bpbm5lciBkaWFsb2dzICovXHJcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5cclxuLyogVE9ETzogUmV2aWV3IG14X0dlbmVyYWxCdXR0b24gdXNhZ2UgdG8gc2VlIGlmIGl0IGNhbiB1c2UgYSBkaWZmZXJlbnQgY2xhc3MgKi9cclxuLyogVGhlc2UgY2xhc3NlcyB3ZXJlIGJyb3VnaHQgaW4gZnJvbSB0aGUgb2xkIFVzZXJTZXR0aW5ncyBhbmQgYXJlIGluY2x1ZGVkIGhlcmUgdG8gYXZvaWQgKi9cclxuLyogYnJlYWtpbmcgdGhlIGFwcC4gKi9cclxuLyogUmVmOiBodHRwczovL2dpdGh1Yi5jb20vdmVjdG9yLWltL2VsZW1lbnQtd2ViL2lzc3Vlcy84NDIwICovXHJcbi5teF9HZW5lcmFsQnV0dG9uIHtcclxuICAgIEBtaXhpbiBteF9EaWFsb2dCdXR0b247XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbn1cclxuXHJcbi5teF9UZXh0SW5wdXREaWFsb2dfbGFiZWwge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xyXG59XHJcblxyXG4ubXhfVGV4dElucHV0RGlhbG9nX2lucHV0IHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgICBwYWRkaW5nOiA5cHg7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG59XHJcblxyXG4ubXhfYnV0dG9uX3JvdyB7XHJcbiAgICBtYXJnaW4tdG9wOiA2OXB4O1xyXG59XHJcblxyXG4vKiB1c2VybmFtZSBjb2xvcnMgKi9cclxuLyogdXNlZCBieSBTZW5kZXJQcm9maWxlICYgUm9vbVByZXZpZXdCYXIgKi9cclxuLm14X1VzZXJuYW1lX2NvbG9yMSB7XHJcbiAgICBjb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQxLWNvbG9yO1xyXG59XHJcblxyXG4ubXhfVXNlcm5hbWVfY29sb3IyIHtcclxuICAgIGNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDItY29sb3I7XHJcbn1cclxuXHJcbi5teF9Vc2VybmFtZV9jb2xvcjMge1xyXG4gICAgY29sb3I6ICR1c2VybmFtZS12YXJpYW50My1jb2xvcjtcclxufVxyXG5cclxuLm14X1VzZXJuYW1lX2NvbG9yNCB7XHJcbiAgICBjb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQ0LWNvbG9yO1xyXG59XHJcblxyXG4ubXhfVXNlcm5hbWVfY29sb3I1IHtcclxuICAgIGNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDUtY29sb3I7XHJcbn1cclxuXHJcbi5teF9Vc2VybmFtZV9jb2xvcjYge1xyXG4gICAgY29sb3I6ICR1c2VybmFtZS12YXJpYW50Ni1jb2xvcjtcclxufVxyXG5cclxuLm14X0FwcFdhcm5pbmcsXHJcbi5teF9BcHBQZXJtaXNzaW9uIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuQGRlZmluZS1taXhpbiBQcm9ncmVzc0JhckNvbG91ciAkY29sb3VyIHtcclxuICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XHJcbiAgICB9XHJcbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgfVxyXG59XHJcblxyXG5AZGVmaW5lLW1peGluIFByb2dyZXNzQmFyQmdDb2xvdXIgJGNvbG91ciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBkZWZpbmUtbWl4aW4gUHJvZ3Jlc3NCYXJCb3JkZXJSYWRpdXMgJHJhZGl1cyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICB9XHJcbiAgICAmOjotd2Via2l0LXByb2dyZXNzLWJhcixcclxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBkZWZpbmUtbWl4aW4gdW5yZWFsLWZvY3VzIHtcclxuICAgIG91dGxpbmUtd2lkdGg6IDJweDtcclxuICAgIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xyXG4gICAgb3V0bGluZS1jb2xvcjogSGlnaGxpZ2h0O1xyXG5cclxuICAgIC8qIFdlYktpdCBnZXRzIGl0cyBuYXRpdmUgZm9jdXMgc3R5bGVzLiAqL1xyXG4gICAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcclxuICAgICAgICBvdXRsaW5lLWNvbG9yOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XHJcbiAgICAgICAgb3V0bGluZS1zdHlsZTogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuQGRlZmluZS1taXhpbiBMZWdhY3lDYWxsQnV0dG9uIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIGhlaWdodDogJGZvbnQtMjRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjb2xvcjogJGJ1dHRvbi1mZy1jb2xvcjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AZGVmaW5lLW1peGluIFRocmVhZFJlcGxpZXNBbW91bnQge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctMTIgMCAkc3BhY2luZy04O1xyXG59XHJcblxyXG5AZGVmaW5lLW1peGluIFRocmVhZFN1bW1hcnlJY29uIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xyXG59XHJcblxyXG5AZGVmaW5lLW1peGluIGNvbXBvc2VyQnV0dG9uSGlnaExpZ2h0IHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XHJcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSkgIWltcG9ydGFudDtcclxufVxyXG5cclxuQGRlZmluZS1taXhpbiBjb21wb3NlckJ1dHRvbiAkYm9yZGVyLXJhZGl1cywgJGhvdmVyLWNvbG9yLCAkaG92ZXItYmcge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iZztcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9saW5lQ2xhbXAge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiB2YXIoLS1teC1saW5lLWNsYW1wLCAxKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8qIExheW91dCBjb21wYXRpYmlsaXR5IGhvb2sgZm9yIHRpbWVzdGFtcCBwbGFjZW1lbnQgaW4gZXhpc3RpbmcgYXBwL3dlYiB0aW1lbGluZSBzdXJmYWNlcy4gKi9cclxuLm14X01lc3NhZ2VUaW1lc3RhbXAge1xyXG4gICAgZGlzcGxheTogYmxvY2s7IC8qIGVuYWJsZSB0aGUgd2lkdGggc2V0dGluZyBiZWxvdyAqL1xyXG4gICAgd2lkdGg6IHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKiBTQ1NTIHZhcmlhYmxlcyByZXByZXNlbnRpbmcgYSByYW5nZSBvZiBzdGFuZGFyZCBsZW5ndGhzLlxyXG4gKlxyXG4gKiBBdm9pZCB1c2luZyB0aGVzZSBpbiBuZXcgY29kZTogd2UgY2Fubm90IGFkanVzdCB0aGVpciB2YWx1ZXMgd2l0aG91dCBjYXVzaW5nIG1hc3NpdmUgY29uZnVzaW9uLCBzbyB0aGV5IGFyZVxyXG4gKiBlZmZlY3RpdmVseSBlcXVpdmFsZW50IHRvIHVzaW5nIGhhcmRjb2RlZCB2YWx1ZXMuXHJcbiAqXHJcbiAqIEluIGZ1dHVyZSwgd2UgcGxhbiB0byBpbnRyb2R1Y2UgdmFyaWFibGVzIG5hbWVkIGFjY29yZGluZyB0byB0aGVpciBwdXJwb3NlIHJhdGhlciB0aGFuIHRoZWlyIHNpemUuIEFkZGl0aW9uYWxseSxcclxuICogd2Ugd2FudCBzd2l0Y2ggdG8gY3VzdG9tIENTUyBwcm9wZXJ0aWVzIChodHRwczovL2dpdGh1Yi5jb20vdmVjdG9yLWltL2VsZW1lbnQtd2ViL2lzc3Vlcy8yMTY1NiksIHNvIHdlIG1pZ2h0IGhhdmVcclxuICogYC0tc3BhY2luZy1zdGFuZGFyZGAgb3Igc29tZXRoaW5nLiBGb3Igbm93LCB5b3UgbWlnaHQgYXMgd2VsbCB1c2UgaGFyZGNvZGVkIHB4IHZhbHVlcyBmb3IgbGVuZ3RocyAoZXhjZXB0IGZvciBmb250XHJcbiAqIHNpemVzLCBmb3Igd2hpY2ggc2VlIHRoZSBgJGZvbnQtPE4+cHhgIHZhcmlhYmxlcykuXHJcbiAqL1xyXG4kc3BhY2luZy0yOiAycHg7XHJcbiRzcGFjaW5nLTQ6IDRweDtcclxuJHNwYWNpbmctODogOHB4O1xyXG4kc3BhY2luZy0xMjogMTJweDtcclxuJHNwYWNpbmctMTY6IDE2cHg7XHJcbiRzcGFjaW5nLTIwOiAyMHB4O1xyXG4kc3BhY2luZy0yNDogMjRweDtcclxuJHNwYWNpbmctMjg6IDI4cHg7XHJcbiRzcGFjaW5nLTMyOiAzMnB4O1xyXG4kc3BhY2luZy00MDogNDBweDtcclxuJHNwYWNpbmctNDg6IDQ4cHg7XHJcbiRzcGFjaW5nLTY0OiA2NHB4O1xyXG4iLCIubWFwbGlicmVnbC1tYXB7Zm9udDoxMnB4LzIwcHggSGVsdmV0aWNhIE5ldWUsQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2IoMCAwIDAvMCl9Lm1hcGxpYnJlZ2wtY2FudmFze2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MH0ubWFwbGlicmVnbC1tYXA6ZnVsbHNjcmVlbntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1jb21wYXNze3RvdWNoLWFjdGlvbjpub25lfS5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC1pbnRlcmFjdGl2ZSwubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtY29tcGFzc3tjdXJzb3I6Z3JhYjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm1hcGxpYnJlZ2wtY2FudmFzLWNvbnRhaW5lci5tYXBsaWJyZWdsLWludGVyYWN0aXZlLm1hcGxpYnJlZ2wtdHJhY2stcG9pbnRlcntjdXJzb3I6cG9pbnRlcn0ubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtaW50ZXJhY3RpdmU6YWN0aXZlLC5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1jb21wYXNzOmFjdGl2ZXtjdXJzb3I6Z3JhYmJpbmd9Lm1hcGxpYnJlZ2wtY2FudmFzLWNvbnRhaW5lci5tYXBsaWJyZWdsLXRvdWNoLXpvb20tcm90YXRlLC5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC16b29tLXJvdGF0ZSAubWFwbGlicmVnbC1jYW52YXN7dG91Y2gtYWN0aW9uOnBhbi14IHBhbi15fS5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC1kcmFnLXBhbiwubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtdG91Y2gtZHJhZy1wYW4gLm1hcGxpYnJlZ2wtY2FudmFze3RvdWNoLWFjdGlvbjpwaW5jaC16b29tfS5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC16b29tLXJvdGF0ZS5tYXBsaWJyZWdsLXRvdWNoLWRyYWctcGFuLC5tYXBsaWJyZWdsLWNhbnZhcy1jb250YWluZXIubWFwbGlicmVnbC10b3VjaC16b29tLXJvdGF0ZS5tYXBsaWJyZWdsLXRvdWNoLWRyYWctcGFuIC5tYXBsaWJyZWdsLWNhbnZhc3t0b3VjaC1hY3Rpb246bm9uZX0ubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtdG91Y2gtZHJhZy1wYW4ubWFwbGlicmVnbC1jb29wZXJhdGl2ZS1nZXN0dXJlcywubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLm1hcGxpYnJlZ2wtdG91Y2gtZHJhZy1wYW4ubWFwbGlicmVnbC1jb29wZXJhdGl2ZS1nZXN0dXJlcyAubWFwbGlicmVnbC1jYW52YXN7dG91Y2gtYWN0aW9uOnBhbi14IHBhbi15fS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLWxlZnQsLm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQsLm1hcGxpYnJlZ2wtY3RybC10b3AtbGVmdCwubWFwbGlicmVnbC1jdHJsLXRvcC1yaWdodHtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mn0ubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0e2xlZnQ6MDt0b3A6MH0ubWFwbGlicmVnbC1jdHJsLXRvcC1yaWdodHtyaWdodDowO3RvcDowfS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLWxlZnR7Ym90dG9tOjA7bGVmdDowfS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLXJpZ2h0e2JvdHRvbTowO3JpZ2h0OjB9Lm1hcGxpYnJlZ2wtY3RybHtjbGVhcjpib3RoO3BvaW50ZXItZXZlbnRzOmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0ubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0IC5tYXBsaWJyZWdsLWN0cmx7ZmxvYXQ6bGVmdDttYXJnaW46MTBweCAwIDAgMTBweH0ubWFwbGlicmVnbC1jdHJsLXRvcC1yaWdodCAubWFwbGlicmVnbC1jdHJse2Zsb2F0OnJpZ2h0O21hcmdpbjoxMHB4IDEwcHggMCAwfS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLWxlZnQgLm1hcGxpYnJlZ2wtY3RybHtmbG9hdDpsZWZ0O21hcmdpbjowIDAgMTBweCAxMHB4fS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLXJpZ2h0IC5tYXBsaWJyZWdsLWN0cmx7ZmxvYXQ6cmlnaHQ7bWFyZ2luOjAgMTBweCAxMHB4IDB9Lm1hcGxpYnJlZ2wtY3RybC1ncm91cHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo0cHh9Lm1hcGxpYnJlZ2wtY3RybC1ncm91cDpub3QoOmVtcHR5KXtib3gtc2hhZG93OjAgMCAwIDJweCByZ2JhKDAsMCwwLC4xKX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsubWFwbGlicmVnbC1jdHJsLWdyb3VwOm5vdCg6ZW1wdHkpe2JveC1zaGFkb3c6MCAwIDAgMnB4IEJ1dHRvblRleHR9fS5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjI5cHg7b3V0bGluZTpub25lO3BhZGRpbmc6MDt3aWR0aDoyOXB4fS5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uK2J1dHRvbntib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uK2J1dHRvbntib3JkZXItdG9wOjFweCBzb2xpZCBCdXR0b25UZXh0fX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MDtwYWRkaW5nOjB9Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWItYnV0dG9uOmZvY3VzLC5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAgYnV0dG9uOmZvY3Vze2JveC1zaGFkb3c6MCAwIDJweCAycHggIzAwOTZmZn0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbjpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b246ZGlzYWJsZWQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue29wYWNpdHk6LjI1fUBtZWRpYSAoaG92ZXI6aG92ZXIpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDUpfX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbjpub3QoOmRpc2FibGVkKTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNSl9Lm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b246Zm9jdXM6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93OjAgMCAycHggMnB4ICMwMDk2ZmZ9Lm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKXtib3gtc2hhZG93Om5vbmV9Lm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b246Zm9jdXM6Zmlyc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubWFwbGlicmVnbC1jdHJsLWdyb3VwIGJ1dHRvbjpmb2N1czpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MCAwIDRweCA0cHh9Lm1hcGxpYnJlZ2wtY3RybC1ncm91cCBidXR0b246Zm9jdXM6b25seS1jaGlsZHtib3JkZXItcmFkaXVzOmluaGVyaXR9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXpvb20tb3V0IC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzMzJyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTAgMTNjLS43NSAwLTEuNS43NS0xLjUgMS41UzkuMjUgMTYgMTAgMTZoOWMuNzUgMCAxLjUtLjc1IDEuNS0xLjVTMTkuNzUgMTMgMTkgMTN6Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC16b29tLWluIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzMzJyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTQuNSA4LjVjLS43NSAwLTEuNS43NS0xLjUgMS41djNoLTNjLS43NSAwLTEuNS43NS0xLjUgMS41UzkuMjUgMTYgMTAgMTZoM3YzYzAgLjc1Ljc1IDEuNSAxLjUgMS41UzE2IDE5Ljc1IDE2IDE5di0zaDNjLjc1IDAgMS41LS43NSAxLjUtMS41UzE5Ljc1IDEzIDE5IDEzaC0zdi0zYzAtLjc1LS43NS0xLjUtMS41LTEuNScvJTNFJTNDL3N2ZyUzRVwiKX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtem9vbS1vdXQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xMCAxM2MtLjc1IDAtMS41Ljc1LTEuNSAxLjVTOS4yNSAxNiAxMCAxNmg5Yy43NSAwIDEuNS0uNzUgMS41LTEuNVMxOS43NSAxMyAxOSAxM3onLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLXpvb20taW4gLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xNC41IDguNWMtLjc1IDAtMS41Ljc1LTEuNSAxLjV2M2gtM2MtLjc1IDAtMS41Ljc1LTEuNSAxLjVTOS4yNSAxNiAxMCAxNmgzdjNjMCAuNzUuNzUgMS41IDEuNSAxLjVTMTYgMTkuNzUgMTYgMTl2LTNoM2MuNzUgMCAxLjUtLjc1IDEuNS0xLjVTMTkuNzUgMTMgMTkgMTNoLTN2LTNjMC0uNzUtLjc1LTEuNS0xLjUtMS41Jy8lM0UlM0Mvc3ZnJTNFXCIpfX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXsubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtem9vbS1vdXQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTAgMTNjLS43NSAwLTEuNS43NS0xLjUgMS41UzkuMjUgMTYgMTAgMTZoOWMuNzUgMCAxLjUtLjc1IDEuNS0xLjVTMTkuNzUgMTMgMTkgMTN6Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC16b29tLWluIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTE0LjUgOC41Yy0uNzUgMC0xLjUuNzUtMS41IDEuNXYzaC0zYy0uNzUgMC0xLjUuNzUtMS41IDEuNVM5LjI1IDE2IDEwIDE2aDN2M2MwIC43NS43NSAxLjUgMS41IDEuNVMxNiAxOS43NSAxNiAxOXYtM2gzYy43NSAwIDEuNS0uNzUgMS41LTEuNVMxOS43NSAxMyAxOSAxM2gtM3YtM2MwLS43NS0uNzUtMS41LTEuNS0xLjUnLyUzRSUzQy9zdmclM0VcIil9fS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1mdWxsc2NyZWVuIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzMzJyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMjQgMTZ2NS41YzAgMS43NS0uNzUgMi41LTIuNSAyLjVIMTZ2LTFsMy0xLjUtNC01LjUgMS0xIDUuNSA0IDEuNS0zek02IDE2bDEuNSAzIDUuNS00IDEgMS00IDUuNSAzIDEuNXYxSDcuNUM1Ljc1IDI0IDUgMjMuMjUgNSAyMS41VjE2em03LTExdjFsLTMgMS41IDQgNS41LTEgMS01LjUtNEw2IDEzSDVWNy41QzUgNS43NSA1Ljc1IDUgNy41IDV6bTExIDIuNWMwLTEuNzUtLjc1LTIuNS0yLjUtMi41SDE2djFsMyAxLjUtNCA1LjUgMSAxIDUuNS00IDEuNSAzaDF6Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1zaHJpbmsgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMTguNSAxNmMtMS43NSAwLTIuNS43NS0yLjUgMi41VjI0aDFsMS41LTMgNS41IDQgMS0xLTQtNS41IDMtMS41di0xek0xMyAxOC41YzAtMS43NS0uNzUtMi41LTIuNS0yLjVINXYxbDMgMS41TDQgMjRsMSAxIDUuNS00IDEuNSAzaDF6bTMtOGMwIDEuNzUuNzUgMi41IDIuNSAyLjVIMjR2LTFsLTMtMS41TDI1IDVsLTEtMS01LjUgNEwxNyA1aC0xek0xMC41IDEzYzEuNzUgMCAyLjUtLjc1IDIuNS0yLjVWNWgtMWwtMS41IDNMNSA0IDQgNWw0IDUuNUw1IDEydjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1mdWxsc2NyZWVuIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzZmZmJyB2aWV3Qm94PScwIDAgMjkgMjknJTNFJTNDcGF0aCBkPSdNMjQgMTZ2NS41YzAgMS43NS0uNzUgMi41LTIuNSAyLjVIMTZ2LTFsMy0xLjUtNC01LjUgMS0xIDUuNSA0IDEuNS0zek02IDE2bDEuNSAzIDUuNS00IDEgMS00IDUuNSAzIDEuNXYxSDcuNUM1Ljc1IDI0IDUgMjMuMjUgNSAyMS41VjE2em03LTExdjFsLTMgMS41IDQgNS41LTEgMS01LjUtNEw2IDEzSDVWNy41QzUgNS43NSA1Ljc1IDUgNy41IDV6bTExIDIuNWMwLTEuNzUtLjc1LTIuNS0yLjUtMi41SDE2djFsMyAxLjUtNCA1LjUgMSAxIDUuNS00IDEuNSAzaDF6Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1zaHJpbmsgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J00xOC41IDE2Yy0xLjc1IDAtMi41Ljc1LTIuNSAyLjVWMjRoMWwxLjUtMyA1LjUgNCAxLTEtNC01LjUgMy0xLjV2LTF6TTEzIDE4LjVjMC0xLjc1LS43NS0yLjUtMi41LTIuNUg1djFsMyAxLjVMNCAyNGwxIDEgNS41LTQgMS41IDNoMXptMy04YzAgMS43NS43NSAyLjUgMi41IDIuNUgyNHYtMWwtMy0xLjVMMjUgNWwtMS0xLTUuNSA0TDE3IDVoLTF6TTEwLjUgMTNjMS43NSAwIDIuNS0uNzUgMi41LTIuNVY1aC0xbC0xLjUgM0w1IDQgNCA1bDQgNS41TDUgMTJ2MXonLyUzRSUzQy9zdmclM0VcIil9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6bGlnaHQpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1mdWxsc2NyZWVuIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTI0IDE2djUuNWMwIDEuNzUtLjc1IDIuNS0yLjUgMi41SDE2di0xbDMtMS41LTQtNS41IDEtMSA1LjUgNCAxLjUtM3pNNiAxNmwxLjUgMyA1LjUtNCAxIDEtNCA1LjUgMyAxLjV2MUg3LjVDNS43NSAyNCA1IDIzLjI1IDUgMjEuNVYxNnptNy0xMXYxbC0zIDEuNSA0IDUuNS0xIDEtNS41LTRMNiAxM0g1VjcuNUM1IDUuNzUgNS43NSA1IDcuNSA1em0xMSAyLjVjMC0xLjc1LS43NS0yLjUtMi41LTIuNUgxNnYxbDMgMS41LTQgNS41IDEgMSA1LjUtNCAxLjUgM2gxeicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtc2hyaW5rIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nTTE4LjUgMTZjLTEuNzUgMC0yLjUuNzUtMi41IDIuNVYyNGgxbDEuNS0zIDUuNSA0IDEtMS00LTUuNSAzLTEuNXYtMXpNMTMgMTguNWMwLTEuNzUtLjc1LTIuNS0yLjUtMi41SDV2MWwzIDEuNUw0IDI0bDEgMSA1LjUtNCAxLjUgM2gxem0zLThjMCAxLjc1Ljc1IDIuNSAyLjUgMi41SDI0di0xbC0zLTEuNUwyNSA1bC0xLTEtNS41IDRMMTcgNWgtMXpNMTAuNSAxM2MxLjc1IDAgMi41LS43NSAyLjUtMi41VjVoLTFsLTEuNSAzTDUgNCA0IDVsNCA1LjVMNSAxMnYxeicvJTNFJTNDL3N2ZyUzRVwiKX19Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWNvbXBhc3MgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J20xMC41IDE0IDQtOCA0IDh6Jy8lM0UlM0NwYXRoIGZpbGw9JyUyM2NjYycgZD0nbTEwLjUgMTYgNCA4IDQtOHonLyUzRSUzQy9zdmclM0VcIil9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWNvbXBhc3MgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCAyOSAyOSclM0UlM0NwYXRoIGQ9J20xMC41IDE0IDQtOCA0IDh6Jy8lM0UlM0NwYXRoIGZpbGw9JyUyM2NjYycgZD0nbTEwLjUgMTYgNCA4IDQtOHonLyUzRSUzQy9zdmclM0VcIil9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6bGlnaHQpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1jb21wYXNzIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgdmlld0JveD0nMCAwIDI5IDI5JyUzRSUzQ3BhdGggZD0nbTEwLjUgMTQgNC04IDQgOHonLyUzRSUzQ3BhdGggZmlsbD0nJTIzY2NjJyBkPSdtMTAuNSAxNiA0IDggNC04eicvJTNFJTNDL3N2ZyUzRVwiKX19Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdsb2JlIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMicgaGVpZ2h0PScyMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMzMzMnIHZpZXdCb3g9JzAgMCAyMiAyMiclM0UlM0NjaXJjbGUgY3g9JzExJyBjeT0nMTEnIHI9JzguNScvJTNFJTNDcGF0aCBkPSdNMTcuNSAxMWMwIDQuODE5LTMuMDIgOC41LTYuNSA4LjVTNC41IDE1LjgxOSA0LjUgMTEgNy41MiAyLjUgMTEgMi41czYuNSAzLjY4MSA2LjUgOC41WicvJTNFJTNDcGF0aCBkPSdNMTMuNSAxMWMwIDIuNDQ3LS4zMzEgNC42NC0uODUzIDYuMjA2LS4yNjIuNzg1LS41NjIgMS4zODQtLjg3MiAxLjc3Ny0uMzE0LjM5OS0uNTguNTE3LS43NzUuNTE3cy0uNDYxLS4xMTgtLjc3NS0uNTE3Yy0uMzEtLjM5My0uNjEtLjk5Mi0uODcyLTEuNzc3QzguODMxIDE1LjY0IDguNSAxMy40NDYgOC41IDExcy4zMzEtNC42NC44NTMtNi4yMDZjLjI2Mi0uNzg1LjU2Mi0xLjM4NC44NzItMS43NzcuMzE0LS4zOTkuNTgtLjUxNy43NzUtLjUxN3MuNDYxLjExOC43NzUuNTE3Yy4zMS4zOTMuNjEuOTkyLjg3MiAxLjc3Ny41MjIgMS41NjUuODUzIDMuNzYuODUzIDYuMjA2WicvJTNFJTNDcGF0aCBkPSdNMTEgNy41Yy0xLjkwOSAwLTMuNjIyLS4xNjYtNC44NDUtLjQyOC0uNjE2LS4xMzItMS4wOC0uMjgzLTEuMzc5LS40MzRhMS4zIDEuMyAwIDAgMS0uMjI0LS4xMzhxLjA3LS4wNTguMjI0LS4xMzhjLjI5OS0uMTUxLjc2My0uMzAyIDEuMzc5LS40MzRDNy4zNzggNS42NjYgOS4wOTEgNS41IDExIDUuNXMzLjYyMi4xNjYgNC44NDUuNDI4Yy42MTYuMTMyIDEuMDguMjgzIDEuMzc5LjQzNC4xMDUuMDUzLjE3Ny4xLjIyNC4xMzhxLS4wNy4wNTgtLjIyNC4xMzhjLS4yOTkuMTUxLS43NjMuMzAyLTEuMzc5LjQzNC0xLjIyMy4yNjItMi45MzYuNDI4LTQuODQ1LjQyOFpNNC40ODYgNi40MzZaTTExIDE2LjVjLTEuOTA5IDAtMy42MjItLjE2Ni00Ljg0NS0uNDI4LS42MTYtLjEzMi0xLjA4LS4yODMtMS4zNzktLjQzNGExLjMgMS4zIDAgMCAxLS4yMjQtLjEzOCAxLjMgMS4zIDAgMCAxIC4yMjQtLjEzOGMuMjk5LS4xNTEuNzYzLS4zMDIgMS4zNzktLjQzNEM3LjM3OCAxNC42NjYgOS4wOTEgMTQuNSAxMSAxNC41czMuNjIyLjE2NiA0Ljg0NS40MjhjLjYxNi4xMzIgMS4wOC4yODMgMS4zNzkuNDM0LjEwNS4wNTMuMTc3LjEuMjI0LjEzOGExLjMgMS4zIDAgMCAxLS4yMjQuMTM4Yy0uMjk5LjE1MS0uNzYzLjMwMi0xLjM3OS40MzQtMS4yMjMuMjYyLTIuOTM2LjQyOC00Ljg0NS40MjhabS02LjUxNC0xLjA2NFpNMTEgMTIuNWMtMi40NiAwLTQuNjcyLS4yMjItNi4yNTUtLjU3NC0uNzk2LS4xNzctMS40MDYtLjM4LTEuODA1LS41OWExLjUgMS41IDAgMCAxLS4zOS0uMjcyLjMuMyAwIDAgMS0uMDQ3LS4wNjQuMy4zIDAgMCAxIC4wNDgtLjA2NGMuMDY2LS4wNzMuMTg5LS4xNjcuMzg5LS4yNzIuMzk5LS4yMSAxLjAwOS0uNDEzIDEuODA1LS41OUM2LjMyOCA5LjcyMiA4LjU0IDkuNSAxMSA5LjVzNC42NzIuMjIyIDYuMjU2LjU3NGMuNzk1LjE3NyAxLjQwNS4zOCAxLjgwNC41OS4yLjEwNS4zMjMuMi4zOS4yNzJhLjMuMyAwIDAgMSAuMDQ3LjA2NC4zLjMgMCAwIDEtLjA0OC4wNjQgMS40IDEuNCAwIDAgMS0uMzg5LjI3MmMtLjM5OS4yMS0xLjAwOS40MTMtMS44MDQuNTktMS41ODQuMzUyLTMuNzk2LjU3NC02LjI1Ni41NzRabS04LjUwMS0xLjUxdi4wMDJ6bTAgLjAxOHYuMDAyem0xNy4wMDIuMDAydi0uMDAyem0wLS4wMTh2LS4wMDJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nbG9iZS1lbmFibGVkIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMicgaGVpZ2h0PScyMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMzM2I1ZTUnIHZpZXdCb3g9JzAgMCAyMiAyMiclM0UlM0NjaXJjbGUgY3g9JzExJyBjeT0nMTEnIHI9JzguNScvJTNFJTNDcGF0aCBkPSdNMTcuNSAxMWMwIDQuODE5LTMuMDIgOC41LTYuNSA4LjVTNC41IDE1LjgxOSA0LjUgMTEgNy41MiAyLjUgMTEgMi41czYuNSAzLjY4MSA2LjUgOC41WicvJTNFJTNDcGF0aCBkPSdNMTMuNSAxMWMwIDIuNDQ3LS4zMzEgNC42NC0uODUzIDYuMjA2LS4yNjIuNzg1LS41NjIgMS4zODQtLjg3MiAxLjc3Ny0uMzE0LjM5OS0uNTguNTE3LS43NzUuNTE3cy0uNDYxLS4xMTgtLjc3NS0uNTE3Yy0uMzEtLjM5My0uNjEtLjk5Mi0uODcyLTEuNzc3QzguODMxIDE1LjY0IDguNSAxMy40NDYgOC41IDExcy4zMzEtNC42NC44NTMtNi4yMDZjLjI2Mi0uNzg1LjU2Mi0xLjM4NC44NzItMS43NzcuMzE0LS4zOTkuNTgtLjUxNy43NzUtLjUxN3MuNDYxLjExOC43NzUuNTE3Yy4zMS4zOTMuNjEuOTkyLjg3MiAxLjc3Ny41MjIgMS41NjUuODUzIDMuNzYuODUzIDYuMjA2WicvJTNFJTNDcGF0aCBkPSdNMTEgNy41Yy0xLjkwOSAwLTMuNjIyLS4xNjYtNC44NDUtLjQyOC0uNjE2LS4xMzItMS4wOC0uMjgzLTEuMzc5LS40MzRhMS4zIDEuMyAwIDAgMS0uMjI0LS4xMzhxLjA3LS4wNTguMjI0LS4xMzhjLjI5OS0uMTUxLjc2My0uMzAyIDEuMzc5LS40MzRDNy4zNzggNS42NjYgOS4wOTEgNS41IDExIDUuNXMzLjYyMi4xNjYgNC44NDUuNDI4Yy42MTYuMTMyIDEuMDguMjgzIDEuMzc5LjQzNC4xMDUuMDUzLjE3Ny4xLjIyNC4xMzhxLS4wNy4wNTgtLjIyNC4xMzhjLS4yOTkuMTUxLS43NjMuMzAyLTEuMzc5LjQzNC0xLjIyMy4yNjItMi45MzYuNDI4LTQuODQ1LjQyOFpNNC40ODYgNi40MzZaTTExIDE2LjVjLTEuOTA5IDAtMy42MjItLjE2Ni00Ljg0NS0uNDI4LS42MTYtLjEzMi0xLjA4LS4yODMtMS4zNzktLjQzNGExLjMgMS4zIDAgMCAxLS4yMjQtLjEzOCAxLjMgMS4zIDAgMCAxIC4yMjQtLjEzOGMuMjk5LS4xNTEuNzYzLS4zMDIgMS4zNzktLjQzNEM3LjM3OCAxNC42NjYgOS4wOTEgMTQuNSAxMSAxNC41czMuNjIyLjE2NiA0Ljg0NS40MjhjLjYxNi4xMzIgMS4wOC4yODMgMS4zNzkuNDM0LjEwNS4wNTMuMTc3LjEuMjI0LjEzOGExLjMgMS4zIDAgMCAxLS4yMjQuMTM4Yy0uMjk5LjE1MS0uNzYzLjMwMi0xLjM3OS40MzQtMS4yMjMuMjYyLTIuOTM2LjQyOC00Ljg0NS40MjhabS02LjUxNC0xLjA2NFpNMTEgMTIuNWMtMi40NiAwLTQuNjcyLS4yMjItNi4yNTUtLjU3NC0uNzk2LS4xNzctMS40MDYtLjM4LTEuODA1LS41OWExLjUgMS41IDAgMCAxLS4zOS0uMjcyLjMuMyAwIDAgMS0uMDQ3LS4wNjQuMy4zIDAgMCAxIC4wNDgtLjA2NGMuMDY2LS4wNzMuMTg5LS4xNjcuMzg5LS4yNzIuMzk5LS4yMSAxLjAwOS0uNDEzIDEuODA1LS41OUM2LjMyOCA5LjcyMiA4LjU0IDkuNSAxMSA5LjVzNC42NzIuMjIyIDYuMjU2LjU3NGMuNzk1LjE3NyAxLjQwNS4zOCAxLjgwNC41OS4yLjEwNS4zMjMuMi4zOS4yNzJhLjMuMyAwIDAgMSAuMDQ3LjA2NC4zLjMgMCAwIDEtLjA0OC4wNjQgMS40IDEuNCAwIDAgMS0uMzg5LjI3MmMtLjM5OS4yMS0xLjAwOS40MTMtMS44MDQuNTktMS41ODQuMzUyLTMuNzk2LjU3NC02LjI1Ni41NzRabS04LjUwMS0xLjUxdi4wMDJ6bTAgLjAxOHYuMDAyem0xNy4wMDIuMDAydi0uMDAyem0wLS4wMTh2LS4wMDJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC10ZXJyYWluIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMicgaGVpZ2h0PScyMicgZmlsbD0nJTIzMzMzJyB2aWV3Qm94PScwIDAgMjIgMjInJTNFJTNDcGF0aCBkPSdtMS43NTQgMTMuNDA2IDQuNDUzLTQuODUxIDMuMDkgMy4wOSAzLjI4MSAzLjI3Ny45NjktLjk2OS0zLjMwOS0zLjMxMiAzLjg0NC00LjEyMSA2LjE0OCA2Ljg4NmgxLjA4MnYtLjg1NWwtNy4yMDctOC4wNy00Ljg0IDUuMTg3TDYuMTY5IDYuNTdsLTUuNDggNS45NjV2Ljg3MVpNLjY4OCAxNi44NDRoMjAuNjI1djEuMzc1SC42ODhabTAgMCcvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtdGVycmFpbi1lbmFibGVkIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMicgaGVpZ2h0PScyMicgZmlsbD0nJTIzMzNiNWU1JyB2aWV3Qm94PScwIDAgMjIgMjInJTNFJTNDcGF0aCBkPSdtMS43NTQgMTMuNDA2IDQuNDUzLTQuODUxIDMuMDkgMy4wOSAzLjI4MSAzLjI3Ny45NjktLjk2OS0zLjMwOS0zLjMxMiAzLjg0NC00LjEyMSA2LjE0OCA2Ljg4NmgxLjA4MnYtLjg1NWwtNy4yMDctOC4wNy00Ljg0IDUuMTg3TDYuMTY5IDYuNTdsLTUuNDggNS45NjV2Ljg3MVpNLjY4OCAxNi44NDRoMjAuNjI1djEuMzc1SC42ODhabTAgMCcvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzMzMzJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0NjaXJjbGUgY3g9JzEwJyBjeT0nMTAnIHI9JzInLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZTpkaXNhYmxlZCAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2FhYScgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0NwYXRoIGZpbGw9J3JlZCcgZD0nbTE0IDUgMSAxLTkgOS0xLTF6Jy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzM2I1ZTUnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtYWN0aXZlLWVycm9yIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzZTU4OTc4JyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0NjaXJjbGUgY3g9JzEwJyBjeT0nMTAnIHI9JzInLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjMzM2I1ZTUnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLWJhY2tncm91bmQtZXJyb3IgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNlNTRlMzMnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLXdhaXRpbmcgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2FuaW1hdGlvbjptYXBsaWJyZWdsLXNwaW4gMnMgbGluZWFyIGluZmluaXRlfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlOmRpc2FibGVkIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzOTk5JyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0NjaXJjbGUgY3g9JzEwJyBjeT0nMTAnIHI9JzInLyUzRSUzQ3BhdGggZmlsbD0ncmVkJyBkPSdtMTQgNSAxIDEtOSA5LTEtMXonLyUzRSUzQy9zdmclM0VcIil9Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLWFjdGl2ZSAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyMzMzYjVlNScgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDY2lyY2xlIGN4PScxMCcgY3k9JzEwJyByPScyJy8lM0UlM0Mvc3ZnJTNFXCIpfS5tYXBsaWJyZWdsLWN0cmwgYnV0dG9uLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZS1hY3RpdmUtZXJyb3IgLm1hcGxpYnJlZ2wtY3RybC1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI5JyBoZWlnaHQ9JzI5JyBmaWxsPSclMjNlNTg5NzgnIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZCAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyMzMzYjVlNScgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlLm1hcGxpYnJlZ2wtY3RybC1nZW9sb2NhdGUtYmFja2dyb3VuZC1lcnJvciAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIGZpbGw9JyUyM2U1NGUzMycgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTEwIDRDOSA0IDkgNSA5IDV2LjFBNSA1IDAgMCAwIDUuMSA5SDVzLTEgMC0xIDEgMSAxIDEgMWguMUE1IDUgMCAwIDAgOSAxNC45di4xczAgMSAxIDEgMS0xIDEtMXYtLjFhNSA1IDAgMCAwIDMuOS0zLjloLjFzMSAwIDEtMS0xLTEtMS0xaC0uMUE1IDUgMCAwIDAgMTEgNS4xVjVzMC0xLTEtMW0wIDIuNWEzLjUgMy41IDAgMSAxIDAgNyAzLjUgMy41IDAgMSAxIDAtNycvJTNFJTNDL3N2ZyUzRVwiKX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7Lm1hcGxpYnJlZ2wtY3RybCBidXR0b24ubWFwbGlicmVnbC1jdHJsLWdlb2xvY2F0ZSAubWFwbGlicmVnbC1jdHJsLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjknIGhlaWdodD0nMjknIHZpZXdCb3g9JzAgMCAyMCAyMCclM0UlM0NwYXRoIGQ9J00xMCA0QzkgNCA5IDUgOSA1di4xQTUgNSAwIDAgMCA1LjEgOUg1cy0xIDAtMSAxIDEgMSAxIDFoLjFBNSA1IDAgMCAwIDkgMTQuOXYuMXMwIDEgMSAxIDEtMSAxLTF2LS4xYTUgNSAwIDAgMCAzLjktMy45aC4xczEgMCAxLTEtMS0xLTEtMWgtLjFBNSA1IDAgMCAwIDExIDUuMVY1czAtMS0xLTFtMCAyLjVhMy41IDMuNSAwIDEgMSAwIDcgMy41IDMuNSAwIDEgMSAwLTcnLyUzRSUzQ2NpcmNsZSBjeD0nMTAnIGN5PScxMCcgcj0nMicvJTNFJTNDL3N2ZyUzRVwiKX0ubWFwbGlicmVnbC1jdHJsIGJ1dHRvbi5tYXBsaWJyZWdsLWN0cmwtZ2VvbG9jYXRlOmRpc2FibGVkIC5tYXBsaWJyZWdsLWN0cmwtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyOScgaGVpZ2h0PScyOScgZmlsbD0nJTIzNjY2JyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNMTAgNEM5IDQgOSA1IDkgNXYuMUE1IDUgMCAwIDAgNS4xIDlINXMtMSAwLTEgMSAxIDEgMSAxaC4xQTUgNSAwIDAgMCA5IDE0Ljl2LjFzMCAxIDEgMSAxLTEgMS0xdi0uMWE1IDUgMCAwIDAgMy45LTMuOWguMXMxIDAgMS0xLTEtMS0xLTFoLS4xQTUgNSAwIDAgMCAxMSA1LjFWNXMwLTEtMS0xbTAgMi41YTMuNSAzLjUgMCAxIDEgMCA3IDMuNSAzLjUgMCAxIDEgMC03Jy8lM0UlM0NjaXJjbGUgY3g9JzEwJyBjeT0nMTAnIHI9JzInLyUzRSUzQ3BhdGggZmlsbD0ncmVkJyBkPSdtMTQgNSAxIDEtOSA5LTEtMXonLyUzRSUzQy9zdmclM0VcIil9fUBrZXlmcmFtZXMgbWFwbGlicmVnbC1zcGluezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fWEubWFwbGlicmVnbC1jdHJsLWxvZ297YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nODgnIGhlaWdodD0nMjMnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMDAnIGZpbGwtb3BhY2l0eT0nLjQnIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTE3LjQwOCAxNi43OTZoLTEuODI3bDIuNTAxLTEyLjA5NWguMTk4bDMuMzI0IDYuNTMzLjk4OCAyLjE5Ljk4OC0yLjE5IDMuMjU4LTYuNTMzaC4xODFsMi42IDEyLjA5NWgtMS44MWwtMS4yMTgtNS42NDQtLjM2Mi0xLjcxLS42NTggMS43MS0yLjkyOSA1LjY0NGgtLjA5OGwtMi45MTQtNS42NDQtLjc1Ny0xLjcxLS4zNDUgMS43MXptMS45NTgtMy40Mi0uNzI2IDMuNjYzYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjMyIDEuMDExaC0xLjgyN2ExLjI1NSAxLjI1NSAwIDAgMS0xLjIyOS0xLjUwOWwyLjUwMS0xMi4wOTVhMS4yNTUgMS4yNTUgMCAwIDEgMS4yMy0xLjAwMWguMTk3YTEuMjUgMS4yNSAwIDAgMSAxLjEyLjY4NWwzLjE5IDYuMjczIDMuMTI1LTYuMjYzYTEuMjUgMS4yNSAwIDAgMSAxLjEyMy0uNjk1aC4xODFhMS4yNTUgMS4yNTUgMCAwIDEgMS4yMjcuOTkxbDEuNDQzIDYuNzFhNSA1IDAgMCAxIC4zMTQtLjc4N2wuMDA5LS4wMTZhNC42IDQuNiAwIDAgMSAxLjc3Ny0xLjg4N2MuNzgyLS40NiAxLjY2OC0uNjY3IDIuNjExLS42NjdhNC42IDQuNiAwIDAgMSAxLjcuMzJsLjMwNi4xMzRjLjIxLS4xNi40NzQtLjI1Ni43NTktLjI1NmgxLjY5NGExLjI1NSAxLjI1NSAwIDAgMSAxLjIxMi45MjUgMS4yNTUgMS4yNTUgMCAwIDEgMS4yMTItLjkyNWgxLjcxMWMuMjg0IDAgLjU0NS4wOTQuNzU1LjI1Mi42MTMtLjMgMS4zMTItLjQ1IDIuMDc1LS40NSAxLjM1NiAwIDIuNTU3LjQ0NSAzLjQ4MiAxLjRxLjQ3LjQ4Ljc2MyAxLjA2NFY0LjcwMWExLjI1NSAxLjI1NSAwIDAgMSAxLjI1NS0xLjI1NWgxLjg2QTEuMjU1IDEuMjU1IDAgMCAxIDU0LjQ0IDQuN3Y5LjE5NGgyLjIxN2MuMTkgMCAuMzcuMDQzLjUzMi4xMTh2LTQuNzdjMC0uMzU2LjE0Ny0uNjc4LjM4NS0uOTA2YTIuNDIgMi40MiAwIDAgMS0uNjgyLTEuNzFjMC0uNjY1LjI2Ny0xLjI1My43MzUtMS43YTIuNDUgMi40NSAwIDAgMSAxLjcyMi0uNjc0IDIuNDMgMi40MyAwIDAgMSAxLjcwNS42NzVxLjMxOC4zMDIuNTA0LjY4M1Y0LjdhMS4yNTUgMS4yNTUgMCAwIDEgMS4yNTUtMS4yNTVoMS43NDRBMS4yNTUgMS4yNTUgMCAwIDEgNjUuODEyIDQuN3YzLjMzNWE0LjggNC44IDAgMCAxIDEuNTI2LS4yNDZjLjkzOCAwIDEuODE3LjIxNCAyLjU5LjY5YTQuNDcgNC40NyAwIDAgMSAxLjY3IDEuNzQzdi0uOThhMS4yNTUgMS4yNTUgMCAwIDEgMS4yNTYtMS4yNTZoMS43NzdjLjIzMyAwIC40NTEuMDY0LjYzOS4xNzRhMy40IDMuNCAwIDAgMSAxLjU2Ny0uMzcyYy4zNDYgMCAuODYxLjAyIDEuMjg1LjIzMmExLjI1IDEuMjUgMCAwIDEgLjY4OSAxLjAwNCA0LjcgNC43IDAgMCAxIC44NTMtLjU4OGMuNzk1LS40NCAxLjY3NS0uNjQ3IDIuNjEtLjY0NyAxLjM4NSAwIDIuNjUuMzkgMy41MjUgMS4zOTYuODM2LjkzOCAxLjE2OCAyLjE3MyAxLjE2OCAzLjUyOHEtLjAwMS41MTUtLjA1NiAxLjA1MWExLjI1NSAxLjI1NSAwIDAgMS0uOTQ3IDEuMDlsLjQwOC45NTJhMS4yNTUgMS4yNTUgMCAwIDEtLjQ3NyAxLjU1MmMtLjQxOC4yNjgtLjkyLjQ2My0xLjQ1OC42MTItLjYxMy4xNzEtMS4zMDQuMjQ0LTIuMDQ5LjI0NC0xLjA2IDAtMi4wNDMtLjIwNy0yLjg4Ni0uNjk4bC0uMDE1LS4wMDhjLS43OTgtLjQ4LTEuNDE5LTEuMTM1LTEuODE4LTEuOTYzbC0uMDA0LS4wMDhhNS44IDUuOCAwIDAgMS0uNTQ4LTIuNTEycTAtLjQyOS4wNTMtLjg0M2ExLjMgMS4zIDAgMCAxLS4zMzMtLjA4NmwtLjE2Ni0uMDA0Yy0uMjIzIDAtLjQyNi4wNjItLjY0My4yMjgtLjAzLjAyNC0uMTQyLjEzOS0uMTQyLjU5djMuODgzYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2IDEuMjU2aC0xLjc3N2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NlYxNS42OWwtLjAzMi4wNTdhNC44IDQuOCAwIDAgMS0xLjg2IDEuODMzIDUuMDQgNS4wNCAwIDAgMS0yLjQ4NC42MzQgNC41IDQuNSAwIDAgMS0xLjkzNS0uNDI0IDEuMjUgMS4yNSAwIDAgMS0uNzY0LjI1OGgtMS43MWExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NVY3LjY4N2EyLjQgMi40IDAgMCAxLS40MjguNjI1Yy4yNTMuMjMuNDEyLjU2MS40MTIuOTN2Ny41NTNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYgMS4yNTVoLTEuODQzYTEuMjUgMS4yNSAwIDAgMS0uODk0LS4zNzNjLS4yMjguMjMtLjU0NC4zNzMtLjg5NC4zNzNINTEuMzJhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYtMS4yNTV2LTEuMjUxbC0uMDYxLjExN2E0LjcgNC43IDAgMCAxLTEuNzgyIDEuODg0IDQuNzcgNC43NyAwIDAgMS0yLjQ4NS42NyA1LjYgNS42IDAgMCAxLTEuNDg1LS4xODhsLjAwOSAyLjc2NGExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NSAxLjI1OWgtMS43MjlhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTUtMS4yNTV2LTMuNTM3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMTY3Ljc5M2gtMS42NzlhMS4yNSAxLjI1IDAgMCAxLS43Ny0uMjYzIDQuNSA0LjUgMCAwIDEtMS45NDUuNDI5Yy0uODg1IDAtMS43MjQtLjIxLTIuNDk1LS42MzJsLS4wMTctLjAxYTUgNSAwIDAgMS0xLjA4MS0uODM2IDEuMjU1IDEuMjU1IDAgMCAxLTEuMjU0IDEuMzEyaC0xLjgxYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjI4LS45OWwtLjc4Mi0zLjYyNS0yLjA0NCAzLjkzOWExLjI1IDEuMjUgMCAwIDEtMS4xMTUuNjc2aC0uMDk4YTEuMjUgMS4yNSAwIDAgMS0xLjExNi0uNjhsLTIuMDYxLTMuOTk0ek0zNS45MiAxNi42M2wuMjA3LS4xMTQuMjIzLS4xNXEuNDkzLS4zNTYuNzM1LS43ODVsLjA2MS0uMTE4LjAzMyAxLjMzMmgxLjY3OFY5LjI0MmgtMS42OTRsLS4wMzMgMS4yNjdxLS4xMzMtLjMyOS0uNTI2LS42NThsLS4wMzItLjAyOGEzLjIgMy4yIDAgMCAwLS42NjgtLjQyOGwtLjI3LS4xMmEzLjMgMy4zIDAgMCAwLTEuMjM1LS4yM3EtMS4xMzYtLjAwMS0xLjk3NC40OTNhMy4zNiAzLjM2IDAgMCAwLTEuMyAxLjM4MnEtLjQ0NS44OS0uNDQ0IDIuMDc0IDAgMS4yLjUxIDIuMTA3YTMuOCAzLjggMCAwIDAgMS4zODIgMS4zODEgMy45IDMuOSAwIDAgMCAxLjg5My40NzdxLjc5NSAwIDEuNDU1LS4zM3ptLTIuNzg5LTUuMzhxLS41NzYuNjc1LS41NzUgMS43NjIgMCAxLjEwMi41NTkgMS43OTQuNTc2LjY3NSAxLjY0NS42NzVhMi4yNSAyLjI1IDAgMCAwIC45MzQtLjE5IDIuMiAyLjIgMCAwIDAgLjQ2OC0uMjlsLjE3OC0uMTYxYTIuMiAyLjIgMCAwIDAgLjM5Ny0uNTYxcS4yNDQtLjUuMjQ0LTEuMTV2LS4xMTVxMC0uNzA4LS4yOTYtMS4yNjdsLS4wNDMtLjA3N2EyLjIgMi4yIDAgMCAwLS42MzMtLjcwOWwtLjEzLS4wODYtLjA0Ny0uMDI4YTIuMSAyLjEgMCAwIDAtMS4wNzMtLjI4NXEtMS4wNTIgMC0xLjYyOS42OTJ6bTIuMzE2IDIuNzA2Yy4xNjMtLjE3LjI4LS40MDcuMjgtLjgzdi0uMTE0YzAtLjI5Mi0uMDYtLjUwOC0uMTUtLjY4YS45Ni45NiAwIDAgMC0uMzUzLS4zODkuODUuODUgMCAwIDAtLjQ2NC0uMTI3Yy0uNCAwLS41Ni4xMTQtLjY2NC4yMzlsLS4wMS4wMTJjLS4xNDguMTc0LS4yNzUuNDUtLjI3NS45NDUgMCAuNTA2LjEyMi44MDEuMjcuOTkuMDk3LjExLjI2Ni4yMjQuNjguMjI0LjMwMyAwIC41MDQtLjA5LjY4Ny0uMjY5em03LjU0NSAxLjcwNWEyLjYgMi42IDAgMCAwIC4zMzEuNDIzcS4zMTkuMzMuNzU1LjU0OGwuMTczLjA3NHEuNjUuMjU1IDEuNDkuMjU1IDEuMDIgMCAxLjg0NC0uNDkzYTMuNDUgMy40NSAwIDAgMCAxLjMxNi0xLjRxLjQ5My0uOTA0LjQ5My0yLjA4OSAwLTEuOTA5LS45ODgtMi45MTMtLjk4OC0xLjAyLTIuNTg0LTEuMDItLjg5OCAwLTEuNTc1LjM0N2EzIDMgMCAwIDAtLjQxNS4yNjJsLS4xOTkuMTY2YTMuNCAzLjQgMCAwIDAtLjY0LjgyVjkuMjQyaC0xLjcxMnYxMS41NTNoMS43MjlsLS4wMTctNS4xMzR6bS41My0xLjEzOHEuMjA2LjI5LjQ4LjVsLjE1NS4xMS4wNTMuMDM0cS41MS4yOTYgMS4xMTkuMjk3IDEuMDcgMCAxLjY0NS0uNjc1LjU3Ny0uNjkuNTc2LTEuNzYyIDAtMS4xMTktLjU3Ni0xLjc3Ny0uNTU4LS42NzUtMS42NDUtLjY3NS0uNDM1IDAtLjgzNS4xNmEyIDIgMCAwIDAtLjI4NC4xMzYgMiAyIDAgMCAwLS4zNjMuMjU0IDIuMiAyLjIgMCAwIDAtLjQ2LjU2OWwtLjA4Mi4xNjJhMi42IDIuNiAwIDAgMC0uMjEzIDEuMDcydi4xMTVxMCAuNzA3LjI5NiAxLjI2N2wuMTM1LjIxMXptLjk2NC0uODE4YTEuMSAxLjEgMCAwIDAgLjM2Ny4zODUuOTQuOTQgMCAwIDAgLjQ3Ni4xMThjLjQyMyAwIC41OS0uMTE3LjY4Ny0uMjMuMTU5LS4xOTQuMjgtLjQ3OC4yOC0uOTUgMC0uNTMtLjEzMy0uOC0uMjY2LS45NTJsLS4wMjEtLjAyNWMtLjA3OC0uMDk0LS4yMzEtLjIyMS0uNjgtLjIyMWExIDEgMCAwIDAtLjUwMy4xMzVsLS4wMTIuMDA3YS44Ni44NiAwIDAgMC0uMzM1LjM0M2MtLjA3My4xMzMtLjEzMi4zMjQtLjEzMi42MTR2LjExNWExLjQgMS40IDAgMCAwIC4xNC42NnptMTUuNy02LjIyMnEuMzQ3LS4zNDYuMzQ2LS44NTZhMS4wNSAxLjA1IDAgMCAwLS4zNDUtLjc5IDEuMTggMS4xOCAwIDAgMC0uODQtLjMyOXEtLjUxIDAtLjg1NS4zM2ExLjA1IDEuMDUgMCAwIDAtLjM0Ni43OXEwIC41MS4zNDYuODU1LjM0NS4zNDYuODU2LjM0Ni41MSAwIC44MzktLjM0NnptNC4zMzcgOS4zMTQuMDMzLTEuMzMycS4xOTEuNDAzLjU5Ljc0N2wuMDk4LjA4MWE0IDQgMCAwIDAgLjMxNi4yMjRsLjIyMy4xMjJhMy4yIDMuMiAwIDAgMCAxLjQ0LjMyMiAzLjggMy44IDAgMCAwIDEuODc1LS40NzcgMy41IDMuNSAwIDAgMCAxLjM4Mi0xLjM2NnEuNTI3LS44OS41MjYtMi4wOSAwLTEuMTg0LS40NDQtMi4wNzNhMy4yNCAzLjI0IDAgMCAwLTEuMjgzLTEuMzk5cS0uODIzLS41MS0xLjk0Mi0uNTFhMy41IDMuNSAwIDAgMC0xLjUyNy4zNDRsLS4wODYuMDQzLS4xNjUuMDlhMyAzIDAgMCAwLS4zMy4yMTRxLS40MzIuMzE1LS42NTYuNzA3YTIgMiAwIDAgMC0uMDk5LjE5OGwuMDgyLTEuMjgzVjQuNzAxaC0xLjc0NHYxMi4wOTV6bS40NzMtMi41MDlhMi41IDIuNSAwIDAgMCAuNTY2LjdxLjExNy4wOTguMjQ1LjE4bC4xNDQuMDhhMi4xIDIuMSAwIDAgMCAuOTc1LjIzMnExLjA3IDAgMS42NDUtLjY3NS41NzYtLjY5LjU3Ni0xLjc3OCAwLTEuMTAyLS41NzYtMS43NzctLjU2LS42OTEtMS42NDUtLjY5MmEyLjIgMi4yIDAgMCAwLTEuMDE1LjIzNXEtLjIyLjExMy0uNDE1LjI4MmwtLjE1LjE0MmEyLjEgMi4xIDAgMCAwLS40Mi41OTRxLS4yMjMuNDc5LS4yMjMgMS4xdi4xMTVxMCAuNzA1LjI5MyAxLjI2em0yLjYxNi0uMjkzYy4xNTctLjE5MS4yOC0uNDc5LjI4LS45NjcgMC0uNTEtLjEzLS43OS0uMjc2LS45NjFsLS4wMjEtLjAyNmMtLjA4Mi0uMS0uMjMyLS4yMjUtLjY3LS4yMjVhLjg3Ljg3IDAgMCAwLS42ODEuMjc5bC0uMDEyLjAxMWMtLjE1NC4xNTUtLjI3NC4zOC0uMjc0LjgwN3YuMTE1YzAgLjI4NS4wNTcuNDk5LjE0NC42NjlhMS4xIDEuMSAwIDAgMCAuMzY3LjQwNWMuMTM3LjA4Mi4yOC4xMjMuNDU1LjEyMy40MjMgMCAuNTktLjExOC42ODYtLjIzem04LjI2Ni0zLjAxM3EuMzQ1LS4xMy43MjQtLjE0bC4wNjktLjAwMnEuNDkzIDAgLjY0Mi4wOTlsLjI0Ny0xLjc5NHEtLjE5Ni0uMDk5LS43MTctLjA5OWEyLjMgMi4zIDAgMCAwLS41NDUuMDYzIDIgMiAwIDAgMC0uNDExLjE0OCAyLjIgMi4yIDAgMCAwLS40LjI0OSAyLjUgMi41IDAgMCAwLS40ODUuNDk5IDIuNyAyLjcgMCAwIDAtLjMyLjU4MWwtLjA1LjEzN3YtMS40OGgtMS43Nzh2Ny41NTNoMS43Nzd2LTMuODg0cTAtLjU0Ni4xNTktLjk0M2ExLjUgMS41IDAgMCAxIC40NjYtLjYzNiAyLjUgMi41IDAgMCAxIC4zOTktLjI1MyAyIDIgMCAwIDEgLjIyNC0uMDk5em05Ljc4NCAyLjY1Ni4wNS0uOTIycTAtMS43NDMtLjg1Ni0yLjY5OC0uODM4LS45Ny0yLjU4NC0uOTctMS4xMTktLjAwMS0yLjAwNy40OTNhMy40NiAzLjQ2IDAgMCAwLTEuNCAxLjM4MnEtLjQ5My45MDYtLjQ5MyAyLjEwNiAwIDEuMDcuNDI4IDEuOTc1LjQyOC44OSAxLjMzMiAxLjQzMi45MDYuNTI2IDIuMjU1LjUyNi45NzMgMCAxLjY2OC0uMTg1bC4wNDQtLjAxMi4xMzUtLjA0cS42MTMtLjE4NC45ODQtLjQyMWwtLjU0Mi0xLjI2N3EtLjMuMTYyLS42NDIuMjc0bC0uMjk3LjA4N3EtLjUxLjEzMS0xLjMuMTMxLS45NTQgMC0xLjQ5Ny0uNDQ0YTEuNiAxLjYgMCAwIDEtLjE5Mi0uMTkzcS0uMzY2LS40NC0uNTEyLTEuMjM0bC0uMDA0LS4wMjF6bS01LjQyNy0xLjI1Ni0uMDAzLjAyMmgzLjc1MnYtLjEzOHEtLjAxMS0uNzI3LS4yODgtMS4xMThhMSAxIDAgMCAwLS4xNTYtLjE3NnEtLjQ2LS40MjgtMS4zMTYtLjQyOC0uOTg2IDAtMS40OTQuNjA0LS4zNzkuNDUtLjQ5NCAxLjIzNHptLTI3LjA1MyAyLjc3VjQuN2gtMS44NnYxMi4wOTVoNS4zMzNWMTUuMTV6bTcuMTAzLTUuOTA4djcuNTUzaC0xLjg0M1Y5LjI0MmgxLjg0M3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBkPSdtMTkuNjMgMTEuMTUxLS43NTctMS43MS0uMzQ1IDEuNzEtMS4xMiA1LjY0NGgtMS44MjdMMTguMDgzIDQuN2guMTk3bDMuMzI1IDYuNTMzLjk4OCAyLjE5Ljk4OC0yLjE5TDI2LjgzOSA0LjdoLjE4MWwyLjYgMTIuMDk1aC0xLjgxbC0xLjIxOC01LjY0NC0uMzYyLTEuNzEtLjY1OCAxLjcxLTIuOTMgNS42NDRoLS4wOThsLTIuOTEzLTUuNjQ0em0xNC44MzYgNS44MXEtMS4wMiAwLTEuODkzLS40NzhhMy44IDMuOCAwIDAgMS0xLjM4MS0xLjM4MnEtLjUxLS45MDYtLjUxLTIuMTA2IDAtMS4xODUuNDQ0LTIuMDc0YTMuMzYgMy4zNiAwIDAgMSAxLjMtMS4zODJxLjgzOS0uNDk0IDEuOTc0LS40OTRhMy4zIDMuMyAwIDAgMSAxLjIzNC4yMzEgMy4zIDMuMyAwIDAgMSAuOTcuNTc1cS4zOTYuMzMuNTI3LjY1OWwuMDMzLTEuMjY3aDEuNjk0djcuNTUzSDM3LjE4bC0uMDMzLTEuMzMycS0uMjc5LjU5My0xLjAyIDEuMDUzYTMuMTcgMy4xNyAwIDAgMS0xLjY2Mi40NDR6bS4yOTYtMS40ODJxLjkzOCAwIDEuNTgtLjY0Mi42NDItLjY2LjY0Mi0xLjcxMXYtLjExNXEwLS43MDgtLjI5Ni0xLjI2N2EyLjIgMi4yIDAgMCAwLS44MDctLjg3MiAyLjEgMi4xIDAgMCAwLTEuMTE5LS4zMTNxLTEuMDUzIDAtMS42MjkuNjkyLS41NzUuNjc1LS41NzUgMS43NiAwIDEuMTAzLjU1OSAxLjc5NS41NzcuNjc1IDEuNjQ1LjY3NXptNi41MjEtNi4yMzdoMS43MTF2MS40cS45MDYtMS41OTcgMi44My0xLjU5NyAxLjU5NiAwIDIuNTg0IDEuMDIuOTg4IDEuMDA1Ljk4OCAyLjkxNCAwIDEuMTg1LS40OTMgMi4wOWEzLjQ2IDMuNDYgMCAwIDEtMS4zMTYgMS4zOTkgMy41IDMuNSAwIDAgMS0xLjg0NC40OTNxLS45NTQgMC0xLjY2Mi0uMzI5YTIuNjcgMi42NyAwIDAgMS0xLjA4Ni0uOTdsLjAxNyA1LjEzNGgtMS43Mjh6bTQuMDQ4IDYuMjJxMS4wNyAwIDEuNjQ1LS42NzQuNTc3LS42OS41NzYtMS43NjIgMC0xLjExOS0uNTc2LTEuNzc3LS41NTgtLjY3NS0xLjY0NS0uNjc1LS41OTIgMC0xLjEyLjI5Ni0uNTEuMjgtLjgyMi44MjMtLjI5Ni41MjctLjI5NiAxLjIzNHYuMTE1cTAgLjcwOC4yOTYgMS4yNjcuMzEzLjU0My44MjMuODU1LjUxLjI5NiAxLjExOS4yOTd6Jy8lM0UlM0NwYXRoIGZpbGw9JyUyM2UxZTNlOScgZD0nTTUxLjMyNSA0LjdoMS44NnYxMC40NWgzLjQ3M3YxLjY0NmgtNS4zMzN6bTcuMTIgNC41NDJoMS44NDN2Ny41NTNoLTEuODQzem0uOTA1LTEuNDE1YTEuMTYgMS4xNiAwIDAgMS0uODU2LS4zNDYgMS4xNyAxLjE3IDAgMCAxLS4zNDYtLjg1NiAxLjA1IDEuMDUgMCAwIDEgLjM0Ni0uNzlxLjM0Ni0uMzI5Ljg1Ni0uMzI5LjQ5NCAwIC44MzkuMzNhMS4wNSAxLjA1IDAgMCAxIC4zNDUuNzkgMS4xNiAxLjE2IDAgMCAxLS4zNDUuODU1cS0uMzMuMzQ2LS44NC4zNDZ6bTcuODc1IDkuMTMzYTMuMTcgMy4xNyAwIDAgMS0xLjY2Mi0uNDQ0cS0uNzIzLS40Ni0xLjAwNC0xLjA1M2wtLjAzMyAxLjMzMmgtMS43MVY0LjcwMWgxLjc0M3Y0LjY1N2wtLjA4MiAxLjI4M3EuMjc5LS42NTggMS4wODYtMS4xMTlhMy41IDMuNSAwIDAgMSAxLjc3OC0uNDc3cTEuMTE5IDAgMS45NDIuNTFhMy4yNCAzLjI0IDAgMCAxIDEuMjgzIDEuNHEuNDQ1Ljg4OC40NDQgMi4wNzIgMCAxLjIwMS0uNTI2IDIuMDlhMy41IDMuNSAwIDAgMS0xLjM4MiAxLjM2NiAzLjggMy44IDAgMCAxLTEuODc2LjQ3N3ptLS4yOTYtMS40ODFxMS4wNjkgMCAxLjY0NS0uNjc1LjU3Ny0uNjkuNTc3LTEuNzc4IDAtMS4xMDItLjU3Ny0xLjc3Ni0uNTYtLjY5MS0xLjY0NS0uNjkyYTIuMTIgMi4xMiAwIDAgMC0xLjU4LjY1OXEtLjY0Mi42NDEtLjY0MiAxLjY5NHYuMTE1cTAgLjcxLjI5NiAxLjI2N2EyLjQgMi40IDAgMCAwIC44MDcuODcyIDIuMSAyLjEgMCAwIDAgMS4xMTkuMzEzem01LjkyNy02LjIzN2gxLjc3N3YxLjQ4MXEuMjYzLS43NTcuODU2LTEuMjE3YTIuMTQgMi4xNCAwIDAgMSAxLjM0OS0uNDZxLjUyNyAwIC43MjQuMDk4bC0uMjQ3IDEuNzk0cS0uMTQ5LS4wOTktLjY0Mi0uMDk5LS43NzQgMC0xLjQxNi40OTQtLjYyNi40OTMtLjYyNiAxLjU4djMuODgzaC0xLjc3N1Y5LjI0MnptOS41MzQgNy43MThxLTEuMzUgMC0yLjI1NS0uNTI2LS45MDQtLjU0My0xLjMzMi0xLjQzMmE0LjYgNC42IDAgMCAxLS40MjgtMS45NzVxMC0xLjIuNDkzLTIuMTA2YTMuNDYgMy40NiAwIDAgMSAxLjQtMS4zODJxLjg4OS0uNDk1IDIuMDA3LS40OTQgMS43NDQgMCAyLjU4NC45Ny44NTUuOTU2Ljg1NiAyLjcgMCAuNDQ0LS4wNS45MmgtNS40M3EuMTggMS4wMDUuNzA4IDEuNDUuNTQyLjQ0MyAxLjQ5Ny40NDMuNzkgMCAxLjMtLjEzMWE0IDQgMCAwIDAgLjkzOC0uMzYybC41NDIgMS4yNjdxLS40MTEuMjYzLTEuMTE5LjQ2LS43MDguMTk4LTEuNzExLjE5N3ptMS41OTYtNC41NThxLjAxNi0xLjAyLS40NDQtMS40MzItLjQ2LS40MjgtMS4zMTYtLjQyOC0xLjcyOCAwLTEuOTkxIDEuODZ6Jy8lM0UlM0NwYXRoIGQ9J001LjA3NCAxNS45NDhhLjQ4NC42NTcgMCAwIDAtLjQ4Ni42NTl2MS44NGEuNDg0LjY1NyAwIDAgMCAuNDg2LjY1OWg0LjEwMWEuNDg0LjY1NyAwIDAgMCAuNDg2LS42NTl2LTEuODRhLjQ4NC42NTcgMCAwIDAtLjQ4Ni0uNjU5em0zLjU2IDEuMTZINS42MTd2LjgzOGgzLjAxN3onIHN0eWxlPSdmaWxsOiUyM2ZmZjtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2Utd2lkdGg6MS4wMzYwMDAwMScvJTNFJTNDZyBzdHlsZT0nc3Ryb2tlLXdpZHRoOjEuMTI2MDM1NDUnJTNFJTNDcGF0aCBkPSdNLTkuNDA4LTEuNDE2Yy0zLjgzMy0uMDI1LTcuMDU2IDIuOTEyLTcuMDggNi42MTUtLjAyIDMuMDggMS42NTMgNC44MzIgMy4xMDcgNi4yNjguOTAzLjg5MiAxLjcyMSAxLjc0IDIuMzIgMi45MDJsLS41MjUtLjAwNGMtLjU0My0uMDAzLS45OTIuMzA0LTEuMjQuNjM5YTEuODcgMS44NyAwIDAgMC0uMzYyIDEuMTIxbC0uMDExIDEuODc3Yy0uMDAzLjQwMi4xMDQuNzg3LjM0NyAxLjEyNS4yNDQuMzM4LjY4OC42NTMgMS4yMy42NTZsNC4xNDIuMDI4Yy41NDIuMDAzLjk5LS4zMDYgMS4yMzgtLjY0MWExLjg3IDEuODcgMCAwIDAgLjM2My0xLjEyMWwuMDEyLTEuODc1YTEuODcgMS44NyAwIDAgMC0uMzQ4LTEuMTI3Yy0uMjQzLS4zMzgtLjY4OC0uNjUzLTEuMjMtLjY1NmwtLjUxOC0uMDA0Yy41OTctMS4xNDUgMS40MjUtMS45ODMgMi4zNDgtMi44NyAxLjQ3My0xLjQxNCAzLjE4LTMuMTQ5IDMuMi02LjIyNi0uMDE2LTMuNTktMi45MjMtNi42ODQtNi45OTMtNi43MDdtLS4wMDYgMS4xdi4wMDJjMy4yNzQuMDIgNS45MiAyLjUzMiA1LjkgNS42LS4wMTcgMi43MDYtMS4zOSA0LjAyNi0yLjg2MyA1LjQ0LTEuMDM0Ljk5NC0yLjExOCAyLjAzMy0yLjgxNCAzLjYzMy0uMDE4LjA0MS0uMDUyLjA1NS0uMDc1LjA2NXEtLjAxMy4wMDQtLjAyLjAxYS4zNC4zNCAwIDAgMS0uMjI2LjA4NC4zNC4zNCAwIDAgMS0uMjI0LS4wODZsLS4wOTItLjA3N2MtLjY5OS0xLjYxNS0xLjc2OC0yLjY2OS0yLjc4MS0zLjY3LTEuNDU0LTEuNDM1LTIuNzk3LTIuNzYyLTIuNzgtNS40NzguMDItMy4wNjcgMi43LTUuNTQ1IDUuOTc1LTUuNTIzbS0uMDIgMi44MjZjLTEuNjItLjAxLTIuOTQ0IDEuMzE1LTIuOTU1IDIuOTYtLjAxIDEuNjQ2IDEuMjk1IDIuOTg4IDIuOTE2IDIuOTk5aC4wMDJjMS42MjEuMDEgMi45NDMtMS4zMTYgMi45NTMtMi45NjEuMDExLTEuNjQ2LTEuMjk0LTIuOTg4LTIuOTE2LTIuOTk4bS0uMDA1IDEuMWMxLjAxNy4wMDYgMS44MjkuODMgMS44MjIgMS44OXMtLjgzIDEuODc0LTEuODQ4IDEuODY3Yy0xLjAxOC0uMDA2LTEuODI5LS44My0xLjgyMi0xLjg5cy44My0xLjg3NCAxLjg0OC0xLjg2OG0tMi4xNTUgMTEuODU3IDQuMTQuMDI1Yy4yNzEuMDAyLjQ5LjMwNS40ODcuNjc2bC0uMDEzIDEuODc1Yy0uMDAzLjM3LS4yMjQuNjctLjQ5NS42NjhsLTQuMTQtLjAyNWMtLjI3LS4wMDItLjQ4Ny0uMzA2LS40ODUtLjY3NmwuMDEyLTEuODc1Yy4wMDMtLjM3LjIyNC0uNjcuNDk0LS42NjgnIHN0eWxlPSdjb2xvcjolMjMwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1wb3NpdGlvbjpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQtdmFyaWFudC1udW1lcmljOm5vcm1hbDtmb250LXZhcmlhbnQtYWx0ZXJuYXRlczpub3JtYWw7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiUyMzAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO3dyaXRpbmctbW9kZTpsci10YjtkaXJlY3Rpb246bHRyO3RleHQtb3JpZW50YXRpb246bWl4ZWQ7ZG9taW5hbnQtYmFzZWxpbmU6YXV0bztiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7c2hhcGUtcGFkZGluZzowO2NsaXAtcnVsZTpldmVub2RkO2Rpc3BsYXk6aW5saW5lO292ZXJmbG93OnZpc2libGU7dmlzaWJpbGl0eTp2aXNpYmxlO29wYWNpdHk6MTtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6JTIzMDAwO3NvbGlkLW9wYWNpdHk6MTt2ZWN0b3ItZWZmZWN0Om5vbmU7ZmlsbDolMjMwMDA7ZmlsbC1vcGFjaXR5Oi40O2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0NwYXRoIGQ9J00tOS40MTUtLjMxNkMtMTIuNjktLjMzOC0xNS4zNyAyLjE0LTE1LjM5IDUuMjA3Yy0uMDE3IDIuNzE2IDEuMzI2IDQuMDQxIDIuNzggNS40NzcgMS4wMTMgMSAyLjA4MSAyLjA1NSAyLjc4IDMuNjdsLjA5Mi4wNzZhLjM0LjM0IDAgMCAwIC4yMjUuMDg2LjM0LjM0IDAgMCAwIC4yMjctLjA4M2wuMDE5LS4wMWMuMDIyLS4wMDkuMDU3LS4wMjQuMDc0LS4wNjQuNjk3LTEuNiAxLjc4LTIuNjQgMi44MTQtMy42MzQgMS40NzMtMS40MTQgMi44NDctMi43MzMgMi44NjQtNS40NC4wMi0zLjA2Ny0yLjYyNy01LjU4LTUuOTAxLTUuNjAxbS0uMDU3IDguNzg0YzEuNjIxLjAxMSAyLjk0NC0xLjMxNSAyLjk1NS0yLjk2LjAxLTEuNjQ2LTEuMjk1LTIuOTg4LTIuOTE2LTIuOTk5LTEuNjIyLS4wMS0yLjk0NSAxLjMxNS0yLjk1NSAyLjk2czEuMjk1IDIuOTg5IDIuOTE2IDMnIHN0eWxlPSdjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiUyM2UxZTNlOTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi40NzcyNzgyMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eTouNCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMTUuNTUzIDIuODUpc2NhbGUoLjg4ODA3KScvJTNFJTNDcGF0aCBkPSdNLTExLjU5NCAxNS40NjVjLS4yNy0uMDAyLS40OTIuMjk3LS40OTQuNjY4bC0uMDEyIDEuODc2Yy0uMDAzLjM3MS4yMTQuNjczLjQ4NS42NzVsNC4xNC4wMjdjLjI3MS4wMDIuNDkyLS4yOTguNDk1LS42NjhsLjAxMi0xLjg3N2MuMDAzLS4zNy0uMjE1LS42NzItLjQ4NS0uNjc0eicgc3R5bGU9J2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5Oi40JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjIzcHg7bWFyZ2luOjAgMCAtNHB4IC00cHg7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjg4cHh9YS5tYXBsaWJyZWdsLWN0cmwtbG9nby5tYXBsaWJyZWdsLWNvbXBhY3R7d2lkdGg6MTRweH1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXthLm1hcGxpYnJlZ2wtY3RybC1sb2dve2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nODgnIGhlaWdodD0nMjMnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMDAnIGZpbGwtb3BhY2l0eT0nLjQnIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTE3LjQwOCAxNi43OTZoLTEuODI3bDIuNTAxLTEyLjA5NWguMTk4bDMuMzI0IDYuNTMzLjk4OCAyLjE5Ljk4OC0yLjE5IDMuMjU4LTYuNTMzaC4xODFsMi42IDEyLjA5NWgtMS44MWwtMS4yMTgtNS42NDQtLjM2Mi0xLjcxLS42NTggMS43MS0yLjkyOSA1LjY0NGgtLjA5OGwtMi45MTQtNS42NDQtLjc1Ny0xLjcxLS4zNDUgMS43MXptMS45NTgtMy40Mi0uNzI2IDMuNjYzYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjMyIDEuMDExaC0xLjgyN2ExLjI1NSAxLjI1NSAwIDAgMS0xLjIyOS0xLjUwOWwyLjUwMS0xMi4wOTVhMS4yNTUgMS4yNTUgMCAwIDEgMS4yMy0xLjAwMWguMTk3YTEuMjUgMS4yNSAwIDAgMSAxLjEyLjY4NWwzLjE5IDYuMjczIDMuMTI1LTYuMjYzYTEuMjUgMS4yNSAwIDAgMSAxLjEyMy0uNjk1aC4xODFhMS4yNTUgMS4yNTUgMCAwIDEgMS4yMjcuOTkxbDEuNDQzIDYuNzFhNSA1IDAgMCAxIC4zMTQtLjc4N2wuMDA5LS4wMTZhNC42IDQuNiAwIDAgMSAxLjc3Ny0xLjg4N2MuNzgyLS40NiAxLjY2OC0uNjY3IDIuNjExLS42NjdhNC42IDQuNiAwIDAgMSAxLjcuMzJsLjMwNi4xMzRjLjIxLS4xNi40NzQtLjI1Ni43NTktLjI1NmgxLjY5NGExLjI1NSAxLjI1NSAwIDAgMSAxLjIxMi45MjUgMS4yNTUgMS4yNTUgMCAwIDEgMS4yMTItLjkyNWgxLjcxMWMuMjg0IDAgLjU0NS4wOTQuNzU1LjI1Mi42MTMtLjMgMS4zMTItLjQ1IDIuMDc1LS40NSAxLjM1NiAwIDIuNTU3LjQ0NSAzLjQ4MiAxLjRxLjQ3LjQ4Ljc2MyAxLjA2NFY0LjcwMWExLjI1NSAxLjI1NSAwIDAgMSAxLjI1NS0xLjI1NWgxLjg2QTEuMjU1IDEuMjU1IDAgMCAxIDU0LjQ0IDQuN3Y5LjE5NGgyLjIxN2MuMTkgMCAuMzcuMDQzLjUzMi4xMTh2LTQuNzdjMC0uMzU2LjE0Ny0uNjc4LjM4NS0uOTA2YTIuNDIgMi40MiAwIDAgMS0uNjgyLTEuNzFjMC0uNjY1LjI2Ny0xLjI1My43MzUtMS43YTIuNDUgMi40NSAwIDAgMSAxLjcyMi0uNjc0IDIuNDMgMi40MyAwIDAgMSAxLjcwNS42NzVxLjMxOC4zMDIuNTA0LjY4M1Y0LjdhMS4yNTUgMS4yNTUgMCAwIDEgMS4yNTUtMS4yNTVoMS43NDRBMS4yNTUgMS4yNTUgMCAwIDEgNjUuODEyIDQuN3YzLjMzNWE0LjggNC44IDAgMCAxIDEuNTI2LS4yNDZjLjkzOCAwIDEuODE3LjIxNCAyLjU5LjY5YTQuNDcgNC40NyAwIDAgMSAxLjY3IDEuNzQzdi0uOThhMS4yNTUgMS4yNTUgMCAwIDEgMS4yNTYtMS4yNTZoMS43NzdjLjIzMyAwIC40NTEuMDY0LjYzOS4xNzRhMy40IDMuNCAwIDAgMSAxLjU2Ny0uMzcyYy4zNDYgMCAuODYxLjAyIDEuMjg1LjIzMmExLjI1IDEuMjUgMCAwIDEgLjY4OSAxLjAwNCA0LjcgNC43IDAgMCAxIC44NTMtLjU4OGMuNzk1LS40NCAxLjY3NS0uNjQ3IDIuNjEtLjY0NyAxLjM4NSAwIDIuNjUuMzkgMy41MjUgMS4zOTYuODM2LjkzOCAxLjE2OCAyLjE3MyAxLjE2OCAzLjUyOHEtLjAwMS41MTUtLjA1NiAxLjA1MWExLjI1NSAxLjI1NSAwIDAgMS0uOTQ3IDEuMDlsLjQwOC45NTJhMS4yNTUgMS4yNTUgMCAwIDEtLjQ3NyAxLjU1MmMtLjQxOC4yNjgtLjkyLjQ2My0xLjQ1OC42MTItLjYxMy4xNzEtMS4zMDQuMjQ0LTIuMDQ5LjI0NC0xLjA2IDAtMi4wNDMtLjIwNy0yLjg4Ni0uNjk4bC0uMDE1LS4wMDhjLS43OTgtLjQ4LTEuNDE5LTEuMTM1LTEuODE4LTEuOTYzbC0uMDA0LS4wMDhhNS44IDUuOCAwIDAgMS0uNTQ4LTIuNTEycTAtLjQyOS4wNTMtLjg0M2ExLjMgMS4zIDAgMCAxLS4zMzMtLjA4NmwtLjE2Ni0uMDA0Yy0uMjIzIDAtLjQyNi4wNjItLjY0My4yMjgtLjAzLjAyNC0uMTQyLjEzOS0uMTQyLjU5djMuODgzYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2IDEuMjU2aC0xLjc3N2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NlYxNS42OWwtLjAzMi4wNTdhNC44IDQuOCAwIDAgMS0xLjg2IDEuODMzIDUuMDQgNS4wNCAwIDAgMS0yLjQ4NC42MzQgNC41IDQuNSAwIDAgMS0xLjkzNS0uNDI0IDEuMjUgMS4yNSAwIDAgMS0uNzY0LjI1OGgtMS43MWExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NVY3LjY4N2EyLjQgMi40IDAgMCAxLS40MjguNjI1Yy4yNTMuMjMuNDEyLjU2MS40MTIuOTN2Ny41NTNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYgMS4yNTVoLTEuODQzYTEuMjUgMS4yNSAwIDAgMS0uODk0LS4zNzNjLS4yMjguMjMtLjU0NC4zNzMtLjg5NC4zNzNINTEuMzJhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYtMS4yNTV2LTEuMjUxbC0uMDYxLjExN2E0LjcgNC43IDAgMCAxLTEuNzgyIDEuODg0IDQuNzcgNC43NyAwIDAgMS0yLjQ4NS42NyA1LjYgNS42IDAgMCAxLTEuNDg1LS4xODhsLjAwOSAyLjc2NGExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NSAxLjI1OWgtMS43MjlhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTUtMS4yNTV2LTMuNTM3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMTY3Ljc5M2gtMS42NzlhMS4yNSAxLjI1IDAgMCAxLS43Ny0uMjYzIDQuNSA0LjUgMCAwIDEtMS45NDUuNDI5Yy0uODg1IDAtMS43MjQtLjIxLTIuNDk1LS42MzJsLS4wMTctLjAxYTUgNSAwIDAgMS0xLjA4MS0uODM2IDEuMjU1IDEuMjU1IDAgMCAxLTEuMjU0IDEuMzEyaC0xLjgxYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjI4LS45OWwtLjc4Mi0zLjYyNS0yLjA0NCAzLjkzOWExLjI1IDEuMjUgMCAwIDEtMS4xMTUuNjc2aC0uMDk4YTEuMjUgMS4yNSAwIDAgMS0xLjExNi0uNjhsLTIuMDYxLTMuOTk0ek0zNS45MiAxNi42M2wuMjA3LS4xMTQuMjIzLS4xNXEuNDkzLS4zNTYuNzM1LS43ODVsLjA2MS0uMTE4LjAzMyAxLjMzMmgxLjY3OFY5LjI0MmgtMS42OTRsLS4wMzMgMS4yNjdxLS4xMzMtLjMyOS0uNTI2LS42NThsLS4wMzItLjAyOGEzLjIgMy4yIDAgMCAwLS42NjgtLjQyOGwtLjI3LS4xMmEzLjMgMy4zIDAgMCAwLTEuMjM1LS4yM3EtMS4xMzYtLjAwMS0xLjk3NC40OTNhMy4zNiAzLjM2IDAgMCAwLTEuMyAxLjM4MnEtLjQ0NS44OS0uNDQ0IDIuMDc0IDAgMS4yLjUxIDIuMTA3YTMuOCAzLjggMCAwIDAgMS4zODIgMS4zODEgMy45IDMuOSAwIDAgMCAxLjg5My40NzdxLjc5NSAwIDEuNDU1LS4zM3ptLTIuNzg5LTUuMzhxLS41NzYuNjc1LS41NzUgMS43NjIgMCAxLjEwMi41NTkgMS43OTQuNTc2LjY3NSAxLjY0NS42NzVhMi4yNSAyLjI1IDAgMCAwIC45MzQtLjE5IDIuMiAyLjIgMCAwIDAgLjQ2OC0uMjlsLjE3OC0uMTYxYTIuMiAyLjIgMCAwIDAgLjM5Ny0uNTYxcS4yNDQtLjUuMjQ0LTEuMTV2LS4xMTVxMC0uNzA4LS4yOTYtMS4yNjdsLS4wNDMtLjA3N2EyLjIgMi4yIDAgMCAwLS42MzMtLjcwOWwtLjEzLS4wODYtLjA0Ny0uMDI4YTIuMSAyLjEgMCAwIDAtMS4wNzMtLjI4NXEtMS4wNTIgMC0xLjYyOS42OTJ6bTIuMzE2IDIuNzA2Yy4xNjMtLjE3LjI4LS40MDcuMjgtLjgzdi0uMTE0YzAtLjI5Mi0uMDYtLjUwOC0uMTUtLjY4YS45Ni45NiAwIDAgMC0uMzUzLS4zODkuODUuODUgMCAwIDAtLjQ2NC0uMTI3Yy0uNCAwLS41Ni4xMTQtLjY2NC4yMzlsLS4wMS4wMTJjLS4xNDguMTc0LS4yNzUuNDUtLjI3NS45NDUgMCAuNTA2LjEyMi44MDEuMjcuOTkuMDk3LjExLjI2Ni4yMjQuNjguMjI0LjMwMyAwIC41MDQtLjA5LjY4Ny0uMjY5em03LjU0NSAxLjcwNWEyLjYgMi42IDAgMCAwIC4zMzEuNDIzcS4zMTkuMzMuNzU1LjU0OGwuMTczLjA3NHEuNjUuMjU1IDEuNDkuMjU1IDEuMDIgMCAxLjg0NC0uNDkzYTMuNDUgMy40NSAwIDAgMCAxLjMxNi0xLjRxLjQ5My0uOTA0LjQ5My0yLjA4OSAwLTEuOTA5LS45ODgtMi45MTMtLjk4OC0xLjAyLTIuNTg0LTEuMDItLjg5OCAwLTEuNTc1LjM0N2EzIDMgMCAwIDAtLjQxNS4yNjJsLS4xOTkuMTY2YTMuNCAzLjQgMCAwIDAtLjY0LjgyVjkuMjQyaC0xLjcxMnYxMS41NTNoMS43MjlsLS4wMTctNS4xMzR6bS41My0xLjEzOHEuMjA2LjI5LjQ4LjVsLjE1NS4xMS4wNTMuMDM0cS41MS4yOTYgMS4xMTkuMjk3IDEuMDcgMCAxLjY0NS0uNjc1LjU3Ny0uNjkuNTc2LTEuNzYyIDAtMS4xMTktLjU3Ni0xLjc3Ny0uNTU4LS42NzUtMS42NDUtLjY3NS0uNDM1IDAtLjgzNS4xNmEyIDIgMCAwIDAtLjI4NC4xMzYgMiAyIDAgMCAwLS4zNjMuMjU0IDIuMiAyLjIgMCAwIDAtLjQ2LjU2OWwtLjA4Mi4xNjJhMi42IDIuNiAwIDAgMC0uMjEzIDEuMDcydi4xMTVxMCAuNzA3LjI5NiAxLjI2N2wuMTM1LjIxMXptLjk2NC0uODE4YTEuMSAxLjEgMCAwIDAgLjM2Ny4zODUuOTQuOTQgMCAwIDAgLjQ3Ni4xMThjLjQyMyAwIC41OS0uMTE3LjY4Ny0uMjMuMTU5LS4xOTQuMjgtLjQ3OC4yOC0uOTUgMC0uNTMtLjEzMy0uOC0uMjY2LS45NTJsLS4wMjEtLjAyNWMtLjA3OC0uMDk0LS4yMzEtLjIyMS0uNjgtLjIyMWExIDEgMCAwIDAtLjUwMy4xMzVsLS4wMTIuMDA3YS44Ni44NiAwIDAgMC0uMzM1LjM0M2MtLjA3My4xMzMtLjEzMi4zMjQtLjEzMi42MTR2LjExNWExLjQgMS40IDAgMCAwIC4xNC42NnptMTUuNy02LjIyMnEuMzQ3LS4zNDYuMzQ2LS44NTZhMS4wNSAxLjA1IDAgMCAwLS4zNDUtLjc5IDEuMTggMS4xOCAwIDAgMC0uODQtLjMyOXEtLjUxIDAtLjg1NS4zM2ExLjA1IDEuMDUgMCAwIDAtLjM0Ni43OXEwIC41MS4zNDYuODU1LjM0NS4zNDYuODU2LjM0Ni41MSAwIC44MzktLjM0NnptNC4zMzcgOS4zMTQuMDMzLTEuMzMycS4xOTEuNDAzLjU5Ljc0N2wuMDk4LjA4MWE0IDQgMCAwIDAgLjMxNi4yMjRsLjIyMy4xMjJhMy4yIDMuMiAwIDAgMCAxLjQ0LjMyMiAzLjggMy44IDAgMCAwIDEuODc1LS40NzcgMy41IDMuNSAwIDAgMCAxLjM4Mi0xLjM2NnEuNTI3LS44OS41MjYtMi4wOSAwLTEuMTg0LS40NDQtMi4wNzNhMy4yNCAzLjI0IDAgMCAwLTEuMjgzLTEuMzk5cS0uODIzLS41MS0xLjk0Mi0uNTFhMy41IDMuNSAwIDAgMC0xLjUyNy4zNDRsLS4wODYuMDQzLS4xNjUuMDlhMyAzIDAgMCAwLS4zMy4yMTRxLS40MzIuMzE1LS42NTYuNzA3YTIgMiAwIDAgMC0uMDk5LjE5OGwuMDgyLTEuMjgzVjQuNzAxaC0xLjc0NHYxMi4wOTV6bS40NzMtMi41MDlhMi41IDIuNSAwIDAgMCAuNTY2LjdxLjExNy4wOTguMjQ1LjE4bC4xNDQuMDhhMi4xIDIuMSAwIDAgMCAuOTc1LjIzMnExLjA3IDAgMS42NDUtLjY3NS41NzYtLjY5LjU3Ni0xLjc3OCAwLTEuMTAyLS41NzYtMS43NzctLjU2LS42OTEtMS42NDUtLjY5MmEyLjIgMi4yIDAgMCAwLTEuMDE1LjIzNXEtLjIyLjExMy0uNDE1LjI4MmwtLjE1LjE0MmEyLjEgMi4xIDAgMCAwLS40Mi41OTRxLS4yMjMuNDc5LS4yMjMgMS4xdi4xMTVxMCAuNzA1LjI5MyAxLjI2em0yLjYxNi0uMjkzYy4xNTctLjE5MS4yOC0uNDc5LjI4LS45NjcgMC0uNTEtLjEzLS43OS0uMjc2LS45NjFsLS4wMjEtLjAyNmMtLjA4Mi0uMS0uMjMyLS4yMjUtLjY3LS4yMjVhLjg3Ljg3IDAgMCAwLS42ODEuMjc5bC0uMDEyLjAxMWMtLjE1NC4xNTUtLjI3NC4zOC0uMjc0LjgwN3YuMTE1YzAgLjI4NS4wNTcuNDk5LjE0NC42NjlhMS4xIDEuMSAwIDAgMCAuMzY3LjQwNWMuMTM3LjA4Mi4yOC4xMjMuNDU1LjEyMy40MjMgMCAuNTktLjExOC42ODYtLjIzem04LjI2Ni0zLjAxM3EuMzQ1LS4xMy43MjQtLjE0bC4wNjktLjAwMnEuNDkzIDAgLjY0Mi4wOTlsLjI0Ny0xLjc5NHEtLjE5Ni0uMDk5LS43MTctLjA5OWEyLjMgMi4zIDAgMCAwLS41NDUuMDYzIDIgMiAwIDAgMC0uNDExLjE0OCAyLjIgMi4yIDAgMCAwLS40LjI0OSAyLjUgMi41IDAgMCAwLS40ODUuNDk5IDIuNyAyLjcgMCAwIDAtLjMyLjU4MWwtLjA1LjEzN3YtMS40OGgtMS43Nzh2Ny41NTNoMS43Nzd2LTMuODg0cTAtLjU0Ni4xNTktLjk0M2ExLjUgMS41IDAgMCAxIC40NjYtLjYzNiAyLjUgMi41IDAgMCAxIC4zOTktLjI1MyAyIDIgMCAwIDEgLjIyNC0uMDk5em05Ljc4NCAyLjY1Ni4wNS0uOTIycTAtMS43NDMtLjg1Ni0yLjY5OC0uODM4LS45Ny0yLjU4NC0uOTctMS4xMTktLjAwMS0yLjAwNy40OTNhMy40NiAzLjQ2IDAgMCAwLTEuNCAxLjM4MnEtLjQ5My45MDYtLjQ5MyAyLjEwNiAwIDEuMDcuNDI4IDEuOTc1LjQyOC44OSAxLjMzMiAxLjQzMi45MDYuNTI2IDIuMjU1LjUyNi45NzMgMCAxLjY2OC0uMTg1bC4wNDQtLjAxMi4xMzUtLjA0cS42MTMtLjE4NC45ODQtLjQyMWwtLjU0Mi0xLjI2N3EtLjMuMTYyLS42NDIuMjc0bC0uMjk3LjA4N3EtLjUxLjEzMS0xLjMuMTMxLS45NTQgMC0xLjQ5Ny0uNDQ0YTEuNiAxLjYgMCAwIDEtLjE5Mi0uMTkzcS0uMzY2LS40NC0uNTEyLTEuMjM0bC0uMDA0LS4wMjF6bS01LjQyNy0xLjI1Ni0uMDAzLjAyMmgzLjc1MnYtLjEzOHEtLjAxMS0uNzI3LS4yODgtMS4xMThhMSAxIDAgMCAwLS4xNTYtLjE3NnEtLjQ2LS40MjgtMS4zMTYtLjQyOC0uOTg2IDAtMS40OTQuNjA0LS4zNzkuNDUtLjQ5NCAxLjIzNHptLTI3LjA1MyAyLjc3VjQuN2gtMS44NnYxMi4wOTVoNS4zMzNWMTUuMTV6bTcuMTAzLTUuOTA4djcuNTUzaC0xLjg0M1Y5LjI0MmgxLjg0M3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBkPSdtMTkuNjMgMTEuMTUxLS43NTctMS43MS0uMzQ1IDEuNzEtMS4xMiA1LjY0NGgtMS44MjdMMTguMDgzIDQuN2guMTk3bDMuMzI1IDYuNTMzLjk4OCAyLjE5Ljk4OC0yLjE5TDI2LjgzOSA0LjdoLjE4MWwyLjYgMTIuMDk1aC0xLjgxbC0xLjIxOC01LjY0NC0uMzYyLTEuNzEtLjY1OCAxLjcxLTIuOTMgNS42NDRoLS4wOThsLTIuOTEzLTUuNjQ0em0xNC44MzYgNS44MXEtMS4wMiAwLTEuODkzLS40NzhhMy44IDMuOCAwIDAgMS0xLjM4MS0xLjM4MnEtLjUxLS45MDYtLjUxLTIuMTA2IDAtMS4xODUuNDQ0LTIuMDc0YTMuMzYgMy4zNiAwIDAgMSAxLjMtMS4zODJxLjgzOS0uNDk0IDEuOTc0LS40OTRhMy4zIDMuMyAwIDAgMSAxLjIzNC4yMzEgMy4zIDMuMyAwIDAgMSAuOTcuNTc1cS4zOTYuMzMuNTI3LjY1OWwuMDMzLTEuMjY3aDEuNjk0djcuNTUzSDM3LjE4bC0uMDMzLTEuMzMycS0uMjc5LjU5My0xLjAyIDEuMDUzYTMuMTcgMy4xNyAwIDAgMS0xLjY2Mi40NDR6bS4yOTYtMS40ODJxLjkzOCAwIDEuNTgtLjY0Mi42NDItLjY2LjY0Mi0xLjcxMXYtLjExNXEwLS43MDgtLjI5Ni0xLjI2N2EyLjIgMi4yIDAgMCAwLS44MDctLjg3MiAyLjEgMi4xIDAgMCAwLTEuMTE5LS4zMTNxLTEuMDUzIDAtMS42MjkuNjkyLS41NzUuNjc1LS41NzUgMS43NiAwIDEuMTAzLjU1OSAxLjc5NS41NzcuNjc1IDEuNjQ1LjY3NXptNi41MjEtNi4yMzdoMS43MTF2MS40cS45MDYtMS41OTcgMi44My0xLjU5NyAxLjU5NiAwIDIuNTg0IDEuMDIuOTg4IDEuMDA1Ljk4OCAyLjkxNCAwIDEuMTg1LS40OTMgMi4wOWEzLjQ2IDMuNDYgMCAwIDEtMS4zMTYgMS4zOTkgMy41IDMuNSAwIDAgMS0xLjg0NC40OTNxLS45NTQgMC0xLjY2Mi0uMzI5YTIuNjcgMi42NyAwIDAgMS0xLjA4Ni0uOTdsLjAxNyA1LjEzNGgtMS43Mjh6bTQuMDQ4IDYuMjJxMS4wNyAwIDEuNjQ1LS42NzQuNTc3LS42OS41NzYtMS43NjIgMC0xLjExOS0uNTc2LTEuNzc3LS41NTgtLjY3NS0xLjY0NS0uNjc1LS41OTIgMC0xLjEyLjI5Ni0uNTEuMjgtLjgyMi44MjMtLjI5Ni41MjctLjI5NiAxLjIzNHYuMTE1cTAgLjcwOC4yOTYgMS4yNjcuMzEzLjU0My44MjMuODU1LjUxLjI5NiAxLjExOS4yOTd6Jy8lM0UlM0NwYXRoIGZpbGw9JyUyM2UxZTNlOScgZD0nTTUxLjMyNSA0LjdoMS44NnYxMC40NWgzLjQ3M3YxLjY0NmgtNS4zMzN6bTcuMTIgNC41NDJoMS44NDN2Ny41NTNoLTEuODQzem0uOTA1LTEuNDE1YTEuMTYgMS4xNiAwIDAgMS0uODU2LS4zNDYgMS4xNyAxLjE3IDAgMCAxLS4zNDYtLjg1NiAxLjA1IDEuMDUgMCAwIDEgLjM0Ni0uNzlxLjM0Ni0uMzI5Ljg1Ni0uMzI5LjQ5NCAwIC44MzkuMzNhMS4wNSAxLjA1IDAgMCAxIC4zNDUuNzkgMS4xNiAxLjE2IDAgMCAxLS4zNDUuODU1cS0uMzMuMzQ2LS44NC4zNDZ6bTcuODc1IDkuMTMzYTMuMTcgMy4xNyAwIDAgMS0xLjY2Mi0uNDQ0cS0uNzIzLS40Ni0xLjAwNC0xLjA1M2wtLjAzMyAxLjMzMmgtMS43MVY0LjcwMWgxLjc0M3Y0LjY1N2wtLjA4MiAxLjI4M3EuMjc5LS42NTggMS4wODYtMS4xMTlhMy41IDMuNSAwIDAgMSAxLjc3OC0uNDc3cTEuMTE5IDAgMS45NDIuNTFhMy4yNCAzLjI0IDAgMCAxIDEuMjgzIDEuNHEuNDQ1Ljg4OC40NDQgMi4wNzIgMCAxLjIwMS0uNTI2IDIuMDlhMy41IDMuNSAwIDAgMS0xLjM4MiAxLjM2NiAzLjggMy44IDAgMCAxLTEuODc2LjQ3N3ptLS4yOTYtMS40ODFxMS4wNjkgMCAxLjY0NS0uNjc1LjU3Ny0uNjkuNTc3LTEuNzc4IDAtMS4xMDItLjU3Ny0xLjc3Ni0uNTYtLjY5MS0xLjY0NS0uNjkyYTIuMTIgMi4xMiAwIDAgMC0xLjU4LjY1OXEtLjY0Mi42NDEtLjY0MiAxLjY5NHYuMTE1cTAgLjcxLjI5NiAxLjI2N2EyLjQgMi40IDAgMCAwIC44MDcuODcyIDIuMSAyLjEgMCAwIDAgMS4xMTkuMzEzem01LjkyNy02LjIzN2gxLjc3N3YxLjQ4MXEuMjYzLS43NTcuODU2LTEuMjE3YTIuMTQgMi4xNCAwIDAgMSAxLjM0OS0uNDZxLjUyNyAwIC43MjQuMDk4bC0uMjQ3IDEuNzk0cS0uMTQ5LS4wOTktLjY0Mi0uMDk5LS43NzQgMC0xLjQxNi40OTQtLjYyNi40OTMtLjYyNiAxLjU4djMuODgzaC0xLjc3N1Y5LjI0MnptOS41MzQgNy43MThxLTEuMzUgMC0yLjI1NS0uNTI2LS45MDQtLjU0My0xLjMzMi0xLjQzMmE0LjYgNC42IDAgMCAxLS40MjgtMS45NzVxMC0xLjIuNDkzLTIuMTA2YTMuNDYgMy40NiAwIDAgMSAxLjQtMS4zODJxLjg4OS0uNDk1IDIuMDA3LS40OTQgMS43NDQgMCAyLjU4NC45Ny44NTUuOTU2Ljg1NiAyLjcgMCAuNDQ0LS4wNS45MmgtNS40M3EuMTggMS4wMDUuNzA4IDEuNDUuNTQyLjQ0MyAxLjQ5Ny40NDMuNzkgMCAxLjMtLjEzMWE0IDQgMCAwIDAgLjkzOC0uMzYybC41NDIgMS4yNjdxLS40MTEuMjYzLTEuMTE5LjQ2LS43MDguMTk4LTEuNzExLjE5N3ptMS41OTYtNC41NThxLjAxNi0xLjAyLS40NDQtMS40MzItLjQ2LS40MjgtMS4zMTYtLjQyOC0xLjcyOCAwLTEuOTkxIDEuODZ6Jy8lM0UlM0NwYXRoIGQ9J001LjA3NCAxNS45NDhhLjQ4NC42NTcgMCAwIDAtLjQ4Ni42NTl2MS44NGEuNDg0LjY1NyAwIDAgMCAuNDg2LjY1OWg0LjEwMWEuNDg0LjY1NyAwIDAgMCAuNDg2LS42NTl2LTEuODRhLjQ4NC42NTcgMCAwIDAtLjQ4Ni0uNjU5em0zLjU2IDEuMTZINS42MTd2LjgzOGgzLjAxN3onIHN0eWxlPSdmaWxsOiUyM2ZmZjtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2Utd2lkdGg6MS4wMzYwMDAwMScvJTNFJTNDZyBzdHlsZT0nc3Ryb2tlLXdpZHRoOjEuMTI2MDM1NDUnJTNFJTNDcGF0aCBkPSdNLTkuNDA4LTEuNDE2Yy0zLjgzMy0uMDI1LTcuMDU2IDIuOTEyLTcuMDggNi42MTUtLjAyIDMuMDggMS42NTMgNC44MzIgMy4xMDcgNi4yNjguOTAzLjg5MiAxLjcyMSAxLjc0IDIuMzIgMi45MDJsLS41MjUtLjAwNGMtLjU0My0uMDAzLS45OTIuMzA0LTEuMjQuNjM5YTEuODcgMS44NyAwIDAgMC0uMzYyIDEuMTIxbC0uMDExIDEuODc3Yy0uMDAzLjQwMi4xMDQuNzg3LjM0NyAxLjEyNS4yNDQuMzM4LjY4OC42NTMgMS4yMy42NTZsNC4xNDIuMDI4Yy41NDIuMDAzLjk5LS4zMDYgMS4yMzgtLjY0MWExLjg3IDEuODcgMCAwIDAgLjM2My0xLjEyMWwuMDEyLTEuODc1YTEuODcgMS44NyAwIDAgMC0uMzQ4LTEuMTI3Yy0uMjQzLS4zMzgtLjY4OC0uNjUzLTEuMjMtLjY1NmwtLjUxOC0uMDA0Yy41OTctMS4xNDUgMS40MjUtMS45ODMgMi4zNDgtMi44NyAxLjQ3My0xLjQxNCAzLjE4LTMuMTQ5IDMuMi02LjIyNi0uMDE2LTMuNTktMi45MjMtNi42ODQtNi45OTMtNi43MDdtLS4wMDYgMS4xdi4wMDJjMy4yNzQuMDIgNS45MiAyLjUzMiA1LjkgNS42LS4wMTcgMi43MDYtMS4zOSA0LjAyNi0yLjg2MyA1LjQ0LTEuMDM0Ljk5NC0yLjExOCAyLjAzMy0yLjgxNCAzLjYzMy0uMDE4LjA0MS0uMDUyLjA1NS0uMDc1LjA2NXEtLjAxMy4wMDQtLjAyLjAxYS4zNC4zNCAwIDAgMS0uMjI2LjA4NC4zNC4zNCAwIDAgMS0uMjI0LS4wODZsLS4wOTItLjA3N2MtLjY5OS0xLjYxNS0xLjc2OC0yLjY2OS0yLjc4MS0zLjY3LTEuNDU0LTEuNDM1LTIuNzk3LTIuNzYyLTIuNzgtNS40NzguMDItMy4wNjcgMi43LTUuNTQ1IDUuOTc1LTUuNTIzbS0uMDIgMi44MjZjLTEuNjItLjAxLTIuOTQ0IDEuMzE1LTIuOTU1IDIuOTYtLjAxIDEuNjQ2IDEuMjk1IDIuOTg4IDIuOTE2IDIuOTk5aC4wMDJjMS42MjEuMDEgMi45NDMtMS4zMTYgMi45NTMtMi45NjEuMDExLTEuNjQ2LTEuMjk0LTIuOTg4LTIuOTE2LTIuOTk4bS0uMDA1IDEuMWMxLjAxNy4wMDYgMS44MjkuODMgMS44MjIgMS44OXMtLjgzIDEuODc0LTEuODQ4IDEuODY3Yy0xLjAxOC0uMDA2LTEuODI5LS44My0xLjgyMi0xLjg5cy44My0xLjg3NCAxLjg0OC0xLjg2OG0tMi4xNTUgMTEuODU3IDQuMTQuMDI1Yy4yNzEuMDAyLjQ5LjMwNS40ODcuNjc2bC0uMDEzIDEuODc1Yy0uMDAzLjM3LS4yMjQuNjctLjQ5NS42NjhsLTQuMTQtLjAyNWMtLjI3LS4wMDItLjQ4Ny0uMzA2LS40ODUtLjY3NmwuMDEyLTEuODc1Yy4wMDMtLjM3LjIyNC0uNjcuNDk0LS42NjgnIHN0eWxlPSdjb2xvcjolMjMwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1wb3NpdGlvbjpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQtdmFyaWFudC1udW1lcmljOm5vcm1hbDtmb250LXZhcmlhbnQtYWx0ZXJuYXRlczpub3JtYWw7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiUyMzAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO3dyaXRpbmctbW9kZTpsci10YjtkaXJlY3Rpb246bHRyO3RleHQtb3JpZW50YXRpb246bWl4ZWQ7ZG9taW5hbnQtYmFzZWxpbmU6YXV0bztiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7c2hhcGUtcGFkZGluZzowO2NsaXAtcnVsZTpldmVub2RkO2Rpc3BsYXk6aW5saW5lO292ZXJmbG93OnZpc2libGU7dmlzaWJpbGl0eTp2aXNpYmxlO29wYWNpdHk6MTtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6JTIzMDAwO3NvbGlkLW9wYWNpdHk6MTt2ZWN0b3ItZWZmZWN0Om5vbmU7ZmlsbDolMjMwMDA7ZmlsbC1vcGFjaXR5Oi40O2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0NwYXRoIGQ9J00tOS40MTUtLjMxNkMtMTIuNjktLjMzOC0xNS4zNyAyLjE0LTE1LjM5IDUuMjA3Yy0uMDE3IDIuNzE2IDEuMzI2IDQuMDQxIDIuNzggNS40NzcgMS4wMTMgMSAyLjA4MSAyLjA1NSAyLjc4IDMuNjdsLjA5Mi4wNzZhLjM0LjM0IDAgMCAwIC4yMjUuMDg2LjM0LjM0IDAgMCAwIC4yMjctLjA4M2wuMDE5LS4wMWMuMDIyLS4wMDkuMDU3LS4wMjQuMDc0LS4wNjQuNjk3LTEuNiAxLjc4LTIuNjQgMi44MTQtMy42MzQgMS40NzMtMS40MTQgMi44NDctMi43MzMgMi44NjQtNS40NC4wMi0zLjA2Ny0yLjYyNy01LjU4LTUuOTAxLTUuNjAxbS0uMDU3IDguNzg0YzEuNjIxLjAxMSAyLjk0NC0xLjMxNSAyLjk1NS0yLjk2LjAxLTEuNjQ2LTEuMjk1LTIuOTg4LTIuOTE2LTIuOTk5LTEuNjIyLS4wMS0yLjk0NSAxLjMxNS0yLjk1NSAyLjk2czEuMjk1IDIuOTg5IDIuOTE2IDMnIHN0eWxlPSdjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiUyM2UxZTNlOTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi40NzcyNzgyMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eTouNCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMTUuNTUzIDIuODUpc2NhbGUoLjg4ODA3KScvJTNFJTNDcGF0aCBkPSdNLTExLjU5NCAxNS40NjVjLS4yNy0uMDAyLS40OTIuMjk3LS40OTQuNjY4bC0uMDEyIDEuODc2Yy0uMDAzLjM3MS4yMTQuNjczLjQ4NS42NzVsNC4xNC4wMjdjLjI3MS4wMDIuNDkyLS4yOTguNDk1LS42NjhsLjAxMi0xLjg3N2MuMDAzLS4zNy0uMjE1LS42NzItLjQ4NS0uNjc0eicgc3R5bGU9J2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5Oi40JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIil9fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6bGlnaHQpe2EubWFwbGlicmVnbC1jdHJsLWxvZ297YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nODgnIGhlaWdodD0nMjMnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBmaWxsPSclMjMwMDAnIGZpbGwtb3BhY2l0eT0nLjQnIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTE3LjQwOCAxNi43OTZoLTEuODI3bDIuNTAxLTEyLjA5NWguMTk4bDMuMzI0IDYuNTMzLjk4OCAyLjE5Ljk4OC0yLjE5IDMuMjU4LTYuNTMzaC4xODFsMi42IDEyLjA5NWgtMS44MWwtMS4yMTgtNS42NDQtLjM2Mi0xLjcxLS42NTggMS43MS0yLjkyOSA1LjY0NGgtLjA5OGwtMi45MTQtNS42NDQtLjc1Ny0xLjcxLS4zNDUgMS43MXptMS45NTgtMy40Mi0uNzI2IDMuNjYzYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjMyIDEuMDExaC0xLjgyN2ExLjI1NSAxLjI1NSAwIDAgMS0xLjIyOS0xLjUwOWwyLjUwMS0xMi4wOTVhMS4yNTUgMS4yNTUgMCAwIDEgMS4yMy0xLjAwMWguMTk3YTEuMjUgMS4yNSAwIDAgMSAxLjEyLjY4NWwzLjE5IDYuMjczIDMuMTI1LTYuMjYzYTEuMjUgMS4yNSAwIDAgMSAxLjEyMy0uNjk1aC4xODFhMS4yNTUgMS4yNTUgMCAwIDEgMS4yMjcuOTkxbDEuNDQzIDYuNzFhNSA1IDAgMCAxIC4zMTQtLjc4N2wuMDA5LS4wMTZhNC42IDQuNiAwIDAgMSAxLjc3Ny0xLjg4N2MuNzgyLS40NiAxLjY2OC0uNjY3IDIuNjExLS42NjdhNC42IDQuNiAwIDAgMSAxLjcuMzJsLjMwNi4xMzRjLjIxLS4xNi40NzQtLjI1Ni43NTktLjI1NmgxLjY5NGExLjI1NSAxLjI1NSAwIDAgMSAxLjIxMi45MjUgMS4yNTUgMS4yNTUgMCAwIDEgMS4yMTItLjkyNWgxLjcxMWMuMjg0IDAgLjU0NS4wOTQuNzU1LjI1Mi42MTMtLjMgMS4zMTItLjQ1IDIuMDc1LS40NSAxLjM1NiAwIDIuNTU3LjQ0NSAzLjQ4MiAxLjRxLjQ3LjQ4Ljc2MyAxLjA2NFY0LjcwMWExLjI1NSAxLjI1NSAwIDAgMSAxLjI1NS0xLjI1NWgxLjg2QTEuMjU1IDEuMjU1IDAgMCAxIDU0LjQ0IDQuN3Y5LjE5NGgyLjIxN2MuMTkgMCAuMzcuMDQzLjUzMi4xMTh2LTQuNzdjMC0uMzU2LjE0Ny0uNjc4LjM4NS0uOTA2YTIuNDIgMi40MiAwIDAgMS0uNjgyLTEuNzFjMC0uNjY1LjI2Ny0xLjI1My43MzUtMS43YTIuNDUgMi40NSAwIDAgMSAxLjcyMi0uNjc0IDIuNDMgMi40MyAwIDAgMSAxLjcwNS42NzVxLjMxOC4zMDIuNTA0LjY4M1Y0LjdhMS4yNTUgMS4yNTUgMCAwIDEgMS4yNTUtMS4yNTVoMS43NDRBMS4yNTUgMS4yNTUgMCAwIDEgNjUuODEyIDQuN3YzLjMzNWE0LjggNC44IDAgMCAxIDEuNTI2LS4yNDZjLjkzOCAwIDEuODE3LjIxNCAyLjU5LjY5YTQuNDcgNC40NyAwIDAgMSAxLjY3IDEuNzQzdi0uOThhMS4yNTUgMS4yNTUgMCAwIDEgMS4yNTYtMS4yNTZoMS43NzdjLjIzMyAwIC40NTEuMDY0LjYzOS4xNzRhMy40IDMuNCAwIDAgMSAxLjU2Ny0uMzcyYy4zNDYgMCAuODYxLjAyIDEuMjg1LjIzMmExLjI1IDEuMjUgMCAwIDEgLjY4OSAxLjAwNCA0LjcgNC43IDAgMCAxIC44NTMtLjU4OGMuNzk1LS40NCAxLjY3NS0uNjQ3IDIuNjEtLjY0NyAxLjM4NSAwIDIuNjUuMzkgMy41MjUgMS4zOTYuODM2LjkzOCAxLjE2OCAyLjE3MyAxLjE2OCAzLjUyOHEtLjAwMS41MTUtLjA1NiAxLjA1MWExLjI1NSAxLjI1NSAwIDAgMS0uOTQ3IDEuMDlsLjQwOC45NTJhMS4yNTUgMS4yNTUgMCAwIDEtLjQ3NyAxLjU1MmMtLjQxOC4yNjgtLjkyLjQ2My0xLjQ1OC42MTItLjYxMy4xNzEtMS4zMDQuMjQ0LTIuMDQ5LjI0NC0xLjA2IDAtMi4wNDMtLjIwNy0yLjg4Ni0uNjk4bC0uMDE1LS4wMDhjLS43OTgtLjQ4LTEuNDE5LTEuMTM1LTEuODE4LTEuOTYzbC0uMDA0LS4wMDhhNS44IDUuOCAwIDAgMS0uNTQ4LTIuNTEycTAtLjQyOS4wNTMtLjg0M2ExLjMgMS4zIDAgMCAxLS4zMzMtLjA4NmwtLjE2Ni0uMDA0Yy0uMjIzIDAtLjQyNi4wNjItLjY0My4yMjgtLjAzLjAyNC0uMTQyLjEzOS0uMTQyLjU5djMuODgzYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjU2IDEuMjU2aC0xLjc3N2ExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NlYxNS42OWwtLjAzMi4wNTdhNC44IDQuOCAwIDAgMS0xLjg2IDEuODMzIDUuMDQgNS4wNCAwIDAgMS0yLjQ4NC42MzQgNC41IDQuNSAwIDAgMS0xLjkzNS0uNDI0IDEuMjUgMS4yNSAwIDAgMS0uNzY0LjI1OGgtMS43MWExLjI1NSAxLjI1NSAwIDAgMS0xLjI1Ni0xLjI1NVY3LjY4N2EyLjQgMi40IDAgMCAxLS40MjguNjI1Yy4yNTMuMjMuNDEyLjU2MS40MTIuOTN2Ny41NTNhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYgMS4yNTVoLTEuODQzYTEuMjUgMS4yNSAwIDAgMS0uODk0LS4zNzNjLS4yMjguMjMtLjU0NC4zNzMtLjg5NC4zNzNINTEuMzJhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTYtMS4yNTV2LTEuMjUxbC0uMDYxLjExN2E0LjcgNC43IDAgMCAxLTEuNzgyIDEuODg0IDQuNzcgNC43NyAwIDAgMS0yLjQ4NS42NyA1LjYgNS42IDAgMCAxLTEuNDg1LS4xODhsLjAwOSAyLjc2NGExLjI1NSAxLjI1NSAwIDAgMS0xLjI1NSAxLjI1OWgtMS43MjlhMS4yNTUgMS4yNTUgMCAwIDEtMS4yNTUtMS4yNTV2LTMuNTM3YTEuMjU1IDEuMjU1IDAgMCAxLTEuMTY3Ljc5M2gtMS42NzlhMS4yNSAxLjI1IDAgMCAxLS43Ny0uMjYzIDQuNSA0LjUgMCAwIDEtMS45NDUuNDI5Yy0uODg1IDAtMS43MjQtLjIxLTIuNDk1LS42MzJsLS4wMTctLjAxYTUgNSAwIDAgMS0xLjA4MS0uODM2IDEuMjU1IDEuMjU1IDAgMCAxLTEuMjU0IDEuMzEyaC0xLjgxYTEuMjU1IDEuMjU1IDAgMCAxLTEuMjI4LS45OWwtLjc4Mi0zLjYyNS0yLjA0NCAzLjkzOWExLjI1IDEuMjUgMCAwIDEtMS4xMTUuNjc2aC0uMDk4YTEuMjUgMS4yNSAwIDAgMS0xLjExNi0uNjhsLTIuMDYxLTMuOTk0ek0zNS45MiAxNi42M2wuMjA3LS4xMTQuMjIzLS4xNXEuNDkzLS4zNTYuNzM1LS43ODVsLjA2MS0uMTE4LjAzMyAxLjMzMmgxLjY3OFY5LjI0MmgtMS42OTRsLS4wMzMgMS4yNjdxLS4xMzMtLjMyOS0uNTI2LS42NThsLS4wMzItLjAyOGEzLjIgMy4yIDAgMCAwLS42NjgtLjQyOGwtLjI3LS4xMmEzLjMgMy4zIDAgMCAwLTEuMjM1LS4yM3EtMS4xMzYtLjAwMS0xLjk3NC40OTNhMy4zNiAzLjM2IDAgMCAwLTEuMyAxLjM4MnEtLjQ0NS44OS0uNDQ0IDIuMDc0IDAgMS4yLjUxIDIuMTA3YTMuOCAzLjggMCAwIDAgMS4zODIgMS4zODEgMy45IDMuOSAwIDAgMCAxLjg5My40NzdxLjc5NSAwIDEuNDU1LS4zM3ptLTIuNzg5LTUuMzhxLS41NzYuNjc1LS41NzUgMS43NjIgMCAxLjEwMi41NTkgMS43OTQuNTc2LjY3NSAxLjY0NS42NzVhMi4yNSAyLjI1IDAgMCAwIC45MzQtLjE5IDIuMiAyLjIgMCAwIDAgLjQ2OC0uMjlsLjE3OC0uMTYxYTIuMiAyLjIgMCAwIDAgLjM5Ny0uNTYxcS4yNDQtLjUuMjQ0LTEuMTV2LS4xMTVxMC0uNzA4LS4yOTYtMS4yNjdsLS4wNDMtLjA3N2EyLjIgMi4yIDAgMCAwLS42MzMtLjcwOWwtLjEzLS4wODYtLjA0Ny0uMDI4YTIuMSAyLjEgMCAwIDAtMS4wNzMtLjI4NXEtMS4wNTIgMC0xLjYyOS42OTJ6bTIuMzE2IDIuNzA2Yy4xNjMtLjE3LjI4LS40MDcuMjgtLjgzdi0uMTE0YzAtLjI5Mi0uMDYtLjUwOC0uMTUtLjY4YS45Ni45NiAwIDAgMC0uMzUzLS4zODkuODUuODUgMCAwIDAtLjQ2NC0uMTI3Yy0uNCAwLS41Ni4xMTQtLjY2NC4yMzlsLS4wMS4wMTJjLS4xNDguMTc0LS4yNzUuNDUtLjI3NS45NDUgMCAuNTA2LjEyMi44MDEuMjcuOTkuMDk3LjExLjI2Ni4yMjQuNjguMjI0LjMwMyAwIC41MDQtLjA5LjY4Ny0uMjY5em03LjU0NSAxLjcwNWEyLjYgMi42IDAgMCAwIC4zMzEuNDIzcS4zMTkuMzMuNzU1LjU0OGwuMTczLjA3NHEuNjUuMjU1IDEuNDkuMjU1IDEuMDIgMCAxLjg0NC0uNDkzYTMuNDUgMy40NSAwIDAgMCAxLjMxNi0xLjRxLjQ5My0uOTA0LjQ5My0yLjA4OSAwLTEuOTA5LS45ODgtMi45MTMtLjk4OC0xLjAyLTIuNTg0LTEuMDItLjg5OCAwLTEuNTc1LjM0N2EzIDMgMCAwIDAtLjQxNS4yNjJsLS4xOTkuMTY2YTMuNCAzLjQgMCAwIDAtLjY0LjgyVjkuMjQyaC0xLjcxMnYxMS41NTNoMS43MjlsLS4wMTctNS4xMzR6bS41My0xLjEzOHEuMjA2LjI5LjQ4LjVsLjE1NS4xMS4wNTMuMDM0cS41MS4yOTYgMS4xMTkuMjk3IDEuMDcgMCAxLjY0NS0uNjc1LjU3Ny0uNjkuNTc2LTEuNzYyIDAtMS4xMTktLjU3Ni0xLjc3Ny0uNTU4LS42NzUtMS42NDUtLjY3NS0uNDM1IDAtLjgzNS4xNmEyIDIgMCAwIDAtLjI4NC4xMzYgMiAyIDAgMCAwLS4zNjMuMjU0IDIuMiAyLjIgMCAwIDAtLjQ2LjU2OWwtLjA4Mi4xNjJhMi42IDIuNiAwIDAgMC0uMjEzIDEuMDcydi4xMTVxMCAuNzA3LjI5NiAxLjI2N2wuMTM1LjIxMXptLjk2NC0uODE4YTEuMSAxLjEgMCAwIDAgLjM2Ny4zODUuOTQuOTQgMCAwIDAgLjQ3Ni4xMThjLjQyMyAwIC41OS0uMTE3LjY4Ny0uMjMuMTU5LS4xOTQuMjgtLjQ3OC4yOC0uOTUgMC0uNTMtLjEzMy0uOC0uMjY2LS45NTJsLS4wMjEtLjAyNWMtLjA3OC0uMDk0LS4yMzEtLjIyMS0uNjgtLjIyMWExIDEgMCAwIDAtLjUwMy4xMzVsLS4wMTIuMDA3YS44Ni44NiAwIDAgMC0uMzM1LjM0M2MtLjA3My4xMzMtLjEzMi4zMjQtLjEzMi42MTR2LjExNWExLjQgMS40IDAgMCAwIC4xNC42NnptMTUuNy02LjIyMnEuMzQ3LS4zNDYuMzQ2LS44NTZhMS4wNSAxLjA1IDAgMCAwLS4zNDUtLjc5IDEuMTggMS4xOCAwIDAgMC0uODQtLjMyOXEtLjUxIDAtLjg1NS4zM2ExLjA1IDEuMDUgMCAwIDAtLjM0Ni43OXEwIC41MS4zNDYuODU1LjM0NS4zNDYuODU2LjM0Ni41MSAwIC44MzktLjM0NnptNC4zMzcgOS4zMTQuMDMzLTEuMzMycS4xOTEuNDAzLjU5Ljc0N2wuMDk4LjA4MWE0IDQgMCAwIDAgLjMxNi4yMjRsLjIyMy4xMjJhMy4yIDMuMiAwIDAgMCAxLjQ0LjMyMiAzLjggMy44IDAgMCAwIDEuODc1LS40NzcgMy41IDMuNSAwIDAgMCAxLjM4Mi0xLjM2NnEuNTI3LS44OS41MjYtMi4wOSAwLTEuMTg0LS40NDQtMi4wNzNhMy4yNCAzLjI0IDAgMCAwLTEuMjgzLTEuMzk5cS0uODIzLS41MS0xLjk0Mi0uNTFhMy41IDMuNSAwIDAgMC0xLjUyNy4zNDRsLS4wODYuMDQzLS4xNjUuMDlhMyAzIDAgMCAwLS4zMy4yMTRxLS40MzIuMzE1LS42NTYuNzA3YTIgMiAwIDAgMC0uMDk5LjE5OGwuMDgyLTEuMjgzVjQuNzAxaC0xLjc0NHYxMi4wOTV6bS40NzMtMi41MDlhMi41IDIuNSAwIDAgMCAuNTY2LjdxLjExNy4wOTguMjQ1LjE4bC4xNDQuMDhhMi4xIDIuMSAwIDAgMCAuOTc1LjIzMnExLjA3IDAgMS42NDUtLjY3NS41NzYtLjY5LjU3Ni0xLjc3OCAwLTEuMTAyLS41NzYtMS43NzctLjU2LS42OTEtMS42NDUtLjY5MmEyLjIgMi4yIDAgMCAwLTEuMDE1LjIzNXEtLjIyLjExMy0uNDE1LjI4MmwtLjE1LjE0MmEyLjEgMi4xIDAgMCAwLS40Mi41OTRxLS4yMjMuNDc5LS4yMjMgMS4xdi4xMTVxMCAuNzA1LjI5MyAxLjI2em0yLjYxNi0uMjkzYy4xNTctLjE5MS4yOC0uNDc5LjI4LS45NjcgMC0uNTEtLjEzLS43OS0uMjc2LS45NjFsLS4wMjEtLjAyNmMtLjA4Mi0uMS0uMjMyLS4yMjUtLjY3LS4yMjVhLjg3Ljg3IDAgMCAwLS42ODEuMjc5bC0uMDEyLjAxMWMtLjE1NC4xNTUtLjI3NC4zOC0uMjc0LjgwN3YuMTE1YzAgLjI4NS4wNTcuNDk5LjE0NC42NjlhMS4xIDEuMSAwIDAgMCAuMzY3LjQwNWMuMTM3LjA4Mi4yOC4xMjMuNDU1LjEyMy40MjMgMCAuNTktLjExOC42ODYtLjIzem04LjI2Ni0zLjAxM3EuMzQ1LS4xMy43MjQtLjE0bC4wNjktLjAwMnEuNDkzIDAgLjY0Mi4wOTlsLjI0Ny0xLjc5NHEtLjE5Ni0uMDk5LS43MTctLjA5OWEyLjMgMi4zIDAgMCAwLS41NDUuMDYzIDIgMiAwIDAgMC0uNDExLjE0OCAyLjIgMi4yIDAgMCAwLS40LjI0OSAyLjUgMi41IDAgMCAwLS40ODUuNDk5IDIuNyAyLjcgMCAwIDAtLjMyLjU4MWwtLjA1LjEzN3YtMS40OGgtMS43Nzh2Ny41NTNoMS43Nzd2LTMuODg0cTAtLjU0Ni4xNTktLjk0M2ExLjUgMS41IDAgMCAxIC40NjYtLjYzNiAyLjUgMi41IDAgMCAxIC4zOTktLjI1MyAyIDIgMCAwIDEgLjIyNC0uMDk5em05Ljc4NCAyLjY1Ni4wNS0uOTIycTAtMS43NDMtLjg1Ni0yLjY5OC0uODM4LS45Ny0yLjU4NC0uOTctMS4xMTktLjAwMS0yLjAwNy40OTNhMy40NiAzLjQ2IDAgMCAwLTEuNCAxLjM4MnEtLjQ5My45MDYtLjQ5MyAyLjEwNiAwIDEuMDcuNDI4IDEuOTc1LjQyOC44OSAxLjMzMiAxLjQzMi45MDYuNTI2IDIuMjU1LjUyNi45NzMgMCAxLjY2OC0uMTg1bC4wNDQtLjAxMi4xMzUtLjA0cS42MTMtLjE4NC45ODQtLjQyMWwtLjU0Mi0xLjI2N3EtLjMuMTYyLS42NDIuMjc0bC0uMjk3LjA4N3EtLjUxLjEzMS0xLjMuMTMxLS45NTQgMC0xLjQ5Ny0uNDQ0YTEuNiAxLjYgMCAwIDEtLjE5Mi0uMTkzcS0uMzY2LS40NC0uNTEyLTEuMjM0bC0uMDA0LS4wMjF6bS01LjQyNy0xLjI1Ni0uMDAzLjAyMmgzLjc1MnYtLjEzOHEtLjAxMS0uNzI3LS4yODgtMS4xMThhMSAxIDAgMCAwLS4xNTYtLjE3NnEtLjQ2LS40MjgtMS4zMTYtLjQyOC0uOTg2IDAtMS40OTQuNjA0LS4zNzkuNDUtLjQ5NCAxLjIzNHptLTI3LjA1MyAyLjc3VjQuN2gtMS44NnYxMi4wOTVoNS4zMzNWMTUuMTV6bTcuMTAzLTUuOTA4djcuNTUzaC0xLjg0M1Y5LjI0MmgxLjg0M3onLyUzRSUzQ3BhdGggZmlsbD0nJTIzZmZmJyBkPSdtMTkuNjMgMTEuMTUxLS43NTctMS43MS0uMzQ1IDEuNzEtMS4xMiA1LjY0NGgtMS44MjdMMTguMDgzIDQuN2guMTk3bDMuMzI1IDYuNTMzLjk4OCAyLjE5Ljk4OC0yLjE5TDI2LjgzOSA0LjdoLjE4MWwyLjYgMTIuMDk1aC0xLjgxbC0xLjIxOC01LjY0NC0uMzYyLTEuNzEtLjY1OCAxLjcxLTIuOTMgNS42NDRoLS4wOThsLTIuOTEzLTUuNjQ0em0xNC44MzYgNS44MXEtMS4wMiAwLTEuODkzLS40NzhhMy44IDMuOCAwIDAgMS0xLjM4MS0xLjM4MnEtLjUxLS45MDYtLjUxLTIuMTA2IDAtMS4xODUuNDQ0LTIuMDc0YTMuMzYgMy4zNiAwIDAgMSAxLjMtMS4zODJxLjgzOS0uNDk0IDEuOTc0LS40OTRhMy4zIDMuMyAwIDAgMSAxLjIzNC4yMzEgMy4zIDMuMyAwIDAgMSAuOTcuNTc1cS4zOTYuMzMuNTI3LjY1OWwuMDMzLTEuMjY3aDEuNjk0djcuNTUzSDM3LjE4bC0uMDMzLTEuMzMycS0uMjc5LjU5My0xLjAyIDEuMDUzYTMuMTcgMy4xNyAwIDAgMS0xLjY2Mi40NDR6bS4yOTYtMS40ODJxLjkzOCAwIDEuNTgtLjY0Mi42NDItLjY2LjY0Mi0xLjcxMXYtLjExNXEwLS43MDgtLjI5Ni0xLjI2N2EyLjIgMi4yIDAgMCAwLS44MDctLjg3MiAyLjEgMi4xIDAgMCAwLTEuMTE5LS4zMTNxLTEuMDUzIDAtMS42MjkuNjkyLS41NzUuNjc1LS41NzUgMS43NiAwIDEuMTAzLjU1OSAxLjc5NS41NzcuNjc1IDEuNjQ1LjY3NXptNi41MjEtNi4yMzdoMS43MTF2MS40cS45MDYtMS41OTcgMi44My0xLjU5NyAxLjU5NiAwIDIuNTg0IDEuMDIuOTg4IDEuMDA1Ljk4OCAyLjkxNCAwIDEuMTg1LS40OTMgMi4wOWEzLjQ2IDMuNDYgMCAwIDEtMS4zMTYgMS4zOTkgMy41IDMuNSAwIDAgMS0xLjg0NC40OTNxLS45NTQgMC0xLjY2Mi0uMzI5YTIuNjcgMi42NyAwIDAgMS0xLjA4Ni0uOTdsLjAxNyA1LjEzNGgtMS43Mjh6bTQuMDQ4IDYuMjJxMS4wNyAwIDEuNjQ1LS42NzQuNTc3LS42OS41NzYtMS43NjIgMC0xLjExOS0uNTc2LTEuNzc3LS41NTgtLjY3NS0xLjY0NS0uNjc1LS41OTIgMC0xLjEyLjI5Ni0uNTEuMjgtLjgyMi44MjMtLjI5Ni41MjctLjI5NiAxLjIzNHYuMTE1cTAgLjcwOC4yOTYgMS4yNjcuMzEzLjU0My44MjMuODU1LjUxLjI5NiAxLjExOS4yOTd6Jy8lM0UlM0NwYXRoIGZpbGw9JyUyM2UxZTNlOScgZD0nTTUxLjMyNSA0LjdoMS44NnYxMC40NWgzLjQ3M3YxLjY0NmgtNS4zMzN6bTcuMTIgNC41NDJoMS44NDN2Ny41NTNoLTEuODQzem0uOTA1LTEuNDE1YTEuMTYgMS4xNiAwIDAgMS0uODU2LS4zNDYgMS4xNyAxLjE3IDAgMCAxLS4zNDYtLjg1NiAxLjA1IDEuMDUgMCAwIDEgLjM0Ni0uNzlxLjM0Ni0uMzI5Ljg1Ni0uMzI5LjQ5NCAwIC44MzkuMzNhMS4wNSAxLjA1IDAgMCAxIC4zNDUuNzkgMS4xNiAxLjE2IDAgMCAxLS4zNDUuODU1cS0uMzMuMzQ2LS44NC4zNDZ6bTcuODc1IDkuMTMzYTMuMTcgMy4xNyAwIDAgMS0xLjY2Mi0uNDQ0cS0uNzIzLS40Ni0xLjAwNC0xLjA1M2wtLjAzMyAxLjMzMmgtMS43MVY0LjcwMWgxLjc0M3Y0LjY1N2wtLjA4MiAxLjI4M3EuMjc5LS42NTggMS4wODYtMS4xMTlhMy41IDMuNSAwIDAgMSAxLjc3OC0uNDc3cTEuMTE5IDAgMS45NDIuNTFhMy4yNCAzLjI0IDAgMCAxIDEuMjgzIDEuNHEuNDQ1Ljg4OC40NDQgMi4wNzIgMCAxLjIwMS0uNTI2IDIuMDlhMy41IDMuNSAwIDAgMS0xLjM4MiAxLjM2NiAzLjggMy44IDAgMCAxLTEuODc2LjQ3N3ptLS4yOTYtMS40ODFxMS4wNjkgMCAxLjY0NS0uNjc1LjU3Ny0uNjkuNTc3LTEuNzc4IDAtMS4xMDItLjU3Ny0xLjc3Ni0uNTYtLjY5MS0xLjY0NS0uNjkyYTIuMTIgMi4xMiAwIDAgMC0xLjU4LjY1OXEtLjY0Mi42NDEtLjY0MiAxLjY5NHYuMTE1cTAgLjcxLjI5NiAxLjI2N2EyLjQgMi40IDAgMCAwIC44MDcuODcyIDIuMSAyLjEgMCAwIDAgMS4xMTkuMzEzem01LjkyNy02LjIzN2gxLjc3N3YxLjQ4MXEuMjYzLS43NTcuODU2LTEuMjE3YTIuMTQgMi4xNCAwIDAgMSAxLjM0OS0uNDZxLjUyNyAwIC43MjQuMDk4bC0uMjQ3IDEuNzk0cS0uMTQ5LS4wOTktLjY0Mi0uMDk5LS43NzQgMC0xLjQxNi40OTQtLjYyNi40OTMtLjYyNiAxLjU4djMuODgzaC0xLjc3N1Y5LjI0MnptOS41MzQgNy43MThxLTEuMzUgMC0yLjI1NS0uNTI2LS45MDQtLjU0My0xLjMzMi0xLjQzMmE0LjYgNC42IDAgMCAxLS40MjgtMS45NzVxMC0xLjIuNDkzLTIuMTA2YTMuNDYgMy40NiAwIDAgMSAxLjQtMS4zODJxLjg4OS0uNDk1IDIuMDA3LS40OTQgMS43NDQgMCAyLjU4NC45Ny44NTUuOTU2Ljg1NiAyLjcgMCAuNDQ0LS4wNS45MmgtNS40M3EuMTggMS4wMDUuNzA4IDEuNDUuNTQyLjQ0MyAxLjQ5Ny40NDMuNzkgMCAxLjMtLjEzMWE0IDQgMCAwIDAgLjkzOC0uMzYybC41NDIgMS4yNjdxLS40MTEuMjYzLTEuMTE5LjQ2LS43MDguMTk4LTEuNzExLjE5N3ptMS41OTYtNC41NThxLjAxNi0xLjAyLS40NDQtMS40MzItLjQ2LS40MjgtMS4zMTYtLjQyOC0xLjcyOCAwLTEuOTkxIDEuODZ6Jy8lM0UlM0NwYXRoIGQ9J001LjA3NCAxNS45NDhhLjQ4NC42NTcgMCAwIDAtLjQ4Ni42NTl2MS44NGEuNDg0LjY1NyAwIDAgMCAuNDg2LjY1OWg0LjEwMWEuNDg0LjY1NyAwIDAgMCAuNDg2LS42NTl2LTEuODRhLjQ4NC42NTcgMCAwIDAtLjQ4Ni0uNjU5em0zLjU2IDEuMTZINS42MTd2LjgzOGgzLjAxN3onIHN0eWxlPSdmaWxsOiUyM2ZmZjtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2Utd2lkdGg6MS4wMzYwMDAwMScvJTNFJTNDZyBzdHlsZT0nc3Ryb2tlLXdpZHRoOjEuMTI2MDM1NDUnJTNFJTNDcGF0aCBkPSdNLTkuNDA4LTEuNDE2Yy0zLjgzMy0uMDI1LTcuMDU2IDIuOTEyLTcuMDggNi42MTUtLjAyIDMuMDggMS42NTMgNC44MzIgMy4xMDcgNi4yNjguOTAzLjg5MiAxLjcyMSAxLjc0IDIuMzIgMi45MDJsLS41MjUtLjAwNGMtLjU0My0uMDAzLS45OTIuMzA0LTEuMjQuNjM5YTEuODcgMS44NyAwIDAgMC0uMzYyIDEuMTIxbC0uMDExIDEuODc3Yy0uMDAzLjQwMi4xMDQuNzg3LjM0NyAxLjEyNS4yNDQuMzM4LjY4OC42NTMgMS4yMy42NTZsNC4xNDIuMDI4Yy41NDIuMDAzLjk5LS4zMDYgMS4yMzgtLjY0MWExLjg3IDEuODcgMCAwIDAgLjM2My0xLjEyMWwuMDEyLTEuODc1YTEuODcgMS44NyAwIDAgMC0uMzQ4LTEuMTI3Yy0uMjQzLS4zMzgtLjY4OC0uNjUzLTEuMjMtLjY1NmwtLjUxOC0uMDA0Yy41OTctMS4xNDUgMS40MjUtMS45ODMgMi4zNDgtMi44NyAxLjQ3My0xLjQxNCAzLjE4LTMuMTQ5IDMuMi02LjIyNi0uMDE2LTMuNTktMi45MjMtNi42ODQtNi45OTMtNi43MDdtLS4wMDYgMS4xdi4wMDJjMy4yNzQuMDIgNS45MiAyLjUzMiA1LjkgNS42LS4wMTcgMi43MDYtMS4zOSA0LjAyNi0yLjg2MyA1LjQ0LTEuMDM0Ljk5NC0yLjExOCAyLjAzMy0yLjgxNCAzLjYzMy0uMDE4LjA0MS0uMDUyLjA1NS0uMDc1LjA2NXEtLjAxMy4wMDQtLjAyLjAxYS4zNC4zNCAwIDAgMS0uMjI2LjA4NC4zNC4zNCAwIDAgMS0uMjI0LS4wODZsLS4wOTItLjA3N2MtLjY5OS0xLjYxNS0xLjc2OC0yLjY2OS0yLjc4MS0zLjY3LTEuNDU0LTEuNDM1LTIuNzk3LTIuNzYyLTIuNzgtNS40NzguMDItMy4wNjcgMi43LTUuNTQ1IDUuOTc1LTUuNTIzbS0uMDIgMi44MjZjLTEuNjItLjAxLTIuOTQ0IDEuMzE1LTIuOTU1IDIuOTYtLjAxIDEuNjQ2IDEuMjk1IDIuOTg4IDIuOTE2IDIuOTk5aC4wMDJjMS42MjEuMDEgMi45NDMtMS4zMTYgMi45NTMtMi45NjEuMDExLTEuNjQ2LTEuMjk0LTIuOTg4LTIuOTE2LTIuOTk4bS0uMDA1IDEuMWMxLjAxNy4wMDYgMS44MjkuODMgMS44MjIgMS44OXMtLjgzIDEuODc0LTEuODQ4IDEuODY3Yy0xLjAxOC0uMDA2LTEuODI5LS44My0xLjgyMi0xLjg5cy44My0xLjg3NCAxLjg0OC0xLjg2OG0tMi4xNTUgMTEuODU3IDQuMTQuMDI1Yy4yNzEuMDAyLjQ5LjMwNS40ODcuNjc2bC0uMDEzIDEuODc1Yy0uMDAzLjM3LS4yMjQuNjctLjQ5NS42NjhsLTQuMTQtLjAyNWMtLjI3LS4wMDItLjQ4Ny0uMzA2LS40ODUtLjY3NmwuMDEyLTEuODc1Yy4wMDMtLjM3LjIyNC0uNjcuNDk0LS42NjgnIHN0eWxlPSdjb2xvcjolMjMwMDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6bWVkaXVtO2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1wb3NpdGlvbjpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQtdmFyaWFudC1udW1lcmljOm5vcm1hbDtmb250LXZhcmlhbnQtYWx0ZXJuYXRlczpub3JtYWw7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bm9uZTt0ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiUyMzAwMDtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO3dyaXRpbmctbW9kZTpsci10YjtkaXJlY3Rpb246bHRyO3RleHQtb3JpZW50YXRpb246bWl4ZWQ7ZG9taW5hbnQtYmFzZWxpbmU6YXV0bztiYXNlbGluZS1zaGlmdDpiYXNlbGluZTt0ZXh0LWFuY2hvcjpzdGFydDt3aGl0ZS1zcGFjZTpub3JtYWw7c2hhcGUtcGFkZGluZzowO2NsaXAtcnVsZTpldmVub2RkO2Rpc3BsYXk6aW5saW5lO292ZXJmbG93OnZpc2libGU7dmlzaWJpbGl0eTp2aXNpYmxlO29wYWNpdHk6MTtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7Y29sb3ItaW50ZXJwb2xhdGlvbjpzUkdCO2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpsaW5lYXJSR0I7c29saWQtY29sb3I6JTIzMDAwO3NvbGlkLW9wYWNpdHk6MTt2ZWN0b3ItZWZmZWN0Om5vbmU7ZmlsbDolMjMwMDA7ZmlsbC1vcGFjaXR5Oi40O2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1kYXNob2Zmc2V0OjA7c3Ryb2tlLW9wYWNpdHk6MTtjb2xvci1yZW5kZXJpbmc6YXV0bztpbWFnZS1yZW5kZXJpbmc6YXV0bztzaGFwZS1yZW5kZXJpbmc6YXV0bzt0ZXh0LXJlbmRlcmluZzphdXRvJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0NwYXRoIGQ9J00tOS40MTUtLjMxNkMtMTIuNjktLjMzOC0xNS4zNyAyLjE0LTE1LjM5IDUuMjA3Yy0uMDE3IDIuNzE2IDEuMzI2IDQuMDQxIDIuNzggNS40NzcgMS4wMTMgMSAyLjA4MSAyLjA1NSAyLjc4IDMuNjdsLjA5Mi4wNzZhLjM0LjM0IDAgMCAwIC4yMjUuMDg2LjM0LjM0IDAgMCAwIC4yMjctLjA4M2wuMDE5LS4wMWMuMDIyLS4wMDkuMDU3LS4wMjQuMDc0LS4wNjQuNjk3LTEuNiAxLjc4LTIuNjQgMi44MTQtMy42MzQgMS40NzMtMS40MTQgMi44NDctMi43MzMgMi44NjQtNS40NC4wMi0zLjA2Ny0yLjYyNy01LjU4LTUuOTAxLTUuNjAxbS0uMDU3IDguNzg0YzEuNjIxLjAxMSAyLjk0NC0xLjMxNSAyLjk1NS0yLjk2LjAxLTEuNjQ2LTEuMjk1LTIuOTg4LTIuOTE2LTIuOTk5LTEuNjIyLS4wMS0yLjk0NSAxLjMxNS0yLjk1NSAyLjk2czEuMjk1IDIuOTg5IDIuOTE2IDMnIHN0eWxlPSdjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiUyM2UxZTNlOTtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6Mi40NzcyNzgyMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eTouNCcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMTUuNTUzIDIuODUpc2NhbGUoLjg4ODA3KScvJTNFJTNDcGF0aCBkPSdNLTExLjU5NCAxNS40NjVjLS4yNy0uMDAyLS40OTIuMjk3LS40OTQuNjY4bC0uMDEyIDEuODc2Yy0uMDAzLjM3MS4yMTQuNjczLjQ4NS42NzVsNC4xNC4wMjdjLjI3MS4wMDIuNDkyLS4yOTguNDk1LS42NjhsLjAxMi0xLjg3N2MuMDAzLS4zNy0uMjE1LS42NzItLjQ4NS0uNjc0eicgc3R5bGU9J2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6JTIzZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjQ3NzI3ODIzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5Oi40JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgxNS41NTMgMi44NSlzY2FsZSguODg4MDcpJy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIil9fS5tYXBsaWJyZWdsLWN0cmwubWFwbGlicmVnbC1jdHJsLWF0dHJpYntiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC41KTttYXJnaW46MDtwYWRkaW5nOjAgNXB4fUBtZWRpYSBzY3JlZW57Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0e2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjEycHg7Ym94LXNpemluZzpjb250ZW50LWJveDtjb2xvcjojMDAwO21hcmdpbjoxMHB4O21pbi1oZWlnaHQ6MjBweDtwYWRkaW5nOjJweCAyNHB4IDJweCAwO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdC1zaG93e3BhZGRpbmc6MnB4IDI4cHggMnB4IDhweDt2aXNpYmlsaXR5OnZpc2libGV9Lm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdD4ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Qtc2hvdywubWFwbGlicmVnbC1jdHJsLXRvcC1sZWZ0Pi5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdC1zaG93e2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjJweCA4cHggMnB4IDI4cHh9Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0IC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWlubmVye2Rpc3BsYXk6bm9uZX0ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1idXR0b257YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuNSk7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGwtcnVsZT0nZXZlbm9kZCcgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTQgMTBhNiA2IDAgMSAwIDEyIDAgNiA2IDAgMSAwLTEyIDBtNS0zYTEgMSAwIDEgMCAyIDAgMSAxIDAgMSAwLTIgMG0wIDNhMSAxIDAgMSAxIDIgMHYzYTEgMSAwIDEgMS0yIDAnLyUzRSUzQy9zdmclM0VcIik7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Om5vbmU7aGVpZ2h0OjI0cHg7b3V0bGluZTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MjRweH0ubWFwbGlicmVnbC1jdHJsLWF0dHJpYiBzdW1tYXJ5Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWItYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtsaXN0LXN0eWxlOm5vbmV9Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIgc3VtbWFyeS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLWJ1dHRvbjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9Lm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tbGVmdCAubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1idXR0b24sLm1hcGxpYnJlZ2wtY3RybC10b3AtbGVmdCAubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1idXR0b257bGVmdDowfS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliLm1hcGxpYnJlZ2wtY29tcGFjdCAubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1idXR0b24sLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0LXNob3cgLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWItaW5uZXJ7ZGlzcGxheTpibG9ja30ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Qtc2hvdyAubWFwbGlicmVnbC1jdHJsLWF0dHJpYi1idXR0b257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNSl9Lm1hcGxpYnJlZ2wtY3RybC1ib3R0b20tcmlnaHQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0OmFmdGVye2JvdHRvbTowO3JpZ2h0OjB9Lm1hcGxpYnJlZ2wtY3RybC10b3AtcmlnaHQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0OmFmdGVye3JpZ2h0OjA7dG9wOjB9Lm1hcGxpYnJlZ2wtY3RybC10b3AtbGVmdD4ubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Q6YWZ0ZXJ7bGVmdDowO3RvcDowfS5tYXBsaWJyZWdsLWN0cmwtYm90dG9tLWxlZnQ+Lm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIubWFwbGlicmVnbC1jb21wYWN0OmFmdGVye2JvdHRvbTowO2xlZnQ6MH19QG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Q6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGw9JyUyM2ZmZicgZmlsbC1ydWxlPSdldmVub2RkJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBkPSdNNCAxMGE2IDYgMCAxIDAgMTIgMCA2IDYgMCAxIDAtMTIgMG01LTNhMSAxIDAgMSAwIDIgMCAxIDEgMCAxIDAtMiAwbTAgM2ExIDEgMCAxIDEgMiAwdjNhMSAxIDAgMSAxLTIgMCcvJTNFJTNDL3N2ZyUzRVwiKX19QG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXsubWFwbGlicmVnbC1jdHJsLWF0dHJpYi5tYXBsaWJyZWdsLWNvbXBhY3Q6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIGZpbGwtcnVsZT0nZXZlbm9kZCcgdmlld0JveD0nMCAwIDIwIDIwJyUzRSUzQ3BhdGggZD0nTTQgMTBhNiA2IDAgMSAwIDEyIDAgNiA2IDAgMSAwLTEyIDBtNS0zYTEgMSAwIDEgMCAyIDAgMSAxIDAgMSAwLTIgMG0wIDNhMSAxIDAgMSAxIDIgMHYzYTEgMSAwIDEgMS0yIDAnLyUzRSUzQy9zdmclM0VcIil9fS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliIGF7Y29sb3I6cmdiYSgwLDAsMCwuNzUpO3RleHQtZGVjb3JhdGlvbjpub25lfS5tYXBsaWJyZWdsLWN0cmwtYXR0cmliIGE6aG92ZXJ7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5tYXBsaWJyZWdsLWF0dHJpYi1lbXB0eXtkaXNwbGF5Om5vbmV9Lm1hcGxpYnJlZ2wtY3RybC1zY2FsZXtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC43NSk7Ym9yZGVyOjJweCBzb2xpZCAjMzMzO2JvcmRlci10b3A6IzMzMztib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6IzMzMztmb250LXNpemU6MTBweDtwYWRkaW5nOjAgNXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ubWFwbGlicmVnbC1wb3B1cHtkaXNwbGF5OmZsZXg7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci10b3AsLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcC1sZWZ0LC5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci10b3AtcmlnaHR7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1ib3R0b20sLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1sZWZ0LC5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1ib3R0b20tcmlnaHR7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2V9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWxlZnR7ZmxleC1kaXJlY3Rpb246cm93fS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1yaWdodHtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZX0ubWFwbGlicmVnbC1wb3B1cC10aXB7Ym9yZGVyOjEwcHggc29saWQgdHJhbnNwYXJlbnQ7aGVpZ2h0OjA7d2lkdGg6MDt6LWluZGV4OjF9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcCAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpjZW50ZXI7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmO2JvcmRlci10b3A6bm9uZX0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLWxlZnQgLm1hcGxpYnJlZ2wtcG9wdXAtdGlwe2FsaWduLXNlbGY6ZmxleC1zdGFydDtib3JkZXItYm90dG9tLWNvbG9yOiNmZmY7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItdG9wOm5vbmV9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcC1yaWdodCAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpmbGV4LWVuZDtib3JkZXItYm90dG9tLWNvbG9yOiNmZmY7Ym9yZGVyLXJpZ2h0Om5vbmU7Ym9yZGVyLXRvcDpub25lfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1ib3R0b20gLm1hcGxpYnJlZ2wtcG9wdXAtdGlwe2FsaWduLXNlbGY6Y2VudGVyO2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItdG9wLWNvbG9yOiNmZmZ9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1sZWZ0IC5tYXBsaWJyZWdsLXBvcHVwLXRpcHthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXRvcC1jb2xvcjojZmZmfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1ib3R0b20tcmlnaHQgLm1hcGxpYnJlZ2wtcG9wdXAtdGlwe2FsaWduLXNlbGY6ZmxleC1lbmQ7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1yaWdodDpub25lO2JvcmRlci10b3AtY29sb3I6I2ZmZn0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItbGVmdCAubWFwbGlicmVnbC1wb3B1cC10aXB7YWxpZ24tc2VsZjpjZW50ZXI7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItcmlnaHQtY29sb3I6I2ZmZn0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItcmlnaHQgLm1hcGxpYnJlZ2wtcG9wdXAtdGlwe2FsaWduLXNlbGY6Y2VudGVyO2JvcmRlci1sZWZ0LWNvbG9yOiNmZmY7Ym9yZGVyLXJpZ2h0Om5vbmV9W2Rpcj1ydGxdIC5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1sZWZ0e2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfVtkaXI9cnRsXSAubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItcmlnaHR7ZmxleC1kaXJlY3Rpb246cm93fVtkaXI9cnRsXSAubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLWxlZnQgLm1hcGxpYnJlZ2wtcG9wdXAtdGlwe2FsaWduLXNlbGY6ZmxleC1lbmR9W2Rpcj1ydGxdIC5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci10b3AtcmlnaHQgLm1hcGxpYnJlZ2wtcG9wdXAtdGlwe2FsaWduLXNlbGY6ZmxleC1zdGFydH1bZGlyPXJ0bF0gLm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1sZWZ0IC5tYXBsaWJyZWdsLXBvcHVwLXRpcHthbGlnbi1zZWxmOmZsZXgtZW5kfVtkaXI9cnRsXSAubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItYm90dG9tLXJpZ2h0IC5tYXBsaWJyZWdsLXBvcHVwLXRpcHthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lm1hcGxpYnJlZ2wtcG9wdXAtY2xvc2UtYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czowIDNweCAwIDA7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ubWFwbGlicmVnbC1wb3B1cC1jbG9zZS1idXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNSl9Lm1hcGxpYnJlZ2wtcG9wdXAtY29udGVudHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7cGFkZGluZzoxNXB4IDEwcHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ubWFwbGlicmVnbC1wb3B1cC1hbmNob3ItdG9wLWxlZnQgLm1hcGxpYnJlZ2wtcG9wdXAtY29udGVudHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjB9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLXRvcC1yaWdodCAubWFwbGlicmVnbC1wb3B1cC1jb250ZW50e2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9Lm1hcGxpYnJlZ2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1sZWZ0IC5tYXBsaWJyZWdsLXBvcHVwLWNvbnRlbnR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5tYXBsaWJyZWdsLXBvcHVwLWFuY2hvci1ib3R0b20tcmlnaHQgLm1hcGxpYnJlZ2wtcG9wdXAtY29udGVudHtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5tYXBsaWJyZWdsLXBvcHVwLXRyYWNrLXBvaW50ZXJ7ZGlzcGxheTpub25lfS5tYXBsaWJyZWdsLXBvcHVwLXRyYWNrLXBvaW50ZXIgKntwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubWFwbGlicmVnbC1tYXA6aG92ZXIgLm1hcGxpYnJlZ2wtcG9wdXAtdHJhY2stcG9pbnRlcntkaXNwbGF5OmZsZXh9Lm1hcGxpYnJlZ2wtbWFwOmFjdGl2ZSAubWFwbGlicmVnbC1wb3B1cC10cmFjay1wb2ludGVye2Rpc3BsYXk6bm9uZX0ubWFwbGlicmVnbC1tYXJrZXJ7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3RyYW5zaXRpb246b3BhY2l0eSAuMnM7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90LC5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiMxZGExZjI7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjE1cHg7d2lkdGg6MTVweH0ubWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWRvdDpiZWZvcmV7YW5pbWF0aW9uOm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3QtcHVsc2UgMnMgaW5maW5pdGU7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlfS5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90OmFmdGVye2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjAgMCAzcHggcmdiYSgwLDAsMCwuMzUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250ZW50OlwiXCI7aGVpZ2h0OjE5cHg7bGVmdDotMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMnB4O3dpZHRoOjE5cHh9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7Lm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3Q6YmVmb3Jle2FuaW1hdGlvbjpub25lfX1Aa2V5ZnJhbWVzIG1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3QtcHVsc2V7MCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX03MCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgzKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlKDEpfX0ubWFwbGlicmVnbC11c2VyLWxvY2F0aW9uLWRvdC1zdGFsZXtiYWNrZ3JvdW5kLWNvbG9yOiNhYWF9Lm1hcGxpYnJlZ2wtdXNlci1sb2NhdGlvbi1kb3Qtc3RhbGU6YWZ0ZXJ7ZGlzcGxheTpub25lfS5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tYWNjdXJhY3ktY2lyY2xle2JhY2tncm91bmQtY29sb3I6IzFkYTFmMjMzO2JvcmRlci1yYWRpdXM6MTAwJTtoZWlnaHQ6MXB4O3dpZHRoOjFweH0ubWFwbGlicmVnbC1jcm9zc2hhaXIsLm1hcGxpYnJlZ2wtY3Jvc3NoYWlyIC5tYXBsaWJyZWdsLWludGVyYWN0aXZlLC5tYXBsaWJyZWdsLWNyb3NzaGFpciAubWFwbGlicmVnbC1pbnRlcmFjdGl2ZTphY3RpdmV7Y3Vyc29yOmNyb3NzaGFpcn0ubWFwbGlicmVnbC1ib3h6b29te2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MnB4IGRvdHRlZCAjMjAyMDIwO2hlaWdodDowO2xlZnQ6MDtvcGFjaXR5Oi41O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjB9Lm1hcGxpYnJlZ2wtY29vcGVyYXRpdmUtZ2VzdHVyZS1zY3JlZW57YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNCk7Y29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjEuNGVtO2luc2V0OjA7anVzdGlmeS1jb250ZW50OmNlbnRlcjtsaW5lLWhlaWdodDoxLjI7b3BhY2l0eTowO3BhZGRpbmc6MXJlbTtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zaXRpb246b3BhY2l0eSAxcyBlYXNlIDFzO3otaW5kZXg6OTk5OTl9Lm1hcGxpYnJlZ2wtY29vcGVyYXRpdmUtZ2VzdHVyZS1zY3JlZW4ubWFwbGlicmVnbC1zaG93e29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjA1c30ubWFwbGlicmVnbC1jb29wZXJhdGl2ZS1nZXN0dXJlLXNjcmVlbiAubWFwbGlicmVnbC1tb2JpbGUtbWVzc2FnZXtkaXNwbGF5Om5vbmV9QG1lZGlhIChob3Zlcjpub25lKSwocG9pbnRlcjpjb2Fyc2Upey5tYXBsaWJyZWdsLWNvb3BlcmF0aXZlLWdlc3R1cmUtc2NyZWVuIC5tYXBsaWJyZWdsLWRlc2t0b3AtbWVzc2FnZXtkaXNwbGF5Om5vbmV9Lm1hcGxpYnJlZ2wtY29vcGVyYXRpdmUtZ2VzdHVyZS1zY3JlZW4gLm1hcGxpYnJlZ2wtbW9iaWxlLW1lc3NhZ2V7ZGlzcGxheTpibG9ja319Lm1hcGxpYnJlZ2wtcHNldWRvLWZ1bGxzY3JlZW57aGVpZ2h0OjEwMCUhaW1wb3J0YW50O2xlZnQ6MCFpbXBvcnRhbnQ7cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50O3RvcDowIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDt6LWluZGV4Ojk5OTk5fSIsbnVsbCwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9CZWFjb25MaXN0SXRlbSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTEyIDA7XHJcblxyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzeXN0ZW07XHJcblxyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubXhfQmVhY29uTGlzdEl0ZW1fYXZhdGFySWNvbiB7XHJcbiAgICBmbGV4OiAwIDA7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICB3aWR0aDogMzJweDtcclxufVxyXG5cclxuLm14X0JlYWNvbkxpc3RJdGVtX2F2YXRhciB7XHJcbiAgICBmbGV4OiAwIDA7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRsb2NhdGlvbi1saXZlLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG4ubXhfQmVhY29uTGlzdEl0ZW1faW5mbyB7XHJcbiAgICBmbGV4OiAxIDEgMDtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxufVxyXG5cclxuLm14X0JlYWNvbkxpc3RJdGVtX3N0YXR1cyB7XHJcbiAgICAvKiBvdmVycmlkZSBiZWFjb24gc3RhdHVzIHBhZGRpbmcgKi9cclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTg7XHJcblxyXG4gICAgLm14X0JlYWNvblN0YXR1c19sYWJlbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9CZWFjb25MaXN0SXRlbV9sYXN0VXBkYXRlZCB7XHJcbiAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEwcHg7XHJcbn1cclxuXHJcbi5teF9CZWFjb25MaXN0SXRlbV9pbnRlcmFjdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9CZWFjb25TdGF0dXMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy04O1xyXG5cclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvcik7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbn1cclxuXHJcbi5teF9CZWFjb25TdGF0dXNfTG9hZGluZyxcclxuLm14X0JlYWNvblN0YXR1c19TdG9wcGVkIHtcclxuICAgIC0tY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfQmVhY29uU3RhdHVzX0FjdGl2ZSxcclxuLm14X0JlYWNvblN0YXR1c19FcnJvciB7XHJcbiAgICAtLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfQmVhY29uU3RhdHVzX2ljb24ge1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgd2lkdGg6IDMycHg7XHJcblxyXG4gICAgZmxleDogMCAwIDMycHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTg7XHJcbn1cclxuXHJcbi5teF9CZWFjb25TdGF0dXNfZGVzY3JpcHRpb24ge1xyXG4gICAgZmxleDogMSAxIDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNHB4O1xyXG5cclxuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLTg7XHJcblxyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgLm14X0JlYWNvblN0YXR1c19kZXNjcmlwdGlvbl9zdGF0dXMge1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9CZWFjb25TdGF0dXNfZXhwaXJ5VGltZSB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfQmVhY29uU3RhdHVzX2xhYmVsIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDJweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0JlYWNvblN0YXR1c1Rvb2x0aXAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA0MnB4O1xyXG4gICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgIGhlaWdodDogMzhweDtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTg7XHJcbn1cclxuXHJcbi5teF9CZWFjb25TdGF0dXNUb29sdGlwX2lubmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGJhY2tncm91bmQ6ICRtZW51LWJnLWNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogNHB4IDRweCAxMnB4IDAgJG1lbnUtYm94LXNoYWRvdy1jb2xvcjtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0JlYWNvblZpZXdEaWFsb2dfd3JhcHBlciAubXhfRGlhbG9nIHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuXHJcbiAgICAvKiBVbnNldCBjb250YWluIGFuZCBwb3NpdGlvbiB0byBhbGxvdyB0aGUgY2xvc2UgYnV0dG9uXHJcbiAgICB0byBhcHBlYXIgb3V0c2lkZSB0aGUgZGlhbG9nICovXHJcbiAgICBjb250YWluOiB1bnNldDtcclxuICAgIHBvc2l0aW9uOiB1bnNldDtcclxufVxyXG5cclxuLm14X0JlYWNvblZpZXdEaWFsb2cge1xyXG4gICAgLyogc3VidHJhY3QgMC41cHggdG8gcHJldmVudCBzaW5nbGUtcGl4ZWwgbWFyZ2luIGR1ZSB0byByb3VuZGluZyAqL1xyXG4gICAgd2lkdGg6IGNhbGMoODB2dyAtIDAuNXB4KTtcclxuICAgIGhlaWdodDogY2FsYyg4MHZoIC0gMC41cHgpO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAvKiBzaWRlYmFyIGlzIGFic29sdXRlbHkgcG9zaXRpb25lZCBpbnNpZGUgKi9cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAubXhfRGlhbG9nX2hlYWRlciB7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcclxuXHJcbiAgICAgICAgLm14X0RpYWxvZ190aXRsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRGlhbG9nX2NhbmNlbEJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDQwMTA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgcmlnaHQ6IDV2dztcclxuICAgICAgICAgICAgdG9wOiA1dmg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaWFsb2ctY2xvc2UtZXh0ZXJuYWwtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQmVhY29uVmlld0RpYWxvZ19tYXAge1xyXG4gICAgd2lkdGg6IDgwdnc7XHJcbiAgICBoZWlnaHQ6IDgwdmg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbn1cclxuXHJcbi5teF9CZWFjb25WaWV3RGlhbG9nX21hcEZhbGxiYWNrTWVzc2FnZSB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMTY7XHJcbn1cclxuXHJcbi5teF9CZWFjb25WaWV3RGlhbG9nX3ZpZXdMaXN0QnV0dG9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogJHNwYWNpbmctMjQ7XHJcbiAgICBsZWZ0OiAkc3BhY2luZy0yNDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0RpYWxvZ093bkJlYWNvblN0YXR1cyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206ICRzcGFjaW5nLTMyO1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xNTBweDtcclxuICAgIGxlZnQ6IDUwJTtcclxuXHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJveC1zaGFkb3c6IDRweCA0cHggMTJweCAwICRtZW51LWJveC1zaGFkb3ctY29sb3I7XHJcblxyXG4gICAgcGFkZGluZzogMCAkc3BhY2luZy0xMjtcclxufVxyXG5cclxuLm14X0RpYWxvZ093bkJlYWNvblN0YXR1c19hdmF0YXJJY29uIHtcclxuICAgIGZsZXg6IDAgMDtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgbWFyZ2luOiAkc3BhY2luZy04IDAgJHNwYWNpbmctOCAwO1xyXG59XHJcblxyXG4ubXhfRGlhbG9nT3duQmVhY29uU3RhdHVzX2F2YXRhciB7XHJcbiAgICBmbGV4OiAwIDA7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRsb2NhdGlvbi1saXZlLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgbWFyZ2luOiAkc3BhY2luZy04IDAgJHNwYWNpbmctOCAwO1xyXG59XHJcblxyXG4ubXhfRGlhbG9nT3duQmVhY29uU3RhdHVzX3N0YXR1cyB7XHJcbiAgICBmbGV4OiAxIDE7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGlhbG9nU2lkZWJhciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDI2NXB4O1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0xNjtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGJveC1zaGFkb3c6IDBweCA0cHggNHB4ICRtZW51LWJveC1zaGFkb3ctY29sb3I7XHJcblxyXG4gICAgLm14X0RpYWxvZ1NpZGViYXJfaGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICBmbGV4OiAwIDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMTY7XHJcblxyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAubXhfRGlhbG9nU2lkZWJhcl9jbG9zZUJ1dHRvbkljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dTaWRlYmFyX2xpc3Qge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZmxleDogMSAxIDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EaWFsb2dTaWRlYmFyX25vUmVzdWx0cyB7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xlZnRQYW5lbExpdmVTaGFyZVdhcm5pbmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMHB4O1xyXG5cclxuICAgIC8qIHBhbmVsIGJhY2tkcm9wcyBvdmVybGF5IHRoZSB3aG9sZSBzaWRlcGFuZWwgKi9cclxuICAgIC8qIGdvIGFib3ZlIHRvIGdldCBob3ZlciBmb3IgdGl0bGUgKi9cclxuICAgIHotaW5kZXg6IDE7XHJcbn1cclxuXHJcbi5teF9MZWZ0UGFuZWxMaXZlU2hhcmVXYXJuaW5nX19lcnJvciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MaXZlVGltZVJlbWFpbmluZyB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfT3duQmVhY29uU3RhdHVzX2J1dHRvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfT3duQmVhY29uU3RhdHVzX2J1dHRvbiB7XHJcbiAgICAvKiBhbGlnbiB0byB0b3AgdG8gbWFrZSByb29tIGZvciB0aW1lc3RhbXAgKi9cclxuICAgIC8qIGluIGJ1YmJsZSB2aWV3ICovXHJcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcclxufVxyXG5cclxuLm14X093bkJlYWNvblN0YXR1c19kZXN0cnVjdGl2ZUJ1dHRvbiB7XHJcbiAgICAvKiBvdmVycmlkZSBidXR0b24gbGlua19pbmxpbmUgc3R5bGVzICovXHJcbiAgICBjb2xvcjogJGFsZXJ0ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2hhcmVMYXRlc3RMb2NhdGlvbl9pY29uIHtcclxuICAgIGhlaWdodDogMTNweDtcclxuICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxufVxyXG5cclxuLyogZG91YmxlIGNsYXNzIHRvIGJlIG1vcmUgc3BlY2lmaWMgdGhhbiB0aGUgZ2VuZXJhbCBteF9Db3B5YWJsZVRleHQgQ1NTIHJ1bGUgKi9cclxuLm14X0NvcHlhYmxlVGV4dC5teF9TaGFyZUxhdGVzdExvY2F0aW9uX2NvcHkge1xyXG4gICAgLyogb3ZlcnJpZGUgY29weWFibGUgdGV4dCBzdHlsZSB0byBtYWtlIGNvbXBhY3QgKi9cclxuICAgIC5teF9Db3B5YWJsZVRleHRfY29weUJ1dHRvbiB7XHJcbiAgICAgICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy04ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICB3aWR0aDogMTNweDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1N0eWxlZExpdmVCZWFjb25JY29uIHtcclxuICAgIGZsZXgtZ3JvdzogMDtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbG9jYXRpb24tbGl2ZS1jb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGxvY2F0aW9uLWxpdmUtY29sb3I7XHJcbiAgICBwYWRkaW5nOiAycHg7XHJcbiAgICAvKiBjb2xvcnMgaWNvbiAqL1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4ubXhfU3R5bGVkTGl2ZUJlYWNvbkljb24ubXhfU3R5bGVkTGl2ZUJlYWNvbkljb25fZXJyb3Ige1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYWxlcnQ7XHJcbn1cclxuXHJcbi5teF9TdHlsZWRMaXZlQmVhY29uSWNvbi5teF9TdHlsZWRMaXZlQmVhY29uSWNvbl9pZGxlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbiAgICBib3JkZXItY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9LZWJhYkNvbnRleHRNZW51X2ljb24ge1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUG9sbERldGFpbEhlYWRlciB7XHJcbiAgICAvKiBvdmVycmlkZSBhY2Nlc3NpYmxlYnV0dG9uIHN0eWxlICovXHJcbiAgICBmb250LXNpemU6ICRmb250LTE1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm14X1BvbGxEZXRhaWxIZWFkZXJfaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Qb2xsTGlzdEl0ZW0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9Qb2xsTGlzdEl0ZW1fY29udGVudCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAkc3BhY2luZy04O1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bztcclxuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxufVxyXG5cclxuLm14X1BvbGxMaXN0SXRlbV9pY29uIHtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLTg7XHJcbn1cclxuXHJcbi5teF9Qb2xsTGlzdEl0ZW1fcXVlc3Rpb24ge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1BvbGxMaXN0SXRlbUVuZGVkIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfY29udGVudCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5teF9Qb2xsTGlzdEl0ZW1FbmRlZF90aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogJHNwYWNpbmctODtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgMWZyIG1pbi1jb250ZW50O1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xyXG59XHJcblxyXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICB3aWR0aDogMTRweDtcclxuICAgIGNvbG9yOiAkcXVhdGVybmFyeS1jb250ZW50O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy04O1xyXG59XHJcblxyXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfZGF0ZSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfcXVlc3Rpb24ge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLm14X1BvbGxMaXN0SXRlbUVuZGVkX2Fuc3dlcnMge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogJHNwYWNpbmctODtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTEyO1xyXG59XHJcblxyXG4ubXhfUG9sbExpc3RJdGVtRW5kZWRfdm90ZUNvdW50IHtcclxuICAgIC8qIDZweCB0byBtYXRjaCBQb2xsT3B0aW9uIHBhZGRpbmcgKi9cclxuICAgIG1hcmdpbjogJHNwYWNpbmctOCAwIDAgNnB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOS0yMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BcHBQZXJtaXNzaW9uIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIHdpZHRoOiAxMDAlOyAvKiBtYWtlIG14X0FwcFBlcm1pc3Npb24gZmlsbCB3aWR0aCBvZiBteF9BcHBUaWxlQm9keSBzbyB0aGF0IHNjcm9sbCBiYXIgYXBwZWFycyBvbiB0aGUgZWRnZSAqL1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgLm14X0FwcFBlcm1pc3Npb25fYm9sZGVyLFxyXG4gICAgLm14X0FwcFBlcm1pc3Npb25fY29udGVudF9ib2xkZXIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgfVxyXG4gICAgLm14X0FwcFBlcm1pc3Npb25fY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLWJsb2NrOiBhdXRvOyAvKiBwbGFjZSBhdCB0aGUgY2VudGVyICovXHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAxMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RleHRXaXRoVG9vbHRpcF90YXJnZXQtLWhlbHBJY29uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb250LTE0cHg7IC8qIGFsaWduIHdpdGggY2hhcmFjdGVycyBvbiB0aGUgc2FtZSBsaW5lICovXHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgICAgICAgICAubXhfSWNvbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjMgU3VndXJ1IEhpcmFoYXJhXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BcHBXYXJuaW5nIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTZweDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIGg0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ZpbHRlckRyb3Bkb3duIHtcclxuICAgIC5teF9Ecm9wZG93bl9tZW51IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy00O1xyXG4gICAgICAgIGxlZnQ6IHVuc2V0O1xyXG4gICAgICAgIHJpZ2h0OiAtJHNwYWNpbmctMTI7XHJcbiAgICAgICAgd2lkdGg6IDIzMnB4O1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTEyO1xyXG5cclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDNweCByZ2IoMjMsIDI1LCAyOCwgMC4wNSk7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzeXN0ZW07XHJcblxyXG4gICAgICAgIC5teF9Ecm9wZG93bl9vcHRpb25faGlnaGxpZ2h0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Ecm9wZG93bl9pbnB1dCB7XHJcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG4gICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Ryb3Bkb3duX2Fycm93IHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRmlsdGVyRHJvcGRvd25fb3B0aW9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTggMCAkc3BhY2luZy04ICRzcGFjaW5nLTIwO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9GaWx0ZXJEcm9wZG93bl9vcHRpb25TZWxlY3RlZEljb24ge1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6ICRzcGFjaW5nLTg7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG4ubXhfRmlsdGVyRHJvcGRvd25fb3B0aW9uTGFiZWwge1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLm14X0ZpbHRlckRyb3Bkb3duX29wdGlvbkRlc2NyaXB0aW9uIHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy00O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRmlsdGVyVGFiR3JvdXAge1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy0xMjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmICsgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmNoZWNrZWQgKyBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICAvKiB1bmRlcmxpbmUgKi9cclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxLjVweCAwIDAgY3VycmVudENvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xlYXJuTW9yZV9idXR0b24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9FbmFibGVMaXZlU2hhcmUge1xyXG4gICAgZmxleDogMSAxIDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTMyICRzcGFjaW5nLTE2O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLm14X0VuYWJsZUxpdmVTaGFyZV9oZWFkaW5nIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy0yNDtcclxufVxyXG5cclxuLm14X0VuYWJsZUxpdmVTaGFyZV9pY29uIHtcclxuICAgIGhlaWdodDogNThweDtcclxuICAgIHdpZHRoOiA1OHB4O1xyXG59XHJcblxyXG4ubXhfRW5hYmxlTGl2ZVNoYXJlX2Rlc2NyaXB0aW9uIHtcclxuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctMjQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0zMjtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMHB4O1xyXG59XHJcblxyXG4ubXhfRW5hYmxlTGl2ZVNoYXJlX2J1dHRvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0zMjtcclxuICAgIGhlaWdodDogNDhweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTGl2ZUR1cmF0aW9uRHJvcGRvd24ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMTY7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Mb2NhdGlvblNoYXJlTWVudSB7XHJcbiAgICB3aWR0aDogMzc1cHg7XHJcbiAgICBoZWlnaHQ6IDQ2MHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NYXBFcnJvciB7XHJcbiAgICBwYWRkaW5nOiAxMDBweCAkc3BhY2luZy0zMiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC0tbXgtbWFwLWVycm9yLWljb24tY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIC0tbXgtbWFwLWVycm9yLWljb24tc2l6ZTogNThweDtcclxufVxyXG5cclxuLm14X01hcEVycm9yLm14X01hcEVycm9yX2lzTWluaW1pc2VkIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0yNDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbHM7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMTZweDtcclxuXHJcbiAgICAtLW14LW1hcC1lcnJvci1pY29uLWNvbG9yOiAkYWxlcnQ7XHJcbiAgICAtLW14LW1hcC1lcnJvci1pY29uLXNpemU6IDI2cHg7XHJcblxyXG4gICAgLm14X01hcEVycm9yX21lc3NhZ2Uge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBtYXgtd2lkdGg6IDI3NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NYXBFcnJvcl9oZWFkaW5nIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctODtcclxuICAgICAgICAvKiBvdmVycmlkZSBoMyBoZWFkaW5nIHNpemUgKi9cclxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9NYXBFcnJvcl9tZXNzYWdlIHtcclxuICAgIG1hcmdpbjogJHNwYWNpbmctMTYgMCAkc3BhY2luZy0zMjtcclxufVxyXG5cclxuLm14X01hcEVycm9yX2hlYWRpbmcge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTI0O1xyXG59XHJcblxyXG4ubXhfTWFwRXJyb3JfaWNvbiB7XHJcbiAgICBoZWlnaHQ6IHZhcigtLW14LW1hcC1lcnJvci1pY29uLXNpemUpO1xyXG4gICAgd2lkdGg6IHZhcigtLW14LW1hcC1lcnJvci1pY29uLXNpemUpO1xyXG4gICAgY29sb3I6IHZhcigtLW14LW1hcC1lcnJvci1pY29uLWNvbG9yKTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01hcEZhbGxiYWNrIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDA7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcclxufVxyXG5cclxuLm14X01hcEZhbGxiYWNrX2JnIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLm14X01hcEZhbGxiYWNrX2ljb24ge1xyXG4gICAgd2lkdGg6IDY1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xNjtcclxuICAgIGNvbG9yOiAkcXVhdGVybmFyeS1jb250ZW50O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTWFya2VyX2RlZmF1bHRDb2xvciB7XHJcbiAgICBjb2xvcjogJGFjY2VudDtcclxufVxyXG5cclxuLm14X01hcmtlcl9ib3JkZXIge1xyXG4gICAgd2lkdGg6IDQycHg7XHJcbiAgICBoZWlnaHQ6IDQycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAzcHggNXB4IHJnYigwLCAwLCAwLCAwLjIpKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIC8qIGNhcmV0IGRvd24gKi9cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCBjdXJyZW50Q29sb3I7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogLTRweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X01hcmtlcl9pY29uIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGhlaWdodDogMjBweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQ1xyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2hhcmVEaWFsb2dCdXR0b25zIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG5idXR0b24ubXhfU2hhcmVEaWFsb2dCdXR0b25zX2J1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAkc3BhY2luZy0xNjtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAmLmxlZnQge1xyXG4gICAgICAgIGxlZnQ6ICRzcGFjaW5nLTE2O1xyXG4gICAgfVxyXG5cclxuICAgICYucmlnaHQge1xyXG4gICAgICAgIHJpZ2h0OiAkc3BhY2luZy0xNjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1NoYXJlRGlhbG9nQnV0dG9uc19idXR0b24taWNvbiB7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIG1hcmdpbjogMnB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2hhcmVUeXBlIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgcGFkZGluZzogNjBweCAkc3BhY2luZy0xMiAkc3BhY2luZy0zMjtcclxuXHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuXHJcbiAgICAubXhfU2hhcmVUeXBlX3dyYXBwZXJfb3B0aW9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHJvdy1nYXA6ICRzcGFjaW5nLTEyO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTEyO1xyXG5cclxuICAgICAgICAubXhfU2hhcmVUeXBlX29wdGlvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctOCAkc3BhY2luZy0yMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuXHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU2hhcmVUeXBlX2JhZGdlIHtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMjA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYm9yZGVyOiAxNHB4IHNvbGlkICRhY2NlbnQ7XHJcbiAgICAvKiBjb2xvcnMgaWNvbiAqL1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLm14X1NoYXJlVHlwZV9oZWFkaW5nIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy0zMjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm14X1NoYXJlVHlwZV9vcHRpb24taWNvbiB7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTEyO1xyXG4gICAgZmxleDogMCAwIDQwcHg7XHJcbiAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcblxyXG4gICAgLyogTGl2ZSBpcyBzdHlsZWQgYnkgU3R5bGVkTGl2ZUJlYWNvbkljb24gKi9cclxuXHJcbiAgICAmLk93biB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG5cclxuICAgICYuUGluIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICBwYWRkaW5nOiA3cHg7XHJcbiAgICAgICAgLyogY29sb3JzIGljb24gKi9cclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9ab29tQnV0dG9ucyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206ICRzcGFjaW5nLTMyO1xyXG4gICAgcmlnaHQ6ICRzcGFjaW5nLTI0O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICByb3ctZ2FwOiAkc3BhY2luZy04O1xyXG5cclxuICAgIC5teF9ab29tQnV0dG9uc19idXR0b24ge1xyXG4gICAgICAgICRab29tQnV0dG9uc19idXR0b24tc2l6ZTogMjRweDtcclxuXHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBoZWlnaHQ6ICRab29tQnV0dG9uc19idXR0b24tc2l6ZTtcclxuICAgICAgICB3aWR0aDogJFpvb21CdXR0b25zX2J1dHRvbi1zaXplO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggMTJweCByZ2IoMCwgMCwgMCwgMC4yNSk7XHJcblxyXG4gICAgICAgIC5teF9ab29tQnV0dG9uc19pY29uIHtcclxuICAgICAgICAgICAgJFpvb21CdXR0b25zX2ljb24tc2l6ZTogMTJweDtcclxuXHJcbiAgICAgICAgICAgIGhlaWdodDogJFpvb21CdXR0b25zX2ljb24tc2l6ZTtcclxuICAgICAgICAgICAgd2lkdGg6ICRab29tQnV0dG9uc19pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01CZWFjb25Cb2R5IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMjIwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDMyNXB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tTUJvZHktYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubXhfTUJlYWNvbkJvZHkubXhfTUJlYWNvbkJvZHlfd2l0aG91dE1hcCB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgLm14X01CZWFjb25Cb2R5X2NoaW4ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X01CZWFjb25Cb2R5X3dpdGhvdXRNYXBDb250ZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbHM7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi5teF9NQmVhY29uQm9keV93aXRob3V0TWFwSW5mb0xhc3RVcGRhdGVkIHtcclxuICAgIC8qIDQ4cHggbGluZXMgdXAgd2l0aCBpY29uIGluIEJlYWNvblN0YXR1cyAqL1xyXG4gICAgbWFyZ2luLXRvcDogLSRzcGFjaW5nLTg7XHJcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLTggJHNwYWNpbmctOCA0OHB4O1xyXG5cclxuICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTBweDtcclxufVxyXG5cclxuLm14X01CZWFjb25Cb2R5X21hcCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDA7IC8qIGtlZXBzIHRoZSBlbnRpcmUgbWFwIHVuZGVyIHRoZSBtZXNzYWdlIGFjdGlvbiBiYXJzICovXHJcblxyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubXhfTUJlYWNvbkJvZHlfbWFwRmFsbGJhY2ssXHJcbi5teF9NQmVhY29uQm9keV9tYXBFcnJvciB7XHJcbiAgICAvKiBwdXNoZXMgc3Bpbm5lci9pY29uIHVwICovXHJcbiAgICAvKiB0byBhcHBlYXIgbW9yZSBjZW50ZXJlZCB3aXRoIHRoZSBmb290ZXIgKi9cclxuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5teF9NQmVhY29uQm9keV9tYXBFcnJvckludGVyYWN0aXZlIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLm14X01CZWFjb25Cb2R5X21hcEZhbGxiYWNrIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLm14X01CZWFjb25Cb2R5X2NoaW4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4gICAgb3BhY2l0eTogMC44NTtcclxufVxyXG5cclxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01CZWFjb25Cb2R5IHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiA0NTBweDtcclxufVxyXG5cclxuLm14X1JlcGx5VGlsZSAubXhfTUJlYWNvbkJvZHkge1xyXG4gICAgLyogUHJldmVudCBjbGlja2luZyBhIGJlYWNvbiB3aXRoaW4gYSByZXBseSAqL1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NZWRpYVByb2Nlc3NpbmdFcnJvcl9JY29uIHtcclxuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctNDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1BvbGxPcHRpb24ge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcblxyXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NvbnRlbnQsXHJcbiAgICAubXhfUG9sbE9wdGlvbl9lbmRlZE9wdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDJweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25fc3BhY2VyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUG9sbE9wdGlvbixcclxuLyogbGFiZWwgaGFzIGN1cnNvcjogZGVmYXVsdCBpbiB1c2VyLWFnZW50IHN0eWxlc2hlZXQgKi9cclxuLyogb3ZlcnJpZGUgKi9cclxuLm14X1BvbGxPcHRpb25fbGl2ZS1vcHRpb24ge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubXhfUG9sbE9wdGlvbl9jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5teF9Qb2xsT3B0aW9uX29wdGlvblZvdGVDb3VudCB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLm14X1BvbGxPcHRpb25fd2lubmVySWNvbiB7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICB3aWR0aDogMTJweDtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1hY2NlbnQtdGVydGlhcnkpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy00O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLm14X1BvbGxPcHRpb25fY2hlY2tlZCB7XHJcbiAgICAubXhfUG9sbE9wdGlvbl9wb3B1bGFyaXR5QmFja2dyb3VuZCB7XHJcbiAgICAgICAgLm14X1BvbGxPcHRpb25fcG9wdWxhcml0eUFtb3VudCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBvdmVycmlkZSBjaGVja2VkIHJhZGlvIGJ1dHRvbiBzdHlsaW5nIHRvIHNob3cgY2hlY2ttYXJrIGluc3RlYWQgKi9cclxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jaGVja2VkIHtcclxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGRpdiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xyXG5cclxuICAgICAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogLTJweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1BvbGxPcHRpb25fZW5kZWQubXhfUG9sbE9wdGlvbl9jaGVja2VkIHtcclxuICAgIC5teF9Qb2xsT3B0aW9uX3BvcHVsYXJpdHlCYWNrZ3JvdW5kIHtcclxuICAgICAgICAubXhfUG9sbE9wdGlvbl9wb3B1bGFyaXR5QW1vdW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXRlcnRpYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogb3ZlcnJpZGUgY2hlY2tlZCByYWRpbyBidXR0b24gc3R5bGluZyB0byBzaG93IGNoZWNrbWFyayBpbnN0ZWFkICovXHJcbiAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25fY2hlY2tlZCB7XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBkaXYge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBvcHRpb25zIG5vdCBhY3Rpb25hYmxlIGluIHRoZXNlIHN0YXRlcyAqL1xyXG4ubXhfUG9sbE9wdGlvbl9jaGVja2VkLFxyXG4ubXhfUG9sbE9wdGlvbl9lbmRlZCB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLm14X1BvbGxPcHRpb25fcG9wdWxhcml0eUJhY2tncm91bmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDhweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzeXN0ZW07XHJcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG5cclxuICAgIC5teF9Qb2xsT3B0aW9uX3BvcHVsYXJpdHlBbW91bnQge1xyXG4gICAgICAgIHdpZHRoOiAwJTtcclxuICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbkNvcHlyaWdodCAyMDE5IE5ldyBWZWN0b3IgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi8qXHJcbiAqIFRoZXNlIHVzZWQgdG8gbGl2ZSBpbiBHZW5lcmFsIFVzZXIgU2V0dGluZ3MuIFRoZXNlIGNvbXBvbmVudHMgYXJlIGhvcnJpYmx5IGR1cGxpY2F0aXZlXHJcbiAqIGJ1dCBzaGFyZSB0aGUgc2FtZSBzdHlsZXMuIEZvciBub3cgSSdtIHB1dHRpbmcgdGhlbSBoZXJlIHNvIEkgY2FuIHJlbmFtZWQgdGhlIGdlbmVyYWxcclxuICogdGFiIHNlbnNpYmx5IGFuZCBiZWZvcmUgSSBjYW4gcmVmYWN0b3IgdGhlc2UgY29tcG9uZW50cy5cclxuICovXHJcblxyXG4ubXhfQWRkUmVtb3ZlVGhyZWVwaWRzX2V4aXN0aW5nIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfQWRkUmVtb3ZlVGhyZWVwaWRzX2V4aXN0aW5nX2FkZHJlc3MsXHJcbi5teF9BZGRSZW1vdmVUaHJlZXBpZHNfZXhpc3RpbmdfcHJvbXB0VGV4dCB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4ubXhfQWRkUmVtb3ZlVGhyZWVwaWRzX2V4aXN0aW5nX2J1dHRvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcblxyXG4ubXhfRW1haWxBZGRyZXNzZXNQaG9uZU51bWJlcnNfdmVyaWZ5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5teF9FbWFpbEFkZHJlc3Nlc1Bob25lTnVtYmVyc19leGlzdGluZ19idXR0b24ge1xyXG4gICAganVzdGlmeS1jb250ZW50OiByaWdodDtcclxufVxyXG5cclxuLm14X0VtYWlsQWRkcmVzc2VzUGhvbmVOdW1iZXJzX3ZlcmlmeV9pbnN0cnVjdGlvbnMge1xyXG4gICAgZmxleDogMTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0N1cnJlbnREZXZpY2VTZWN0aW9uX2RldmljZURldGFpbHMge1xyXG4gICAgLyogYWxpZ24gd2l0aCB0ZXh0IG9mIHNlc3Npb24gdGlsZSAqL1xyXG4gICAgbWFyZ2luLWxlZnQ6IDU2cHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EZXZpY2VEZXRhaWxIZWFkaW5nIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0RldmljZURldGFpbEhlYWRpbmdfcmVuYW1lQ3RhIHtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ubXhfRGV2aWNlRGV0YWlsSGVhZGluZ19yZW5hbWVGb3JtIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBnYXA6ICRzcGFjaW5nLTE2O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xyXG59XHJcblxyXG4ubXhfRGV2aWNlRGV0YWlsSGVhZGluZ19yZW5hbWVGb3JtQnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGdhcDogJHNwYWNpbmctODtcclxuXHJcbiAgICAubXhfU3Bpbm5lciB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRGV2aWNlRGV0YWlsSGVhZGluZ19yZW5hbWVGb3JtSW5wdXQge1xyXG4gICAgLyogb3ZlcnJpZGUgZmllbGQgc3R5bGVzICovXHJcbiAgICBtYXJnaW46IDAgMCAkc3BhY2luZy00IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm14X0RldmljZURldGFpbEhlYWRpbmdfcmVuYW1lRm9ybUhlYWRpbmcge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4ubXhfRGV2aWNlRGV0YWlsSGVhZGluZ19yZW5hbWVGb3JtRXJyb3Ige1xyXG4gICAgY29sb3I6ICRhbGVydDtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLTQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0RldmljZURldGFpbHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTE2O1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctMjQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfRGV2aWNlRGV0YWlsc19zZWN0aW9uIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy0yMDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTIwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogJHNwYWNpbmctMjQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EZXZpY2VEZXRhaWxzX3NlY3Rpb25IZWFkaW5nIHtcclxuICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAubXhfRGV2aWNlRGV0YWlsc19zZWN0aW9uU3ViaGVhZGluZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE0cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctNDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0RldmljZURldGFpbHNfbWV0YWRhdGFUYWJsZSB7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBib3JkZXItc3BhY2luZzogMDtcclxuXHJcbiAgICB0aCB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy04O1xyXG4gICAgfVxyXG5cclxuICAgIC5teERldmljZURldGFpbHNfbWV0YWRhdGFMYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teERldmljZURldGFpbHNfbWV0YWRhdGFWYWx1ZSB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EZXZpY2VEZXRhaWxzX3NpZ25PdXRCdXR0b25Db250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogJHNwYWNpbmctNDtcclxufVxyXG5cclxuLm14X0RldmljZURldGFpbHNfcHVzaE5vdGlmaWNhdGlvbnMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAubXhfVG9nZ2xlU3dpdGNoIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EZXZpY2VFeHBhbmREZXRhaWxzQnV0dG9uIHtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcclxuXHJcbiAgICAtLWljb24tdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRGV2aWNlRXhwYW5kRGV0YWlsc0J1dHRvbi5teF9EZXZpY2VFeHBhbmREZXRhaWxzQnV0dG9uX2V4cGFuZGVkIHtcclxuICAgIC0taWNvbi10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkc3lzdGVtO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EZXZpY2VFeHBhbmREZXRhaWxzQnV0dG9uX2ljb24ge1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICB0cmFuc2Zvcm06IHZhcigtLWljb24tdHJhbnNmb3JtKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0RldmljZVNlY3VyaXR5Q2FyZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTE2O1xyXG5cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbn1cclxuXHJcbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfaWNvbiB7XHJcbiAgICBmbGV4OiAwIDAgNDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTE2O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG5cclxuICAgIGNvbG9yOiB2YXIoLS1pY29uLWNvbG9yKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3IpO1xyXG5cclxuICAgICYuVmVyaWZpZWQge1xyXG4gICAgICAgIC0taWNvbi1jb2xvcjogJGUyZS12ZXJpZmllZC1jb2xvcjtcclxuICAgICAgICAtLWJhY2tncm91bmQtY29sb3I6ICRlMmUtdmVyaWZpZWQtY29sb3ItbGlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5VbnZlcmlmaWVkIHtcclxuICAgICAgICAtLWljb24tY29sb3I6ICRlMmUtd2FybmluZy1jb2xvcjtcclxuICAgICAgICAtLWJhY2tncm91bmQtY29sb3I6ICRlMmUtd2FybmluZy1jb2xvci1saWdodDtcclxuICAgIH1cclxuXHJcbiAgICAmLkluYWN0aXZlIHtcclxuICAgICAgICAtLWljb24tY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAtLWJhY2tncm91bmQtY29sb3I6ICRwYW5lbHM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EZXZpY2VTZWN1cml0eUNhcmRfY29udGVudCB7XHJcbiAgICBmbGV4OiAxIDE7XHJcbn1cclxuLm14X0RldmljZVNlY3VyaXR5Q2FyZF9oZWFkaW5nIHtcclxuICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLTQgMDtcclxufVxyXG4ubXhfRGV2aWNlU2VjdXJpdHlDYXJkX2Rlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfRGV2aWNlU2VjdXJpdHlDYXJkX2FjdGlvbnMge1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTY7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EZXZpY2VUaWxlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubXhfRGV2aWNlVGlsZV9pbnRlcmFjdGl2ZSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5teF9EZXZpY2VUaWxlX2luZm8ge1xyXG4gICAgZmxleDogMSAxIDA7XHJcbn1cclxuXHJcbi5teF9EZXZpY2VUaWxlX21ldGFkYXRhIHtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTQ7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxufVxyXG5cclxuLm14X0RldmljZVRpbGVfaW5hY3RpdmVJY29uIHtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5teF9EZXZpY2VUaWxlX2FjdGlvbnMge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogJHNwYWNpbmctODtcclxuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XHJcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctODtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0RldmljZVR5cGVJY29uIHtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xyXG4gICAgLyogY3JlYXRlcyBzcGFjZSBmb3IgdmVyaWZpY2F0aW9uIGljb24gdG8gb3ZlcmxhcCAqL1xyXG4gICAgcGFkZGluZzogMCAkc3BhY2luZy04ICRzcGFjaW5nLTggMDtcclxufVxyXG5cclxuLm14X0RldmljZVR5cGVJY29uX2RldmljZUljb25XcmFwcGVyIHtcclxuICAgIC0tYmFja2dyb3VuZC1jb2xvcjogJHBhbmVscztcclxuICAgIC0taWNvbi1jb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG5cclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICBib3JkZXI6ICRzcGFjaW5nLTggc29saWQgdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBjb2xvcjogdmFyKC0taWNvbi1jb2xvcik7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcclxufVxyXG5cclxuLm14X0RldmljZVR5cGVJY29uX3NlbGVjdGVkIC5teF9EZXZpY2VUeXBlSWNvbl9kZXZpY2VJY29uV3JhcHBlciB7XHJcbiAgICAtLWJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAtLWljb24tY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG59XHJcblxyXG4ubXhfRGV2aWNlVHlwZUljb25fZGV2aWNlSWNvbiB7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB3aWR0aDogMjRweDtcclxufVxyXG5cclxuLm14X0RldmljZVR5cGVJY29uX3ZlcmlmaWNhdGlvbkljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy00O1xyXG5cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICBjb2xvcjogdmFyKC0tdi1pY29uLWNvbG9yKTtcclxuXHJcbiAgICAmLnZlcmlmaWVkIHtcclxuICAgICAgICAtLXYtaWNvbi1jb2xvcjogJGUyZS12ZXJpZmllZC1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLnVudmVyaWZpZWQge1xyXG4gICAgICAgIC0tdi1pY29uLWNvbG9yOiAkZTJlLXdhcm5pbmctY29sb3I7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9GaWx0ZXJlZERldmljZUxpc3Qge1xyXG4gICAgLm14X0Ryb3Bkb3duIHtcclxuICAgICAgICBmbGV4OiAxIDAgODBweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdF9saXN0IHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBnYXA6ICRzcGFjaW5nLTE2O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMCAkc3BhY2luZy0xNjtcclxufVxyXG5cclxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdF9saXN0SXRlbSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdF9zZWN1cml0eUNhcmQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMzI7XHJcbn1cclxuXHJcbi5teF9GaWx0ZXJlZERldmljZUxpc3Rfbm9SZXN1bHRzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMzI7XHJcbn1cclxuXHJcbi5teF9GaWx0ZXJlZERldmljZUxpc3RfaGVhZGVyQnV0dG9uIHtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgLyogb3ZlcnJpZGUgaW5saW5lIGJ1dHRvbiBzdHlsaW5nICovXHJcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZ2FwOiAkc3BhY2luZy04O1xyXG59XHJcblxyXG4ubXhfRmlsdGVyZWREZXZpY2VMaXN0X2RldmljZURldGFpbHMge1xyXG4gICAgLyogYWxpZ24gd2l0aCB0ZXh0IG9mIHNlc3Npb24gdGlsZSAqL1xyXG4gICAgbWFyZ2luLWxlZnQ6IDg4cHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9GaWx0ZXJlZERldmljZUxpc3RIZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGdhcDogJHNwYWNpbmctMTY7XHJcblxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLTE2O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMzI7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVscztcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgLyogSGlnaGVyIHNwZWNpZmljaXR5IHNlbGVjdG9yIHRvIG92ZXJyaWRlIHRoZSBmbGV4LXN0YXJ0IHZhbHVlICovXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2hhc0tpbmQge1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0ZpbHRlcmVkRGV2aWNlTGlzdEhlYWRlcl9sYWJlbCB7XHJcbiAgICBmbGV4OiAxIDEgMTAwJTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NlY3VyaXR5UmVjb21tZW5kYXRpb25zX3NwYWNpbmcge1xyXG4gICAgaGVpZ2h0OiAkc3BhY2luZy0xNjtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCwyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2VsZWN0YWJsZURldmljZVRpbGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9TZWxlY3RhYmxlRGV2aWNlVGlsZV9jaGVja2JveCB7XHJcbiAgICBmbGV4OiAxIDA7XHJcblxyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuICogQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi5teF9LZXlTdG9yYWdlUGFuZWxfdG9nZ2xlUm93IHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXR0aW5nc1N1YnNlY3Rpb24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgICYubXhfU2V0dGluZ3NTdWJzZWN0aW9uX25ld1VpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgfVxyXG5cclxuICAgICpbcm9sZT1cInNlcGFyYXRvclwiXSB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogVGhlIGdhcCBiZXR3ZWVuIHN1YnNlY3Rpb25zIGlzIDMycHggYW5kIGluc2lkZSB0aGUgc3Vic2VjdGlvbiBpcyAyNHB4LlxyXG4gICAgICAgICAqIFRoZSBzZXBhcmF0b3Igc2VwYXJhdGVzIHRoZSBzdWJzZWN0aW9ucywgc28gaXQgc2hvdWxkIGhhdmUgdGhlIHNhbWUgZ2FwIGFzIHRoZSBzdWJzZWN0aW9ucy5cclxuICAgICAgICAgKiBXZSBhZGQgMTJweCBhbmQgdGhlIHNlcGFyYXRvciBzcGFjaW5nICg4cHgpIHRvIHRoZSB0b3AgbWFyZ2luIHRvIG1ha2UgdGhlIHNlcGFyYXRvciB2aXN1YWxseSBjZW50ZXJlZCBiZXR3ZWVuIHRoZSBzdWJzZWN0aW9ucy5cclxuICAgICAgICAgKiAhaW1wb3J0YW50IGJlY2F1c2UgaXQncyBvdmVycmlkaW5nIGNvbXBvdW5kIG1hcmdpbi5cclxuICAgICAgICAgKi9cclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNXgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TZXR0aW5nc1N1YnNlY3Rpb25fZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X1NldHRpbmdzU3Vic2VjdGlvbl90ZXh0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9TZXR0aW5nc1N1YnNlY3Rpb25fY29udGVudCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAvKiBzZXR0aW5nIG1pbndpZHRoIDAgbWFrZXMgY29sdW1ucyBkZWZpbml0ZWx5IHNpemVkIGZpeGluZyBob3Jpem9udGFsIG92ZXJmbG93ICovXHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xyXG4gICAganVzdGlmeS1pdGVtczogZmxleC1zdGFydDtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTI0O1xyXG5cclxuICAgIHN1bW1hcnkge1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG4gICAgZGV0YWlsc1tvcGVuXSB7XHJcbiAgICAgICAgc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfU2V0dGluZ3NTdWJzZWN0aW9uX2NvbnRlbnRTdHJldGNoIHtcclxuICAgICAgICBqdXN0aWZ5LWl0ZW1zOiBzdHJldGNoO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfU2V0dGluZ3NTdWJzZWN0aW9uX25vSGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgICYubXhfU2V0dGluZ3NTdWJzZWN0aW9uX2NvbnRlbnRfbmV3VWkge1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXR0aW5nc1N1YnNlY3Rpb25fZHJvcGRvd24ge1xyXG4gICAgICAgIG1pbi13aWR0aDogMzYwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXR0aW5nc1N1YnNlY3Rpb25IZWFkaW5nIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cclxuICAgIGdhcDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X1NldHRpbmdzU3Vic2VjdGlvbkhlYWRpbmdfaGVhZGluZyB7XHJcbiAgICBmbGV4OiAxIDEgMTAwJTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1F1aWNrVGhlbWVTd2l0Y2hlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAubXhfRHJvcGRvd24ge1xyXG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgaGVpZ2h0OiBtaW4tY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRHJvcGRvd25fbWVudSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNzBweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1F1aWNrVGhlbWVTd2l0Y2hlcl9oZWFkaW5nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NhcHRpb24ge1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgJi5teF9DYXB0aW9uX2Vycm9yIHtcclxuICAgICAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKlxyXG4gKiBDb21wb3VuZCBpY29uXHJcblxyXG4gKiB7QGxpbmsgaHR0cHM6Ly93d3cuZmlnbWEuY29tL2ZpbGUvWDRYVEg5aVMyS0dKMndGS0Rxa3llZH1cclxuICovXHJcblxyXG4ubXhfSWNvbiB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4ubXhfSWNvbl9hY2NlbnQge1xyXG4gICAgY29sb3I6ICRhY2NlbnQ7XHJcbn1cclxuXHJcbi5teF9JY29uX2JnLWFjY2VudC1saWdodCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LTMwMDtcclxufVxyXG5cclxuLm14X0ljb25fYWxlcnQge1xyXG4gICAgY29sb3I6ICRhbGVydDtcclxufVxyXG5cclxuLm14X0ljb25fY2lyY2xlLTQwIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICBmbGV4OiAwIDAgNDBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHBhZGRpbmc6IDAgMTJweDtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG59XHJcblxyXG4ubXhfSWNvbl84IHtcclxuICAgIGZsZXg6IDAgMCA4cHg7XHJcbiAgICBoZWlnaHQ6IDhweDtcclxuICAgIHdpZHRoOiA4cHg7XHJcbn1cclxuXHJcbi5teF9JY29uXzEwIHtcclxuICAgIGZsZXg6IDAgMCAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbn1cclxuXHJcbi5teF9JY29uXzEyIHtcclxuICAgIGZsZXg6IDAgMCAxMnB4O1xyXG4gICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgd2lkdGg6IDEycHg7XHJcbn1cclxuXHJcbi5teF9JY29uXzE2IHtcclxuICAgIGZsZXg6IDAgMCAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbn1cclxuXHJcbi5teF9JY29uXzI0IHtcclxuICAgIGZsZXg6IDAgMCAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbn1cclxuXHJcbi5teF9JY29uXzMyIHtcclxuICAgIGZsZXg6IDAgMCAzMnB4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TdWNjZXNzRGlhbG9nIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAubXhfSWNvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMTY7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ19oZWFkZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLTE2O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ190aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBtYXJnaW46IDAgMCAkc3BhY2luZy00MDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX2J1dHRvbnMge1xyXG4gICAgICAgIC5teF9EaWFsb2dfYnV0dG9uc19yb3cge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIGJ1dHRvbi5teF9EaWFsb2dfcHJpbWFyeSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMyOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi8qIG1ha2UgYW55IHNjcm9sbGJhciBncmV5IGFuZCB0aGluICovXHJcbmh0bWwge1xyXG4gICAgc2Nyb2xsYmFyLWNvbG9yOiAkc2Nyb2xsYmFyLXRodW1iLWNvbG9yIHRyYW5zcGFyZW50O1xyXG59XHJcbi8qIHNjcm9sbGJhci13aWR0aCBpcyBub3QgaW5oZXJpdGVkIChidXQgLWNvbG9yIGlzLCB3aHk/ISksICovXHJcbi8qIHNvIGRlY2xhcmUgaXQgb24gZXZlcnkgZWxlbWVudCAqL1xyXG4qIHtcclxuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxufVxyXG5cclxuOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogNnB4O1xyXG4gICAgaGVpZ2h0OiA2cHg7XHJcbn1cclxuXHJcbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNjcm9sbGJhci10aHVtYi1jb2xvcjtcclxufVxyXG5cclxuLyogbWFrZSBhdXRvLWhpZGUgc2Nyb2xsYmFycyBub3QgdHJhbnNwYXJlbnQgYWdhaW4gb24gaG92ZXIgKi9cclxuLm14X0F1dG9IaWRlU2Nyb2xsYmFyOmhvdmVyIHtcclxuICAgIHNjcm9sbGJhci1jb2xvcjogJHNjcm9sbGJhci10aHVtYi1jb2xvciB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNjcm9sbGJhci10aHVtYi1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLyogbWFrZSBzY3JvbGxiYXJzIHRyYW5zcGFyZW50IGZvciBhdXRvaGlkZSBzY3JvbGxiYXJzICovXHJcbi5teF9BdXRvSGlkZVNjcm9sbGJhciB7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteTogb3ZlcmxheTsgLyogd2hlcmUgc3VwcG9ydGVkICovXHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcclxuXHJcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHNjcm9sbGJhci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BdXRvY29tcGxldGVJbnB1dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVJbnB1dF9zZWFyY2hfaWNvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctODtcclxuICAgIGZpbGw6ICRzZWNvbmRhcnktY29udGVudDtcclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0X2VkaXRvciB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI1cztcclxuXHJcbiAgICA+IGlucHV0IHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIG1pbi13aWR0aDogNDAlO1xyXG4gICAgICAgIHJlc2l6ZTogbm9uZTtcclxuICAgICAgICAvKiBgIWltcG9ydGFudGAgaXMgcmVxdWlyZWQgdG8gYnlwYXNzIGdsb2JhbCBpbnB1dCBzdHlsZXMuICovXHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctOCA5cHg7XHJcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0X2VkaXRvci0tZm9jdXNlZCB7XHJcbiAgICBib3JkZXItY29sb3I6ICRsaW5rcztcclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0X2VkaXRvci0taGFzLXN1Z2dlc3Rpb25zIHtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0X2VkaXRvcl9zZWxlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy04O1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlSW5wdXRfZWRpdG9yX3NlbGVjdGlvbl9waWxsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctODtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLTg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDEtY29sb3I7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0X2VkaXRvcl9zZWxlY3Rpb25fcmVtb3ZlX2J1dHRvbiBzdmcge1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0X21hdGNoZXMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlua3M7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVJbnB1dF9zdWdnZXN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctODtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICA+ICoge1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVJbnB1dF9zdWdnZXN0aW9uLS1zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG5cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVJbnB1dF9zdWdnZXN0aW9uX3RpdGxlIHtcclxuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZUlucHV0X3N1Z2dlc3Rpb25fZGVzY3JpcHRpb24ge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyMS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQmFja2Ryb3BQYW5lbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGZpbHRlcjogYmx1cih2YXIoLS1scC1iYWNrZ3JvdW5kLWJsdXIpKTtcclxuICAgIC8qIEZvcmNlIGEgbmV3IGxheWVyIGZvciB0aGUgYmFja2Ryb3BQYW5lbCBzbyBpdCdzIGJldHRlciBoYXJkd2FyZSBzdXBwb3J0ZWQgKi9cclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxufVxyXG5cclxuLm14X0JhY2tkcm9wUGFuZWwtLWltYWdlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcbiIsIi5teF9Db21wYXRpYmlsaXR5UGFnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNTU7XHJcbn1cclxuXHJcbi5teF9Db21wYXRpYmlsaXR5UGFnZV9ib3gge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaW5zZXQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB3aWR0aDogNTAwcHg7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjYztcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogNTAwMDtcclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51X2JhY2tncm91bmQge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51IHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDI0cHggcmdiKDAsIDAsIDAsIDAuMSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4gICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogNTAwMTtcclxuICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51X3JpZ2h0IHtcclxuICAgIHJpZ2h0OiAxNnB4O1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnUubXhfQ29udGV4dHVhbE1lbnVfd2l0aENoZXZyb25fcmlnaHQge1xyXG4gICAgcmlnaHQ6IDhweDtcclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51X2NoZXZyb25fcmlnaHQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IC04cHg7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAkbWVudS1iZy1jb2xvcjtcclxuICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51X2xlZnQge1xyXG4gICAgbGVmdDogMDtcclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51Lm14X0NvbnRleHR1YWxNZW51X3dpdGhDaGV2cm9uX2xlZnQge1xyXG4gICAgbGVmdDogOHB4O1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnVfY2hldnJvbl9sZWZ0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC04cHg7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgJG1lbnUtYmctY29sb3I7XHJcbiAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudV90b3Age1xyXG4gICAgdG9wOiAwO1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnUubXhfQ29udGV4dHVhbE1lbnVfd2l0aENoZXZyb25fdG9wIHtcclxuICAgIHRvcDogOHB4O1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnVfY2hldnJvbl90b3Age1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgdG9wOiAtOHB4O1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICRtZW51LWJnLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudV9ib3R0b20ge1xyXG4gICAgYm90dG9tOiAwO1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnUubXhfQ29udGV4dHVhbE1lbnVfd2l0aENoZXZyb25fYm90dG9tIHtcclxuICAgIGJvdHRvbTogOHB4O1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnVfY2hldnJvbl9ib3R0b20ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgYm90dG9tOiAtOHB4O1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRtZW51LWJnLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudV9yaWdodEFsaWduZWQge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51X2JvdHRvbUFsaWduZWQge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0Vycm9yTWVzc2FnZSB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICRhbGVydDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBnYXA6ICRzcGFjaW5nLTg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XHJcbiAgICBtaW4taGVpZ2h0OiAyLjRlbTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuQGtleWZyYW1lcyBteF9GaWxlRHJvcFRhcmdldF9hbmltYXRpb24ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjk1O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRmlsZURyb3BUYXJnZXQge1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgZm9udC1zaXplOiAkZm9udC0xOHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgb3BhY2l0eTogMC45NTtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAzMDAwO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIGFuaW1hdGlvbjogbXhfRmlsZURyb3BUYXJnZXRfYW5pbWF0aW9uO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG14X0ZpbGVEcm9wVGFyZ2V0X2ltYWdlX2FuaW1hdGlvbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0ZpbGVEcm9wVGFyZ2V0X2ltYWdlIHtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgYW5pbWF0aW9uOiBteF9GaWxlRHJvcFRhcmdldF9pbWFnZV9hbmltYXRpb247XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRmlsZVBhbmVsIHtcclxuICAgIG9yZGVyOiAyO1xyXG4gICAgZmxleDogMSAxIDA7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAubXhfUm9vbVZpZXdfbWVzc2FnZUxpc3RXcmFwcGVyIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogRklYTUU6IHJhdGhlciB0aGFuIGhhdmluZyBFdmVudFRpbGUncyBkZWZhdWx0IENTUyBiZSBmb3IgTWVzc2FnZVBhbmVsLFxyXG4gICB3ZSBzaG91bGQgbWFrZSBFdmVudFRpbGUgYSBiYXNlIENTUyBjbGFzcyBhbmQgY3VzdG9taXNlIGl0IHNwZWNpZmljYWxseVxyXG4gICBmb3IgdXNhZ2UgaW4ge01lc3NhZ2UsRmlsZSxOb3RpZmljYXRpb259UGFuZWwuICovXHJcblxyXG4gICAgLyogT3ZlcnJpZGVzIGZvciB0aGUgYXR0YWNobWVudCBib2R5IHRpbGVzICovXHJcbiAgICAubXhfRXZlbnRUaWxlIHtcclxuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG5cclxuICAgICAgICAmICsgLm14X0V2ZW50VGlsZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X01GaWxlQm9keSBbZGF0YS10eXBlPVwiZG93bmxvYWRcIl0ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ltYWdlQm9keSB7XHJcbiAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIGFuY2hvciBsaW5rIGFzIHdyYXBwZXIgKi9cclxuICAgICAgICAubXhfRXZlbnRUaWxlX3NlbmRlckRldGFpbHNMaW5rIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfc2VuZGVyRGV0YWlscyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgICAgICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGV2ZW50LXRpbWVzdGFtcC1jb2xvcjsgLyogZm9yIGVsbGlwc2lzLiBDb2xvciBvZiBkaXNwbGF5TmFtZSBhbmQgbXhpZCBpcyBpbmhlcml0ZWQgKi9cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcclxuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfYnV0dG9uIHtcclxuICAgIHBhZGRpbmc6IDNweCA0cHggM3B4IDhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9idXR0b246aG92ZXIsXHJcbi5teF9HZW5lcmljRHJvcGRvd25NZW51X2J1dHRvblthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcXVpbmFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfQ29udGV4dHVhbE1lbnVfd3JhcHBlci5teF9HZW5lcmljRHJvcGRvd25NZW51X3dyYXBwZXIge1xyXG4gICAgLm14X0NvbnRleHR1YWxNZW51IHtcclxuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuXHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYigyMywgMjUsIDI4LCAwLjA1KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQ29udGV4dHVhbE1lbnVfY2hldnJvbl90b3Age1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgcmlnaHQ6IDIycHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBib3JkZXI6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRtZW51LWJnLWNvbG9yO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAtOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9kaXZpZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE5cHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMzBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgID4gLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0taGVhZGVyID4gLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1sYWJlbCBzcGFuOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0taXRlbSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtc2VsZWN0ZWQtY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9HZW5lcmljRHJvcGRvd25NZW51X09wdGlvbi0tY2hlY2tJY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMnB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTcgVmVjdG9yIENyZWF0aW9ucyBMdGRcclxuQ29weXJpZ2h0IDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0hvbWVQYWdlIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IG1pbigxMDAlIC0gNTBweCwgOTYwcHgpO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XHJcbiAgICBjb250YWluZXItbmFtZTogaG9tZXBhZ2U7XHJcbn1cclxuXHJcbi5teF9Ib21lUGFnZV9kZWZhdWx0IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIGhlaWdodDogNDhweDtcclxuICAgIH1cclxuXHJcbiAgICBoMSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMzJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zNzU7XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI1cHg7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWluaUF2YXRhclVwbG9hZGVyIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAubXhfSG9tZVBhZ2VfZGVmYXVsdF9idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICAgICAgZ2FwOiA1cHggNDBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogMTNweDtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMzJweDtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDE1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmOyAvKiBvbiBhbGwgdGhlbWVzICovXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjsgLyogb24gYWxsIHRoZW1lcyAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAY29udGFpbmVyIGhvbWVwYWdlIChtYXgtd2lkdGg6IDU1OXB4KSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cclxuICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTGFyZ2VMb2FkZXIge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIC5teF9TcGlubmVyIHtcclxuICAgICAgICBmbGV4OiB1bnNldDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzM3ZoO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9MYXJnZUxvYWRlcl90ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNnB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NYXRyaXhDaGF0LS13aXRoLWF2YXRhciB7XHJcbiAgICAubXhfTGVmdFBhbmVsLFxyXG4gICAgLm14X0xlZnRQYW5lbCAubXhfTGVmdFBhbmVsX3Jvb21MaXN0Q29udGFpbmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0xlZnRQYW5lbF9vdXRlcldyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXgtd2lkdGg6IDUwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLm14X0xlZnRQYW5lbF93cmFwcGVyLFxyXG4ubXhfTGVmdFBhbmVsIHtcclxuICAgIC0tY29sbGFwc2VkV2lkdGg6IDY4cHg7XHJcbn1cclxuXHJcbi5teF9MZWZ0UGFuZWxfcGFuZWwge1xyXG4gICAgLm14X0xlZnRQYW5lbF9vdXRlcldyYXBwZXIge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xlZnRQYW5lbF93cmFwcGVyLS11c2VyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0xlZnRQYW5lbF93cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgZmxleDogMTtcclxuICAgIGhlaWdodDogMTAwJTsgLyogZW5zdXJlIHNwYWNlIHBhbmVsIGlzIHN0aWxsIHNjcm9sbGFibGUgd2l0aCBhbiBvdXRlciB3cmFwcGVyICovXHJcblxyXG4gICAgLm14X0xlZnRQYW5lbF93cmFwcGVyLS11c2VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm9vbWxpc3QtYmctY29sb3I7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAvKiBGb3IgZW5oYW5jZWQgdmlzaWJpbGl0eSB1bmRlciBjb250cmFzdCBjb250cm9sICovXHJcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAmW2RhdGEtY29sbGFwc2VkXSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tY29sbGFwc2VkV2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0xlZnRQYW5lbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm9vbWxpc3QtYmctY29sb3I7XHJcblxyXG4gICAgLyogQ3JlYXRlIGEgcm93LWJhc2VkIGZsZXhib3ggZm9yIHRoZSBzcGFjZSBwYW5lbCBhbmQgdGhlIHJvb20gbGlzdCAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGNvbnRhaW46IGNvbnRlbnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIC8qIE5vdGU6IFRoZSAncm9vbSBsaXN0JyBpbiB0aGlzIGNvbnRleHQgaXMgYWN0dWFsbHkgZXZlcnl0aGluZyB0aGF0IGlzbid0IHRoZSB0YWcgKi9cclxuICAgIC8qIHBhbmVsLCBzdWNoIGFzIHRoZSBtZW51IG9wdGlvbnMsIGJyZWFkY3J1bWJzLCBmaWx0ZXJpbmcsIGV0YyAqL1xyXG4gICAgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJvb21saXN0LWJnLWNvbG9yO1xyXG4gICAgICAgIGZsZXg6IDEgMCAwO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICAvKiBDcmVhdGUgYW5vdGhlciBmbGV4Ym94ICh0aGlzIHRpbWUgYSBjb2x1bW4pIGZvciB0aGUgcm9vbSBsaXN0IGNvbXBvbmVudHMgKi9cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgIC5teF9MZWZ0UGFuZWxfdXNlckhlYWRlciB7XHJcbiAgICAgICAgICAgIC8qIDEycHggdG9wLCAxMnB4IHNpZGVzLCAyMHB4IGJvdHRvbSAodXNpbmcgMTNweCBib3R0b20gdG8gYWNjb3VudFxyXG4gICAgICAgICAgICAgKiBmb3IgaW50ZXJuYWwgd2hpdGVzcGFjZSBpbiB0aGUgYnJlYWRjcnVtYnMpXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDsgLyogdG8gY29udmluY2Ugc2FmYXJpJ3MgbGF5b3V0IGVuZ2luZSB0aGUgZmxleGJveCBpcyBmaW5lICovXHJcblxyXG4gICAgICAgICAgICAvKiBDcmVhdGUgYW5vdGhlciBmbGV4Ym94IGNvbHVtbiBmb3IgdGhlIHJvd3MgdG8gc3RhY2sgd2l0aGluICovXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTGVmdFBhbmVsX2JyZWFkY3J1bWJzQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTJweCAxMnB4IDAgMTJweDtcclxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICAgIC8qIENyZWF0ZSB5ZXQgYW5vdGhlciBmbGV4Ym94LCB0aGlzIHRpbWUgd2l0aGluIHRoZSByb3csIHRvIGVuc3VyZSBpdGVtcyBzdGF5ICovXHJcbiAgICAgICAgICAgIC8qIGFsaWduZWQgY29ycmVjdGx5LiBUaGlzIGlzIGFsc28gYSByb3ctYmFzZWQgZmxleGJveC4gKi9cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgY29udGFpbjogY29udGVudDtcclxuXHJcbiAgICAgICAgICAgICYubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX2xlZnRPdmVyZmxvdyB7XHJcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCBibGFjayA1JSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX3JpZ2h0T3ZlcmZsb3cge1xyXG4gICAgICAgICAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCBibGFjaywgYmxhY2sgOTUlLCB0cmFuc3BhcmVudCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX3JpZ2h0T3ZlcmZsb3cubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX2xlZnRPdmVyZmxvdyB7XHJcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCBibGFjayA1JSwgYmxhY2sgOTUlLCB0cmFuc3BhcmVudCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9MZWZ0UGFuZWxfZmlsdGVyQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEycHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMCA4cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7IC8qIHRvIGNvbnZpbmNlIHNhZmFyaSdzIGxheW91dCBlbmdpbmUgdGhlIGZsZXhib3ggaXMgZmluZSAqL1xyXG5cclxuICAgICAgICAgICAgLyogQ3JlYXRlIGEgZmxleGJveCB0byBvcmdhbml6ZSB0aGUgaW5wdXRzICovXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAmICsgLm14X0xlZ2FjeVJvb21MaXN0SGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9MZWZ0UGFuZWxfZGlhbFBhZEJ1dHRvbixcclxuICAgICAgICAgICAgLm14X0xlZnRQYW5lbF9leHBsb3JlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTEtNXgpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWFjdGlvbnM7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgICAgICAgICAgLyogRm9yIGVuaGFuY2VkIHZpc2liaWxpdHkgdW5kZXIgY29udHJhc3QgY29udHJvbCAqL1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9MZWdhY3lSb29tTGlzdEhlYWRlcjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTGVmdFBhbmVsX3Jvb21MaXN0V3JhcHBlciB7XHJcbiAgICAgICAgICAgIC8qIE1ha2UgdGhlIHktc2Nyb2xsYmFyIG1vcmUgcmVzcG9uc2l2ZSAqL1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IC8qIHNvIHdlJ3JlIG5vdCB1cCBhZ2FpbnN0IHRoZSBzZWFyY2gvZmlsdGVyICovXHJcbiAgICAgICAgICAgIGZsZXg6IDEgMCAwOyAvKiBuZWVkZWQgaW4gU2FmYXJpIHRvIHByb3Blcmx5IHNldCBmbGV4LWJhc2lzICovXHJcblxyXG4gICAgICAgICAgICAmLm14X0xlZnRQYW5lbF9yb29tTGlzdFdyYXBwZXJfc3RpY2t5Qm90dG9tIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X0xlZnRQYW5lbF9yb29tTGlzdFdyYXBwZXJfc3RpY2t5VG9wIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTGVmdFBhbmVsX2FjdHVhbFJvb21MaXN0Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBmb3Igc3RpY2t5IGhlYWRlcnMgKi9cclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvKiBlbnN1cmUgc2Nyb2xsaW5nIHN0aWxsIHdvcmtzICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIFRoZXNlIHN0eWxlcyBvdmVycmlkZSB0aGUgZGVmYXVsdHMgZm9yIHRoZSBtaW5pbWl6ZWQgKDY2cHgpIGxheW91dCAqL1xyXG4gICAgJi5teF9MZWZ0UGFuZWxfbWluaW1pemVkIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICB3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgLm14X0xlZnRQYW5lbF9yb29tTGlzdENvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1jb2xsYXBzZWRXaWR0aCk7XHJcblxyXG4gICAgICAgICAgICAubXhfTGVmdFBhbmVsX3VzZXJIZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfTGVmdFBhbmVsX2ZpbHRlckNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvKiBPcmdhbml6ZSB0aGUgZmxleGJveCBpbnRvIGEgY2VudGVyZWQgY29sdW1uIGxheW91dCAqL1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9MZWZ0UGFuZWxfZGlhbFBhZEJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9MZWZ0UGFuZWxfZXhwbG9yZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTGVmdFBhbmVsX25ld1Jvb21MaXN0IHtcclxuICAgIC8qIFRoZXcgbmV3IHJvb21zIGxpc3QgaXMgbm90IGRlc2lnbmVkIHRvIGJlIGNvbGxhcHNlZCB0byBqdXN0IGljb25zLiAqL1xyXG4gICAgLyogMjI0ICsgNjgoc3BhY2VzIGJhcikgd2FzIGRlZW1lZCBieSBkZXNpZ24gdG8gYmUgYSBnb29kIG1pbmltdW0gZm9yIHRoZSBsZWZ0IHBhbmVsLiAqL1xyXG4gICAgLS1jb2xsYXBzZWRXaWR0aDogMjI0cHg7XHJcbiAgICAvKiBJbXBvcnRhbnQgdG8gZm9yY2UgdGhlIGNvbG9yIG9uIEVEIHRpdGxlYmFyIHVudGlsIHdlIHJlbW92ZSB0aGUgb2xkIHJvb20gbGlzdCAqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jbGVmdC1wYW5lbCAubXhfTGVmdFBhbmVsX3dyYXBwZXItLXVzZXIge1xyXG4gICAgLypcclxuICAgICAqIERpc2FibGUgYmFja2dyb3VuZCB3aGVuIHVzaW5nIHRoZSBuZXcgcm9vbSBsaXN0LlxyXG4gICAgICogVGhpcyBiYWNrZ3JvdW5kIHNvbWV0aW1lcyBzaG93cyB3aGVuIHRoZSBwYW5lbCBpcyByZXNpemVkIGFuZCBpdCBsb29rcyBsaWtlIGEgdGhpY2tlciBib3JkZXIuXHJcbiAgICAgKi9cclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01haW5TcGxpdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIG1pbi13aWR0aDogMDtcclxuICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9NYWluU3BsaXQgPiAubXhfUmlnaHRQYW5lbF9SZXNpemVXcmFwcGVyIHtcclxuICAgICY6aG92ZXIgLm14X1Jlc2l6ZUhhbmRsZS0taG9yaXpvbnRhbDo6YmVmb3JlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xNTAlLCAtNTAlKTtcclxuXHJcbiAgICAgICAgaGVpZ2h0OiA2NHB4OyAvKiB0byBtYXRjaCB3aWR0aCBvZiB0aGUgb25lcyBvbiByb29tbGlzdCAqL1xyXG4gICAgICAgIHdpZHRoOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01hdHJpeENoYXRfc3BsYXNoIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIC8qIFBMWCBicmFuZGVkIGxvYWRpbmcgc3RhdGU6IGJyYW5kIG1hcmsgYWJvdmUgYSBjZW50ZXJlZCBzcGlubmVyIG9uIHRoZVxyXG4gICAgICAgYXBwIGJhY2tncm91bmQuIFJlcGxhY2VzIHRoZSBiYXJlL2JsYW5rIGNlbnRlcmVkIHNwaW5uZXIuICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGdhcDogMjhweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCwgIzBFMTYyMSk7XHJcbn1cclxuXHJcbi5teF9NYXRyaXhDaGF0X3NwbGFzaExvZ28ge1xyXG4gICAgd2lkdGg6IDg4cHg7XHJcbiAgICBoZWlnaHQ6IDg4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgYm94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuNDUpO1xyXG59XHJcblxyXG4vKiBSZS1jZW50ZXIgdGhlIHNwaW5uZXIgaXRzZWxmOiB0aGUgZGVmYXVsdCBTcGlubmVyIHVzZXMgYWJzb2x1dGUgY2VudGVyaW5nXHJcbiAgIHdoaWNoIHdlIG92ZXJyaWRlIGluc2lkZSB0aGUgZmxleCBzcGxhc2guICovXHJcbi5teF9NYXRyaXhDaGF0X3NwbGFzaCAubXhfU3Bpbm5lciB7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4ubXhfTWF0cml4Q2hhdF93cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9NYXRyaXhUb29sYmFyIHtcclxuICAgIG9yZGVyOiAxO1xyXG5cclxuICAgIGhlaWdodDogNDBweDtcclxufVxyXG5cclxuLm14X01hdHJpeENoYXQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICBmbGV4OiAxO1xyXG4gICAgbWluLWhlaWdodDogMDtcclxufVxyXG5cclxuLyogbm90IHRoZSBsZWZ0IHBhbmVsLCBhbmQgbm90IHRoZSByZXNpemUgaGFuZGxlLCBzbyB0aGUgcm9vbXZpZXcgYW5kIGZyaWVuZHMgKi9cclxuLm14X01hdHJpeENoYXQgPiA6bm90KC5teF9MZWZ0UGFuZWwpOm5vdCgubXhfU3BhY2VQYW5lbCk6bm90KC5teF9SZXNpemVIYW5kbGUpOm5vdCgubXhfTGVmdFBhbmVsX291dGVyV3JhcHBlcikge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcblxyXG4gICAgZmxleDogMSAxIDA7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcblxyXG4gICAgLyogVG8gZml4IGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vZWxlbWVudC13ZWIvaXNzdWVzLzMyOTggd2hlcmUgU2FmYXJpXHJcbiAgICAgICBuZWVkZWQgaGVpZ2h0IDEwMCUgYWxsIHRoZSB3YXkgZG93biB0byB0aGUgSG9tZVBhZ2UuIEhlaWdodCBkb2VzIG5vdFxyXG4gICAgICAgaGF2ZSB0byBiZSBhdXRvLCBlbXBpcmljYWxseS5cclxuICAgICovXHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9NYXRyaXhDaGF0ID4gLm14X1Jlc2l6ZUhhbmRsZS0taG9yaXpvbnRhbDpob3ZlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cclxuICAgICAgICBoZWlnaHQ6IDY0cHg7IC8qIHRvIG1hdGNoIHdpZHRoIG9mIHRoZSBvbmVzIG9uIHJvb21saXN0ICovXHJcbiAgICAgICAgd2lkdGg6IDRweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X05vblVyZ2VudFRvYXN0Q29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMzBweDtcclxuICAgIGxlZnQ6IDI4cHg7XHJcbiAgICB6LWluZGV4OiAxMDE7IC8qIHNhbWUgbGV2ZWwgYXMgb3RoZXIgdG9hc3RzICovXHJcblxyXG4gICAgLm14X05vblVyZ2VudFRvYXN0Q29udGFpbmVyX3RvYXN0IHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIHdpZHRoOiAzMjBweDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEzcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG5cclxuICAgICAgICAvKiBXZSBkb24ndCB1c2UgdmFyaWFibGVzIG9uIHRoZSBjb2xvdXJzIGJlY2F1c2Ugd2Ugd2FudCBpdCB0byBiZSB0aGUgc2FtZSAqL1xyXG4gICAgICAgIC8qIGluIGFsbCB0aGVtZXMuICovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MTkxYztcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNiBFbGVtZW50IENyZWF0aW9ucyBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9QaWN0dXJlSW5QaWN0dXJlRHJhZ2dlciB7XHJcbiAgICBjdXJzb3I6IGdyYWI7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAvKiBEaXNwbGF5IGFib3ZlIGFueSB3aWRnZXQgZWxlbWVudHMgKi9cclxuICAgIHotaW5kZXg6IDEwMjtcclxufVxyXG5cclxuLm14X1BpY3R1cmVJblBpY3R1cmVEcmFnZ2VyOmFjdGl2ZSB7XHJcbiAgICBjdXJzb3I6IGdyYWJiaW5nO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0LDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9RdWlja1NldHRpbmdzQnV0dG9uIHtcclxuICAgIC8qICFpbXBvcnRhbnQgb3ZlcnJpZGUgY29tcG91bmQgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDhweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAxMnB4IGF1dG8gMTJweDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGZpbGw6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCguZXhwYW5kZWQpOmhvdmVyIHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBvdmVycmlkZSBjb21wb3VuZCBkZWZhdWx0IGJhY2tncm91bmQgY29sb3Igd2hlbiBob3ZlcmVkXHJcbiAgICAgICAgICogc2hvdWxkIGRpc2FwcGVhciB3aGVuIHRoZSBzcGFjZSBwYW5lbCB3aWxsIGJlIG1pZ3JhdGVkIHRvIGNvbXBvdW5kXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1YXRlcm5hcnktY29udGVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBmaWxsOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmV4cGFuZGVkIHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBvdmVycmlkZSBjb21wb3VuZCBkZWZhdWx0IGJhY2tncm91bmQgY29sb3Igd2hlbiBob3ZlcmVkXHJcbiAgICAgICAgICogc2hvdWxkIGRpc2FwcGVhciB3aGVuIHRoZSBzcGFjZSBwYW5lbCB3aWxsIGJlIG1pZ3JhdGVkIHRvIGNvbXBvdW5kXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgLyogYWxpZ24gd2l0aCBzZXR0aW5ncyBpY29uICovXHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIxcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIG1vZGlmeSBpbnRlcm5hbCBjc3Mgb2YgdGhlIGNvbXBvdW5kIGNvbXBvbmVudFxyXG4gICAgICAgICAqIGRpcnR5IGJ1dCB3ZSBuZWVkIHRvIGFkZCB0aGUgbGFiZWwgaW50byB0aGUgaW5kaWNhdG9yIGljb24gYnV0dG9uXHJcbiAgICAgICAgICoqL1xyXG4gICAgICAgICYgPiBkaXYge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgLyogYWxpZ24gd2l0aCBzZXR0aW5ncyBsYWJlbCAqL1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICAgIC8qIHJlcXVpcmVkIHRvIHNldCB0aGUgaWNvbiB3aWR0aCB3aGVuIGludG8gYSBmbGV4IGNvbnRhaW5lciAqL1xyXG4gICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmIC5teF9RdWlja1NldHRpbmdzQnV0dG9uX2xhYmVsIHtcclxuICAgICAgICAgICAgLyogIWltcG9ydGFudCBvdmVycmlkZSBjb21wb3VuZCAgKi9cclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1F1aWNrU2V0dGluZ3NCdXR0b25fQ29udGV4dE1lbnVXcmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSB7XHJcbiAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgbWluLXdpZHRoOiAyMDBweDtcclxuICAgIGNvbnRhaW46IHVuc2V0OyAvKiBsZXQgdGhlIGRyb3Bkb3duIHBhaW50IGJleW9uZCB0aGUgY29udGV4dCBtZW51ICovXHJcblxyXG4gICAgPiBkaXYgPiBoMiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgfVxyXG5cclxuICAgID4gZGl2ID4gaDQge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDEycHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1F1aWNrU2V0dGluZ3NCdXR0b25fbW9yZU9wdGlvbnNCdXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtN3gpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1F1aWNrU2V0dGluZ3NCdXR0b25fb3B0aW9uIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgLyogQ29ycmVjdGx5IGxpbmUgdXAgaWNvbnMgYW5kIHRleHQuICovXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUXVpY2tTZXR0aW5nc0J1dHRvbl9Db250ZXh0TWVudVdyYXBwZXJfbmV3X3Jvb21fbGlzdCB7XHJcbiAgICAubXhfUXVpY2tUaGVtZVN3aXRjaGVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUXVpY2tTZXR0aW5nc0J1dHRvbl9pY29uIHtcclxuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUmlnaHRQYW5lbCB7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkc2VwYXJhdG9yO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGNvbnRhaW46IHN0cmljdDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcblxyXG4gICAgLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHtcclxuICAgICAgICBwYWRkaW5nOiAxNHB4IDE4cHg7IC8qIHRvcCBhbmQgYm90dG9tIGlzIDRweCBzbWFsbGVyIHRvIGJhbGFuY2Ugd2l0aCB0aGUgcGFkZGluZyBzZXQgYWJvdmUgKi9cclxuICAgIH1cclxufVxyXG5cclxuLm14X1JpZ2h0UGFuZWwgLm14X01lbWJlckxpc3QsXHJcbi5teF9SaWdodFBhbmVsIC5teF9NZW1iZXJJbmZvIHtcclxuICAgIG9yZGVyOiAyO1xyXG4gICAgZmxleDogMSAxIDA7XHJcbn1cclxuXHJcbi5teF9SaWdodFBhbmVsIC5teF9Sb29tVmlld19tZXNzYWdlUGFuZWxTcGlubmVyIHtcclxuICAgIG9yZGVyOiAyO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKiBOb3RlOiB0aGlzIGNvbXBvbmVudCBleHBlY3RzIHRvIGJlIGNvbnRhaW5lZCB3aXRoaW4gYSBmbGV4Ym94ICovXHJcbi5teF9Sb29tU2VhcmNoIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcclxuICAgIC8qIGtlZXAgYm9yZGVyIHRoaWNrbmVzcyBjb25zaXN0ZW50IHRvIHByZXZlbnQgbW92ZW1lbnQgKi9cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgcGFkZGluZzogMXB4O1xyXG5cclxuICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggZm9yIHRoZSBpY29ucyAoZWFzaWVyIHRvIG1hbmFnZSkgKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAubXhfUm9vbVNlYXJjaF9pY29uIHtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVNlYXJjaF9zcG90bGlnaHRUcmlnZ2VyVGV4dCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgLyogdGhlIGZvbGxvd2luZyBydWxlcyBhcmUgdG8gbWF0Y2ggdGhhdCBvZiBhIHJlYWwgaW5wdXQgZmllbGQgKi9cclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIG1hcmdpbjogOXB4O1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tU2VhcmNoX3Nob3J0Y3V0UHJvbXB0IHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWFjdGlvbnM7XHJcbiAgICAgICAgcGFkZGluZzogMnB4IDRweDtcclxuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgY29sb3I6ICRsaWdodC1mZy1jb2xvcjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9Sb29tU2VhcmNoX21pbmltaXplZCB7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAgICAgLm14X1Jvb21TZWFyY2hfaWNvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxcHg7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU2VhcmNoX3Nob3J0Y3V0UHJvbXB0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIC5teF9Sb29tU2VhcmNoX3Nwb3RsaWdodFRyaWdnZXJUZXh0IHtcclxuICAgICAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21TZWFyY2hfc2hvcnRjdXRQcm9tcHQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU2VhcmNoX2ljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG46cm9vdCB7XHJcbiAgICAtLVJvb21WaWV3X01lc3NhZ2VMaXN0LXBhZGRpbmc6IDE4cHg7XHJcbn1cclxuXHJcbi5teF9MZWZ0UGFuZWxfcGFuZWwge1xyXG4gICAgLm14X1Jvb21WaWV3X3dyYXBwZXIge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21WaWV3X3dyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAvKiBDb250YWluIHRoZSBhbW91bnQgb2YgbGF5ZXJzIHJlbmRlcmVkIGJ5IGNvbnN0cmFpbmluZyB3aGF0IGFjdHVhbGx5IG5lZWRzIHJlLWxheWVyaW5nIHZpYSBjc3MgKi9cclxuICAgIGNvbnRhaW46IHN0cmljdDtcclxufVxyXG5cclxuLm14X1Jvb21WaWV3IHtcclxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleDogMTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAubXhfTWFpblNwbGl0IHtcclxuICAgICAgICBmbGV4OiAxIDEgMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUm9vbVZpZXdfYXV4UGFuZWxfaGlkZGVuSGlnaGxpZ2h0cyB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDI2cHg7XHJcbiAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubXhfUm9vbVZpZXdfbWVzc2FnZVBhbmVsIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgb3ZlcmZsb3ctYW5jaG9yOiBub25lO1xyXG59XHJcblxyXG4ubXhfUm9vbVZpZXdfbWVzc2FnZVBhbmVsU2VhcmNoU3Bpbm5lciB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3Jlcy9pbWcvdHlwaW5nLWluZGljYXRvci0yeC5naWZcIik7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMzY3cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgY29sb3I6ICRpbmZvLXBsaW50aC1mZy1jb2xvcjtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMjg2cHg7XHJcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAyNXB4KTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21WaWV3X2JvZHkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgY29udGFpbmVyLXR5cGU6IHNpemU7XHJcbiAgICBjb250YWluZXItbmFtZTogcm9vbXZpZXc7XHJcblxyXG4gICAgLm14X1Jvb21WaWV3X21lc3NhZ2VQYW5lbCxcclxuICAgIC5teF9Sb29tVmlld19tZXNzYWdlUGFuZWxTcGlubmVyLFxyXG4gICAgLm14X1Jvb21WaWV3X21lc3NhZ2VQYW5lbFNlYXJjaFNwaW5uZXIge1xyXG4gICAgICAgIG9yZGVyOiAyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tVmlld190aW1lbGluZSB7XHJcbiAgICAgICAgLyogb2Zmc2V0IHBhcmVudCBmb3IgbXhfUm9vbVZpZXdfdG9wVW5yZWFkTWVzc2FnZXNCYXIgICovXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKSAvIDIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUm9vbVZpZXdfc3RhdHVzQXJlYSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG5cclxuICAgIG1heC1oZWlnaHQ6IDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbi5teF9Sb29tVmlld19zdGF0dXNBcmVhX2V4cGFuZGVkIHtcclxuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG4ubXhfUm9vbVZpZXdfc3RhdHVzQXJlYUJveCB7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4ubXhfUm9vbVZpZXdfc3RhdHVzQXJlYUJveF9saW5lIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA2NXB4O1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbn1cclxuXHJcbi5teF9Sb29tVmlld19tZXNzYWdlTGlzdFdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ubXhfUm9vbVZpZXdfc2VhcmNoUmVzdWx0c1BhbmVsIHtcclxuICAgIC5teF9Sb29tVmlld19tZXNzYWdlTGlzdFdyYXBwZXIge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHJcbiAgICAgICAgPiAubXhfUm9vbVZpZXdfTWVzc2FnZUxpc3QgPiBsaSA+IG9sIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Sb29tVmlld19lbXB0eSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEzcHg7XHJcbiAgICBwYWRkaW5nOiAwIDI0cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyAvKiB2aXN1YWxseSBjZW50ZXIgdGhlIGNvbnRlbnQgKGludGVudGlvbmFsIG9mZnNldCkgKi9cclxufVxyXG5cclxuLm14X1Jvb21WaWV3X01lc3NhZ2VMaXN0IHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IHZhcigtLVJvb21WaWV3X01lc3NhZ2VMaXN0LXBhZGRpbmcpOyAvKiBteF9Qcm9maWxlUmVzaXplciBkZXBlbmRzIG9uIHRoaXMgdmFsdWUgKi9cclxuICAgIG1hcmdpbjogMDtcclxuICAgIC8qIG5lZWRlZCBhcyBtaW4taGVpZ2h0IGlzIHNldCB0byBjbGllbnRIZWlnaHQgaW4gU2Nyb2xsUGFuZWxcclxuICAgIHRvIHByZXZlbnQgc2hyaW5raW5nIHdoZW4gV2hvSXNUeXBpbmdUaWxlIGlzIGhpZGRlbiAqL1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Njcm9sbFBhbmVsICYge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcbiAgICAgICAgY29udGVudC12aXNpYmlsaXR5OiBhdXRvO1xyXG4gICAgICAgIGNvbnRhaW4taW50cmluc2ljLXNpemU6IDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21WaWV3LS1sb2NhbCAubXhfU2Nyb2xsUGFuZWwgJiB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Sb29tVmlld19pbkNhbGwge1xyXG4gICAgLm14X1Jvb21WaWV3X3N0YXR1c0FyZWFCb3hfbGluZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBoZWlnaHQ6IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX3dyYXBwZXIge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDJweCBoaWRkZW47XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDFweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X01hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dCB7XHJcbiAgICAubXhfUm9vbVZpZXdfTWVzc2FnZUxpc3Qge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuXHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tVmlld19zdGF0dXNBcmVhQm94IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0MnB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2VhcmNoQm94IHtcclxuICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgbWluLWhlaWdodDogMzZweDsgLyogdG8gYXZvaWQganVtcGluZyB3aGVuIHRoZSBYIHRvIGNsZWFyIHNob3dzL2hpZGVzICovXHJcblxyXG4gICAgJi5teF9TZWFyY2hCb3hfYmx1cnJlZDpub3QoOmhvdmVyKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NlYXJjaEJveF9jbG9zZUJ1dHRvbiB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBwYWRkaW5nOiA5cHg7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCwyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU3BhY2VSb29tVmlld19sYW5kaW5nIHtcclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XHJcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZWFyY2hCb3gge1xyXG4gICAgICAgIG1hcmdpbjogMjRweCAwIDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X25vUmVzdWx0cyB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUhpZXJhcmNoeV9saXN0SGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZmxvdzogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDEycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcblxyXG4gICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9saXN0SGVhZGVyX2hlYWRlciB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlSGllcmFyY2h5X2xpc3RIZWFkZXJfYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogMTJweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMzJweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfb3V0bGluZSxcclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfb3V0bGluZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCAxMnB4OyAvKiB0byBhY2NvdW50IGZvciB0aGUgMXB4IGJvcmRlciAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfZXJyb3Ige1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDtcclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAxMnB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcclxuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHZlY3Rvci1pbS9jb21wb3VuZC1kZXNpZ24tdG9rZW5zL2ljb25zL2Vycm9yLXNvbGlkLnN2Z1wiKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21Db3VudCB7XHJcbiAgICAgICAgPiBoMyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMThweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIycHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X3N1YnNwYWNlX3RvZ2dsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IC0xcHg7XHJcbiAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfU3BhY2VIaWVyYXJjaHlfc3Vic3BhY2VfdG9nZ2xlX3Nob3duIHN2ZyB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfc3Vic3BhY2VfY2hpbGRyZW4ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X2xpc3Qge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgIGxpLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlV3JhcHBlciB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDZweCAxMnB4O1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwcHggYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IDZweCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxOyAvKiB3cmFwIGFjdGlvbiBidXR0b25zICovXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfbmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5teF9JbmZvVG9vbHRpcCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlX2pvaW5lZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubXhfSW5mb1Rvb2x0aXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubXhfU3BhY2VIaWVyYXJjaHlfcm9vbVRpbGVfam9pbmVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9yb29tVGlsZV9pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogaW5pdGlhbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9TcGFjZUhpZXJhcmNoeV9hY3Rpb25zIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWdhcDogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfb3V0bGluZSxcclxuICAgICAgICAgICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfb3V0bGluZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAxNnB4OyAvKiB0byBhY2NvdW50IGZvciB0aGUgMXB4IGJvcmRlciAqL1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzcGFjZVBhbmVsLWJnLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYubXhfU3BhY2VIaWVyYXJjaHlfam9pbmluZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMThweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X3Jvb21UaWxlLFxyXG4gICAgLm14X1NwYWNlSGllcmFyY2h5X3N1YnNwYWNlX2NoaWxkcmVuIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzcGFjZVBhbmVsLWJnLWNvbG9yO1xyXG4gICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDZweDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VIaWVyYXJjaHlfYWN0aW9ucyB7XHJcbiAgICAgICAgLm14X1NwYWNlSGllcmFyY2h5X2FjdGlvbnNUZXh0IHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBociB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNDEsIDE1MSwgMTY1LCAwLjIpO1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUhpZXJhcmNoeV9jcmVhdGVSb29tIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDE2cHggYXV0byAwO1xyXG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NwYWNlUGFuZWwge1xyXG4gICAgLS1hY3RpdmVCYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcclxuICAgIC0tYWN0aXZlQm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgLS1hY3RpdmVCb3JkZXItdHJhbnNwYXJlbnQtZ2FwOiAxcHg7XHJcbiAgICAtLWd1dHRlclNpemU6IDE0cHg7XHJcbiAgICAtLWhlaWdodC1uZXN0ZWQ6IDI0cHg7XHJcbiAgICAtLWhlaWdodC10b3BMZXZlbDogMzJweDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3BhY2VQYW5lbC1iZy1jb2xvcjtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8qIEZpeCBmb3IgdGhlIGJsdXJyZWQgYXZhdGFyLWJhY2tncm91bmQgKi9cclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgLyogRm9yIGVuaGFuY2VkIHZpc2liaWxpdHkgdW5kZXIgY29udHJhc3QgY29udHJvbCAqL1xyXG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgIC8qIENyZWF0ZSBhbm90aGVyIGZsZXhib3ggc28gdGhlIFBhbmVsIGZpbGxzIHRoZSBjb250YWluZXIgKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICYuY29sbGFwc2VkIHtcclxuICAgICAgICB3aWR0aDogNjhweDtcclxuICAgIH1cclxuXHJcbiAgICAmLm5ld1VpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlUGFuZWxfdG9nZ2xlQ29sbGFwc2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgIHRvcDogMTlweDsgLyogdi1hbGlnbiB3aXRoIGF2YXRhciAqL1xyXG4gICAgICAgIHJpZ2h0OiAtOHB4O1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgLyogU2xpZ2h0IGFsaWdubWVudCB0d2VhayB0byBjZW50ZXIgdGhlIGFzc2V0ICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCguZXhwYW5kZWQpIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuZXhwYW5kZWQgc3ZnIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgLyogU2xpZ2h0IGFsaWdubWVudCB0d2VhayB0byBjZW50ZXIgdGhlIGFzc2V0ICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIC5teF9TcGFjZVBhbmVsX3RvZ2dsZUNvbGxhcHNlLFxyXG4gICAgLm14X1NwYWNlUGFuZWxfdG9nZ2xlQ29sbGFwc2U6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAvKiBGb3IgZW5oYW5jZWQgdmlzaWJpbGl0eSB1bmRlciBjb250cmFzdCBjb250cm9sICovXHJcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUJ1dHRvbl90b2dnbGVDb2xsYXBzZSB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUl0ZW1fZHJhZ2dpbmcge1xyXG4gICAgICAgIC5teF9TcGFjZUJ1dHRvbl90b2dnbGVDb2xsYXBzZSB7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG5cclxuICAgICAgICAmLm14X1NwYWNlSXRlbV9uYXJyb3cge1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBiYXNlbGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSXRlbS5jb2xsYXBzZWQge1xyXG4gICAgICAgICYgPiAubXhfU3BhY2VCdXR0b24gPiAubXhfU3BhY2VCdXR0b25fdG9nZ2xlQ29sbGFwc2Uge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAtMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgPiAubXhfU3BhY2VUcmVlTGV2ZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VJdGVtX25ldyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUl0ZW06bm90KC5oYXNTdWJTcGFjZXMpID4gLm14X1NwYWNlQnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3V0dGVyU2l6ZSk7XHJcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUJ1dHRvbiB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiA0cHggNHB4IDRweCAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8qIE92ZXJyaWRlIHRoZSB1bmxheWVyZWQgY3Vyc29yOiBncmFiOyBydWxlIGZyb20gcmVhY3QtYmVhdXRpZnVsLWRuZCAqL1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAmLm14X1NwYWNlQnV0dG9uX2FjdGl2ZSB7XHJcbiAgICAgICAgICAgICY6bm90KC5teF9TcGFjZUJ1dHRvbl9uYXJyb3cpIC5teF9TcGFjZUJ1dHRvbl9zZWxlY3Rpb25XcmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjdGl2ZUJhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X1NwYWNlQnV0dG9uX25hcnJvdyAubXhfU3BhY2VCdXR0b25fc2VsZWN0aW9uV3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1hY3RpdmVCb3JkZXItdHJhbnNwYXJlbnQtZ2FwKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHZhcigtLWFjdGl2ZUJvcmRlci1jb2xvcikgc29saWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGFjZUJ1dHRvbl9zZWxlY3Rpb25XcmFwcGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMnB4KTtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9TcGFjZUJ1dHRvbl9uYXJyb3cgLm14X1NwYWNlQnV0dG9uX3NlbGVjdGlvbldyYXBwZXIge1xyXG4gICAgICAgICAgICBmbGV4OiBpbml0aWFsO1xyXG4gICAgICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGFjZUJ1dHRvbl9uYW1lIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlQnV0dG9uX3RvZ2dsZUNvbGxhcHNlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogdmFyKC0tZ3V0dGVyU2l6ZSk7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAvKiBSZS1hbGlnbiB3aXRoIHBhcmVudCAqL1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0zcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGFjZUJ1dHRvbl9pY29uIHtcclxuICAgICAgICAgICAgLyogQ2FsY3VsYXRlIGhlaWdodCBleGNsdWRpbmcgcGFkZGluZyB0byBhbGxvdyBzdmcgdG8gaW5oZXJpdCAqL1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYyh2YXIoLS1oZWlnaHQtdG9wTGV2ZWwpIC0gMTRweCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1oZWlnaHQtdG9wTGV2ZWwpIC0gMTRweCk7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWFjdGlvbnM7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfU3BhY2VCdXR0b25fbmV3IC5teF9TcGFjZUJ1dHRvbl9pY29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgLyogVE9ETyB0cmFuc2l0aW9uICovXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfU3BhY2VCdXR0b25fbmV3Q2FuY2VsIC5teF9TcGFjZUJ1dHRvbl9pY29uIHN2ZyB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGFjZUJ1dHRvbl9tZW51QnV0dG9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogNHB4O1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VUcmVlTGV2ZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gICAgICAgIC5teF9TcGFjZVRyZWVMZXZlbCB7XHJcbiAgICAgICAgICAgIC8qIEluZGVudCBzdWJzcGFjZXMgKi9cclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VCdXR0b25fYXZhdGFyV3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZVBhbmVsX2JhZGdlQ29udGFpbmVyIHtcclxuICAgICAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IHRvIG1ha2UgYWxpZ25pbmcgZG90IGJhZGdlcyBlYXNpZXIgKi9cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAtM3B4O1xyXG4gICAgICAgIHRvcDogLTNweDtcclxuXHJcbiAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDJweDsgLyogY2VudGVyaW5nICovXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2VfZG90IHtcclxuICAgICAgICAgICAgLyogbWFrZSB0aGUgc21hbGxlciBkb3Qgb2NjdXB5IHRoZSBzYW1lIHdpZHRoIGZvciBjZW50ZXJpbmcgKi9cclxuICAgICAgICAgICAgbWFyZ2luOiAwIC0xcHggMCAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkc3BhY2VQYW5lbC1iZy1jb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZV8yY2hhcixcclxuICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2VfM2NoYXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IC01cHggLTVweCAwIDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRzcGFjZVBhbmVsLWJnLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BhY2VCdXR0b246aG92ZXIsXHJcbiAgICAubXhfU3BhY2VCdXR0b246Zm9jdXMtd2l0aGluLFxyXG4gICAgLm14X1NwYWNlQnV0dG9uX2hhc01lbnVPcGVuIHtcclxuICAgICAgICAmOm5vdCgubXhfU3BhY2VCdXR0b25fbmFycm93KTpub3QoLm14X1NwYWNlQnV0dG9uX2ludml0ZSkgLm14X1NwYWNlQnV0dG9uX21lbnVCdXR0b24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlSXRlbTpub3QoLm14X1NwYWNlSXRlbV9uZXcpIHtcclxuICAgICAgICAubXhfU3BhY2VCdXR0b246aG92ZXIsXHJcbiAgICAgICAgLm14X1NwYWNlQnV0dG9uOmZvY3VzLXdpdGhpbixcclxuICAgICAgICAubXhfU3BhY2VCdXR0b25faGFzTWVudU9wZW4ge1xyXG4gICAgICAgICAgICAmOm5vdCgubXhfU3BhY2VCdXR0b25fbmFycm93KTpub3QoLm14X1NwYWNlQnV0dG9uX2ludml0ZSkgLm14X1NwYWNlQnV0dG9uX25hbWUge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA1NnB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiByb290IHNwYWNlIGJ1dHRvbnMgYXJlIGJpZ2dlciBhbmQgbm90IGluZGVudGVkICovXHJcbiAgICAmID4gLm14X0F1dG9IaWRlU2Nyb2xsYmFyIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNnB4IDA7XHJcbiAgICAgICAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xyXG5cclxuICAgICAgICAmLm14X0luZGljYXRvclNjcm9sbGJhcl90b3BPdmVyZmxvdyB7XHJcbiAgICAgICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50LCBibGFjayAxNnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX2JvdHRvbU92ZXJmbG93IHtcclxuICAgICAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxyXG4gICAgICAgICAgICAgICAgdG8gdG9wLFxyXG4gICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsXHJcbiAgICAgICAgICAgICAgICByZ2IoMjU1LCAyNTUsIDI1NSwgMzAlKSA0cHgsXHJcbiAgICAgICAgICAgICAgICByZ2IoMjU1LCAyNTUsIDI1NSwgNTUlKSA4cHgsXHJcbiAgICAgICAgICAgICAgICByZ2IoMjU1LCAyNTUsIDI1NSwgNzUlKSAxMnB4LFxyXG4gICAgICAgICAgICAgICAgYmxhY2sgMTZweFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9JbmRpY2F0b3JTY3JvbGxiYXJfdG9wT3ZlcmZsb3cubXhfSW5kaWNhdG9yU2Nyb2xsYmFyX2JvdHRvbU92ZXJmbG93IHtcclxuICAgICAgICAgICAgLyogVGhpcyBzdGFja3MgdHdvIGdyYWRpZW50cyBvbiB0b3Agb2Ygb25lIGFub3RoZXIsIHdoaWNoIGxldHMgdXNcclxuICAgICAgICAgICAgICAgaGF2ZSBhIGZpeGVkIHBpeGVsIG9mZnNldCBmcm9tIGJvdGggdG9wIGFuZCBib3R0b20gZm9yIHRoZSBjb2xvdXIgc3RvcHMuXHJcbiAgICAgICAgICAgICAgIE5vdGUgdGhlIHRvcCBmYWRlIGlzIG11Y2ggc21hbGxlciBiZWNhdXNlIHRoZSBzcGFjZXMgc3RhcnQgY2xvc2UgdG8gdGhlIHRvcCxcclxuICAgICAgICAgICAgICAgc28gb3RoZXJ3aXNlIGEgbGFyZ2UgZ3JhZGllbnQgc3VkZGVubHkgYXBwZWFycyB3aGVuIHlvdSBzY3JvbGwgZG93bi5cclxuICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgIG1hc2staW1hZ2U6XHJcbiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCwgYmxhY2sgMTZweCksXHJcbiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgdG8gdG9wLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50LFxyXG4gICAgICAgICAgICAgICAgICAgIHJnYigyNTUsIDI1NSwgMjU1LCAzMCUpIDRweCxcclxuICAgICAgICAgICAgICAgICAgICByZ2IoMjU1LCAyNTUsIDI1NSwgNTUlKSA4cHgsXHJcbiAgICAgICAgICAgICAgICAgICAgcmdiKDI1NSwgMjU1LCAyNTUsIDc1JSkgMTJweCxcclxuICAgICAgICAgICAgICAgICAgICBibGFjayAxNnB4XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBtYXNrLXBvc2l0aW9uOlxyXG4gICAgICAgICAgICAgICAgMCUgMCUsXHJcbiAgICAgICAgICAgICAgICAwJSAxMDAlO1xyXG4gICAgICAgICAgICBtYXNrLXNpemU6XHJcbiAgICAgICAgICAgICAgICBjYWxjKDEwMCUgLSAxMHB4KSA1MCUsXHJcbiAgICAgICAgICAgICAgICBjYWxjKDEwMCUgLSAxMHB4KSA1MCU7XHJcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU3BhY2VQYW5lbF9jb250ZXh0TWVudSB7XHJcbiAgICBtYXgtd2lkdGg6IDM2MHB4O1xyXG5cclxuICAgIC5teF9TcGFjZVBhbmVsX2NvbnRleHRNZW51X2hlYWRlciB7XHJcbiAgICAgICAgbWFyZ2luOiAxMnB4IDE2cHggMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZVBhbmVsX2NvbnRleHRNZW51X3NlcGFyYXRvckxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU3BhY2VQYW5lbF9zaGFyZVB1YmxpY1NwYWNlIHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLm14X1NwYWNlUGFuZWxfVG9vbHRpcF9LZXlib2FyZFNob3J0Y3V0IHtcclxuICAgIGtiZCB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjUgRWxlbWVudCBDcmVhdGlvbnMgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU3BhY2VQaWxsQnV0dG9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDE2cHggMzJweCAxNnB4IDcycHg7XHJcbiAgICB3aWR0aDogNDMycHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTdweDtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgbWFyZ2luOiAyMHB4IDA7XHJcblxyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICBsZWZ0OiAyMnB4O1xyXG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU3BhY2VSb29tVmlldyB7XHJcbiAgICAtLWlubmVyV2lkdGg6IDQyOHB4O1xyXG5cclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBmbGV4OiAxO1xyXG5cclxuICAgIC5teF9NYWluU3BsaXQgPiBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDgwcHggNjBweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG5cclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0yNHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWlubmVyV2lkdGgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0taW5uZXJXaWR0aCk7XHJcblxyXG4gICAgICAgICAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzYwcHgpO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2J1dHRvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDRweDtcclxuICAgICAgICAgICAgd2lkdGg6IHZhcigtLWlubmVyV2lkdGgpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgLyogYnV0dG9uIGFsaWdubWVudCByaWdodCAqL1xyXG5cclxuICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMjJweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbnB1dC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTsgLyogb3ZlcnJpZGUgZGVmYXVsdCBzdHlsZXMgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ZpZWxkIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1pbm5lcldpZHRoKTtcclxuXHJcbiAgICAgICAgICAgICYgKyAubXhfRmllbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfZXJyb3JUZXh0IHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcblxyXG4gICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaGVhZGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfbmFtZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjRweCAwIDE2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEycHggMDtcclxuXHJcbiAgICAgICAgICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19pbnZpdGVyIHtcclxuICAgICAgICAgICAgICAgIC5teF9CYXNlQXZhdGFyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3BhY2VSb29tVmlld19sYW5kaW5nX2luZm9CYXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGdhcDogMTJweDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW5mb0Jhcl9pbnRlcmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGdhcDogMTJweCAxMnB4O1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9GYWNlUGlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAvKiBGb3IgZW5oYW5jZWQgdmlzaWJpbGl0eSB1bmRlciBjb250cmFzdCBjb250cm9sICovXHJcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW52aXRlQnV0dG9uLFxyXG4gICAgICAgICAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19zZXR0aW5nc0J1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfaW52aXRlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMThweCA0cHggNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfbGFuZGluZ19zZXR0aW5nc0J1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGFjZVJvb21WaWV3X2xhbmRpbmdfdG9waWMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NlYXJjaEJveCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIGZsZXg6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZVJvb21WaWV3X2ludml0ZVRlYW1tYXRlcyB7XHJcbiAgICAgICAgLm14X1NwYWNlUm9vbVZpZXdfaW52aXRlVGVhbW1hdGVzX2J1dHRvbnMge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyOHB4O1xyXG5cclxuICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7IC8qIHRvIGNlbnRlciBpY29ucyAqL1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYgKyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TcGxhc2hQYWdlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOlxyXG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoXHJcbiAgICAgICAgICAgICAgICA1My44NSUgNjYuNzUlIGF0IDg3LjU1JSAwJSxcclxuICAgICAgICAgICAgICAgIGhzbCgyNTBkZWcsIDc2JSwgNzElLCAwLjI2MSkgMCUsXHJcbiAgICAgICAgICAgICAgICBoc2woMjUwZGVnLCAxMDAlLCA4OCUsIDApIDEwMCVcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KDQxLjkzJSA0MS45MyUgYXQgMCUgMCUsIGhzbCgyMjJkZWcsIDI5JSwgMjAlLCAwLjI4KSAwJSwgaHNsKDI1MGRlZywgMTAwJSwgODglLCAwKSAxMDAlKSxcclxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KDEwMCUgMTAwJSBhdCAwJSAwJSwgaHNsKDI1MGRlZywgMTAwJSwgODglLCAwLjE3NCkgMCUsIGhzbCgwZGVnLCAxMDAlLCA4NiUsIDApIDEwMCUpLFxyXG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoMTA2LjM1JSA5Ni4yNiUgYXQgMTAwJSAwJSwgaHNsKDI1MGRlZywgMTAwJSwgODglLCAwLjQpIDAlLCBoc2woMTY3ZGVnLCA3NiUsIDgyJSwgMCkgMTAwJSk7XHJcbiAgICAgICAgLyogYmx1ciB0byByZWR1Y2UgY29sb3IgYmFuZGluZyBpc3N1ZXMgZHVlIHRvIGFscGhhLWJsZW5kaW5nIG11bHRpcGxlIGdyYWRpZW50cyAqL1xyXG4gICAgICAgIGZpbHRlcjogYmx1cig4cHgpO1xyXG4gICAgICAgIGluc2V0OiAtOXB4O1xyXG4gICAgICAgIG1hc2s6XHJcbiAgICAgICAgICAgIC8qIG1hc2sgdG8gZGl0aGVyIHJlc3VsdGluZyBjb21iaW5lZCBncmFkaWVudCAqL1xyXG4gICAgICAgICAgICB1cmwoXCIvcmVzL2ltZy9ub2lzZS5wbmdcIiksXHJcbiAgICAgICAgICAgIC8qIGdyYWRpZW50IHRvIGFwcGx5IGRpZmZlcmVudCBhbW91bnRzIG9mIGRpdGhlcmluZyB0byBkaWZmZXJlbnQgcGFydHMgb2YgdGhlIGdyYWRpZW50ICovXHJcbiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcclxuICAgICAgICAgICAgICAgICAgICB0byBib3R0b20sXHJcbiAgICAgICAgICAgICAgICAgICAgLyogMTAlIGRpdGhlcmluZyBhdCB0aGUgdG9wICovIHJnYigwLCAwLCAwLCAwLjkpIDIwJSxcclxuICAgICAgICAgICAgICAgICAgICAvKiA4MCUgZGl0aGVyaW5nIGF0IHRoZSBib3R0b20gKi8gcmdiKDAsIDAsIDAsIDAuMikgMTAwJVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTkgTmV3IFZlY3RvciBMdGRcclxuQ29weXJpZ2h0IDIwMTcgVHJhdmlzIFJhbHN0b25cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1RhYmJlZFZpZXcge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMCAwIDAgdmFyKC0tY3BkLXNwYWNlLTh4KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgaW5zZXQ6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbn1cclxuXHJcbi5teF9UYWJiZWRWaWV3X3RhYnNPbkxlZnQge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbHMge1xyXG4gICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICBtYXJnaW46IDA7IC8qIFJlbW92ZSB0aGUgZGVmYXVsdCB2YWx1ZSAqL1xyXG4gICAgICAgIHBhZGRpbmc6IDA7IC8qIFJlbW92ZSB0aGUgZGVmYXVsdCB2YWx1ZSAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjgwcHg7IC8qIDIyMHB4IHNpZGViYXIgKyA2MHB4IHBhZGRpbmcgKi9cclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsOmhvdmVyLFxyXG4gICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJHRhYi1sYWJlbC1hY3RpdmUtZmctY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfYWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XHJcbiAgICAgICAgLyogRm9yIGVuaGFuY2VkIHZpc2liaWxpdHkgdW5kZXIgY29udHJhc3QgY29udHJvbCAqL1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1RhYmJlZFZpZXdfdGFic09uVG9wIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTJweDtcclxuXHJcbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfdGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfVGFiYmVkVmlld190YWJQYW5lbCB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuXHJcbiAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbF9hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYkxhYmVsX3RleHQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9UYWJiZWRWaWV3X3RhYkxhYmVscyB7XHJcbiAgICBjb2xvcjogJHRhYi1sYWJlbC1mZy1jb2xvcjtcclxufVxyXG5cclxuLm14X1RhYmJlZFZpZXdfdGFiTGFiZWwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtaW4tYmxvY2stc2l6ZTogNDBweDtcclxuICAgIG1pbi1pbmxpbmUtc2l6ZTogNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0cmFuc2l0aW9uOlxyXG4gICAgICAgIGNvbG9yIDAuMXMsXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwLjFzO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfdGV4dCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4ubXhfVGFiYmVkVmlld190YWJQYW5lbCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWluLWhlaWdodDogMDsgLyogZmlyZWZveCAqL1xyXG59XHJcblxyXG4ubXhfVGFiYmVkVmlld190YWJQYW5lbENvbnRlbnQge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiAwOyAvKiBmaXJlZm94ICovXHJcbn1cclxuXHJcbi8qIEhpZGUgdGhlIGxhYmVscyBvbiB0YWJzLCBzaG93aW5nIG9ubHkgdGhlIGljb25zLCBvbiBuYXJyb3cgdmlld3BvcnRzLiAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAubXhfVGFiYmVkVmlld190YWJzT25MZWZ0Lm14X1RhYmJlZFZpZXdfcmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWxfdGV4dCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDcycHg7IC8qIDQwcHggc2lkZWJhciArIDMycHggcGFkZGluZyAqL1xyXG4gICAgICAgIH1cclxuICAgICAgICAubXhfVGFiYmVkVmlld190YWJMYWJlbHMge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLm14X1RhYmJlZFZpZXdfdGFiTGFiZWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZTogMCAwO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuICogQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZV9jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZUJ1dHRvbiB7XHJcbiAgICAvKiAhaW1wb3J0YW50IG92ZXJyaWRlIGNvbXBvdW5kICovXHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMThweCBhdXRvIGF1dG8gYXV0bztcclxuXHJcbiAgICAmLmV4cGFuZGVkIHtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBvdmVycmlkZSBjb21wb3VuZCBkZWZhdWx0IGJhY2tncm91bmQgY29sb3Igd2hlbiBob3ZlcmVkXHJcbiAgICAgICAgICogc2hvdWxkIGRpc2FwcGVhciB3aGVuIHRoZSBzcGFjZSBwYW5lbCB3aWxsIGJlIG1pZ3JhdGVkIHRvIGNvbXBvdW5kXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgLyogYWxpZ24gd2l0aCBzZXR0aW5ncyBpY29uICovXHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIxcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIG1vZGlmeSBpbnRlcm5hbCBjc3Mgb2YgdGhlIGNvbXBvdW5kIGNvbXBvbmVudFxyXG4gICAgICAgICAqIGRpcnR5IGJ1dCB3ZSBuZWVkIHRvIGFkZCB0aGUgYFRocmVhZHNgIGxhYmVsIGludG8gdGhlIGluZGljYXRvciBpY29uIGJ1dHRvblxyXG4gICAgICAgICAqKi9cclxuICAgICAgICAmID4gZGl2IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBpbmxpbmUtc2l6ZTogOHB4O1xyXG4gICAgICAgICAgICAgICAgYmxvY2stc2l6ZTogOHB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTdweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiAubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlQnV0dG9uX0ljb24ge1xyXG4gICAgICAgICAgICAvKiBhbGlnbiB3aXRoIHNldHRpbmdzIGxhYmVsICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcclxuICAgICAgICAgICAgLyogcmVxdWlyZWQgdG8gc2V0IHRoZSBpY29uIHdpZHRoIHdoZW4gaW50byBhIGZsZXggY29udGFpbmVyICovXHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZUJ1dHRvbl9UZXh0IHtcclxuICAgICAgICAgICAgLyogIWltcG9ydGFudCBvdmVycmlkZSBjb21wb3VuZCAgKi9cclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCguZXhwYW5kZWQpIHtcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6aG92ZXIgLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZUJ1dHRvbl9JY29uIHtcclxuICAgICAgICAgICAgLyogIWltcG9ydGFudCBvdmVycmlkZSBjb21wb3VuZCAqL1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVhdGVybmFyeS1jb250ZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYgLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZUJ1dHRvbl9JY29uIHtcclxuICAgICAgICBmaWxsOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9UaHJlYWRzQWN0aXZpdHlDZW50cmVfcm93cyB7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAvKiBMZXQgc29tZSBzcGFjZSBhdCB0aGUgdG9wIGFuZCB0aGUgYm90dG9tIG9mIHRoZSBwb3AtdXAgKi9cclxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyMDBweCk7XHJcblxyXG4gICAgLm14X1RocmVhZHNBY3Rpdml0eUNlbnRyZVJvdyB7XHJcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG5cclxuICAgICAgICAvKiBNYWtlIHRoZSBsYWJlbCBvZiB0aGUgTWVudUl0ZW0gc3RheSBvbiBvbmUgbGluZSBhbmQgdHJ1bmNhdGUgd2l0aCBlbGxpcHNpcyBpZiBuZWVkZWQgKi9cclxuICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAvKiBBcmJpdHJhcnkgc2l6ZSwga2VlcCB0aGUgVEFDIGFzIHRoZSB3YW50ZWQgd2lkdGggKi9cclxuICAgICAgICAgICAgd2lkdGg6IDIwMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogSGlkZSB0aGUgbm90aWZpY2F0aW9uIGJhZGdlIG9uIGhvdmVyIOKAlCBjb21wb3VuZCdzIGBuYXYtaGludCB+ICpgIHJ1bGUgd291bGQgbm9ybWFsbHlcclxuICAgICAgICAgKiBkbyB0aGlzLCBidXQgdGhlIGFwcC13ZWIgQ1NTIGxheWVyIG92ZXJyaWRlcyBjb21wb3VuZC13ZWIgcmVnYXJkbGVzcyBvZiBzcGVjaWZpY2l0eS4gKi9cclxuICAgICAgICAmOmhvdmVyIC5teF9Ob3RpZmljYXRpb25CYWRnZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVGhyZWFkc0FjdGl2aXR5Q2VudHJlX2VtcHR5Q2FwdGlvbiB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI2IEVsZW1lbnQgQ3JlYXRpb25zIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5LTIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1RvYXN0Q29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTJweDtcclxuICAgIGxlZnQ6IDYycHg7XHJcbiAgICB6LWluZGV4OiAxMDE7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMjhweCA4cHg7XHJcblxyXG4gICAgJi5teF9Ub2FzdENvbnRhaW5lcl9zdGFja2VkOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgbWFyZ2luOiAwIHZhcigtLWNwZC1zcGFjZS0xLTV4KTtcclxuICAgICAgICBncmlkLXJvdzogMiAvIC0xO1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzeXN0ZW07XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCAyMHB4IHJnYigwLCAwLCAwLCAwLjUpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RvYXN0X3RvYXN0IHtcclxuICAgICAgICBncmlkLXJvdzogMSAvIDM7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDI0cHggcmdiKDAsIDAsIDAsIDAuMSk7XHJcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwcHggMWZyIGF1dG87XHJcbiAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICByb3ctZ2FwOiA0cHg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWNwZC1zcGFjZS01eCkgLSB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpKTtcclxuXHJcbiAgICAgICAgJi5teF9Ub2FzdF9oYXNJY29uIHtcclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9Ub2FzdF90aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1RvYXN0X2Nsb3NlYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bm90KC5teF9Ub2FzdF9oYXNJY29uKSAubXhfVG9hc3RfdGl0bGUge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RvYXN0X3RpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LWxnLXNlbWlib2xkKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVG9hc3RfYm9keSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiAyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RvYXN0X2J1dHRvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG5cclxuICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA5NnB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RvYXN0X2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNzJweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTF4KSAwIDExcHggMDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVG9hc3RfZGV2aWNlSUQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1VwbG9hZEJhciB7XHJcbiAgICAvKiBsaW5lIHVwIHdpdGggdGhlIHNoaWVsZCBhcmVhIGluIHRoZSBjb21wb3NlciAqL1xyXG4gICAgcGFkZGluZzogNXB4IDIxcHggMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZTpcclxuICAgICAgICBcImljb24gICAgIGZpbGVuYW1lIGNhbmNlbFwiIGF1dG9cclxuICAgICAgICBcInByb2dyZXNzIHByb2dyZXNzIHByb2dyZXNzXCIgYXV0b1xyXG4gICAgICAgIC8gbWluLWNvbnRlbnQgYXV0byBtaW4tY29udGVudDtcclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTEtNXgpO1xyXG5cclxuICAgICYgPiBzdmcge1xyXG4gICAgICAgIGdyaWQtYXJlYTogaWNvbjtcclxuICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcclxuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1VwbG9hZEJhcl9maWxlbmFtZSB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBmaWxlbmFtZTtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVXBsb2FkQmFyX2NhbmNlbCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBjYW5jZWw7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Qcm9ncmVzc0JhciB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBwcm9ncmVzcztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1RocmVhZFZpZXcge1xyXG4gICAgLm14X1VwbG9hZEJhciB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVmlld1NvdXJjZSB7XHJcbiAgICBwcmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICBwYWRkaW5nOiAwLjVlbSAxZW07XHJcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVmlld1NvdXJjZV9oZWFkZXIge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy0xMjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xMjtcclxuICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xyXG5cclxuICAgICAgICAubXhfQ29weWFibGVUZXh0IHtcclxuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfVmlld1NvdXJjZV9oZWFkaW5nIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE3cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xMjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVmlld1NvdXJjZV9kZXRhaWxzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xMjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQ29weWFibGVUZXh0X2JvcmRlciB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NvbXBsZXRlU2VjdXJpdHlfaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfRTJFSWNvbi5teF9Db21wbGV0ZVNlY3VyaXR5X2hlYWRlckljb24ge1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLm14X0UyRUljb24ubXhfQ29tcGxldGVTZWN1cml0eV9oZXJvSWNvbiB7XHJcbiAgICB3aWR0aDogMTI4cHg7XHJcbiAgICBoZWlnaHQ6IDEyOHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5teF9Db21wbGV0ZVNlY3VyaXR5X3NraXAge1xyXG4gICAgQG1peGluIGN1c3RvbWlzZWRDYW5jZWxCdXR0b247XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMjRweDtcclxufVxyXG5cclxuLm14X0NvbXBsZXRlU2VjdXJpdHlfYm9keSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbn1cclxuXHJcbi5teF9Db21wbGV0ZVNlY3VyaXR5X3dhaXRpbmcge1xyXG4gICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfQ29tcGxldGVTZWN1cml0eV9hY3Rpb25Sb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBtYXJnaW4tdG9wOiAkZm9udC0yOHB4O1xyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxOHB4O1xyXG5cclxuICAgICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTktMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ29uZmlybVNlc3Npb25Mb2NrVGhlZnRWaWV3IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0NvbmZpcm1TZXNzaW9uTG9ja1RoZWZ0Vmlld19ib2R5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xvZ2luX3N1Ym1pdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG59XHJcblxyXG4ubXhfTG9naW5fbG9hZGVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogMnB4O1xyXG4gICAgbGVmdDogOHB4O1xyXG59XHJcblxyXG4ubXhfTG9naW5fbG9hZGVyIC5teF9TcGlubmVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxufVxyXG5cclxuLm14X0xvZ2luX2xvYWRlciAubXhfU3Bpbm5lciBpbWcge1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5teF9Mb2dpbl9lcnJvciB7XHJcbiAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxufVxyXG5cclxuLm14X0xvZ2luX2Vycm9yLm14X0xvZ2luX3NlcnZlckVycm9yIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4ubXhfTG9naW5fZXJyb3IubXhfTG9naW5fc2VydmVyRXJyb3IubXhfTG9naW5fc2VydmVyRXJyb3JOb25GYXRhbCB7XHJcbiAgICBjb2xvcjogI2ZmOGQxMzsgLyogT25seSB1c2VkIGhlcmUgKi9cclxufVxyXG5cclxuLm14X0xvZ2luX3R5cGVfY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICRhdXRocGFnZS1wcmltYXJ5LWNvbG9yO1xyXG5cclxuICAgIC5teF9GaWVsZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTG9naW5fdHlwZV9sYWJlbCB7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4ubXhfTG9naW5fdW5kZXJsaW5lZFNlcnZlck5hbWUge1xyXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAkYWNjZW50O1xyXG59XHJcblxyXG5kaXYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmsubXhfTG9naW5fZm9yZ290IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogMjRweDtcclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Mb2dpbl9zcGlubmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxNHB4O1xyXG59XHJcblxyXG4ubXhfTG9naW5fZnVsbFdpZHRoQnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTUtMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTG9naW5TcGxhc2hWaWV3X21pZ3JhdGlvblByb2dyZXNzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIC5teF9Qcm9ncmVzc0JhciB7XHJcbiAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgd2lkdGg6IDYwMHB4O1xyXG5cclxuICAgICAgICBAbWl4aW4gUHJvZ3Jlc3NCYXJCb3JkZXJSYWRpdXMgOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTG9naW5TcGxhc2hWaWV3X3NwbGFzaEJ1dHRvbnMge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5teF9Mb2dpblNwbGFzaFZpZXdfc3luY0Vycm9yIHtcclxuICAgIGNvbG9yOiAkYWNjZW50LWZnLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmMmE4YjsgLyogT25seSB1c2VkIGhlcmUgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwcHg7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Nb2JpbGVSZWdpc3Rlcl9ib2R5IHtcclxuICAgIHBhZGRpbmc6IDMycHg7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9SZWdpc3Rlcl9tYWluQ29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIG1pbi1oZWlnaHQ6IDI3MHB4O1xyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICAgICAgY29sb3I6ICRhdXRocGFnZS1wcmltYXJ5LWNvbG9yO1xyXG5cclxuICAgICAgICAmLnNlY29uZGFyeSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYXV0aHBhZ2Utc2Vjb25kYXJ5LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IGltZzpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luX3N1Ym1pdCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1JlZ2lzdGVyX2Zvb3RlckFjdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcclxuICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiKDE0MSwgMTUxLCAxNjUsIDAuMik7XHJcblxyXG4gICAgPiAqIHtcclxuICAgICAgICBmbGV4LWJhc2lzOiBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2Vzc2lvbkxvY2tTdG9sZW5WaWV3IHtcclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTMycHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTI0cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2V0dXBFbmNyeXB0aW9uQm9keSB7XHJcbiAgICB3aWR0aDogNjAwcHg7XHJcbn1cclxuIiwiLypcblBMWCBNaWRuaWdodCBmb250IOKAlCBQbHVzIEpha2FydGEgU2Fucy5cblxuQGZvbnQtZmFjZSBkZWNsYXJhdGlvbnMgZm9yIHRoZSBQTFggcHJpbWFyeSB0eXBlZmFjZS4gRmlsZXMgbGl2ZSBpblxucmVzL2ZvbnRzL1BsdXNKYWthcnRhU2Fucy8gYW5kIGFyZSBjb3BpZWQgdmVyYmF0aW0gaW50byB0aGUgYnVpbGQgb3V0cHV0IGJ5XG53ZWJwYWNrJ3MgYXNzZXQgaGFuZGxpbmcgKHJlZmVyZW5jZWQgdmlhIGFic29sdXRlIC9yZXMvIFVSTHMsIG1hdGNoaW5nIHRoZVxuVHdlbW9qaSBwYXR0ZXJuIGluIF9mb250cy5wY3NzKS4gVGhlIGZhbWlseSBpcyB3aXJlZCBhcyB0aGUgcHJpbWFyeSBmb250IGluXG5fcGx4LXRlbGVncmFtLnBjc3MgKC0tcGx4LWZvbnQpIHdpdGggYSBzeXN0ZW0tdWkgZmFsbGJhY2suXG4qL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJQbHVzIEpha2FydGEgU2Fuc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IHVybChcIi9yZXMvZm9udHMvUGx1c0pha2FydGFTYW5zL3BsdXMtamFrYXJ0YS1zYW5zLWxhdGluLTQwMC1ub3JtYWwud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJQbHVzIEpha2FydGEgU2Fuc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IHVybChcIi9yZXMvZm9udHMvUGx1c0pha2FydGFTYW5zL3BsdXMtamFrYXJ0YS1zYW5zLWxhdGluLTUwMC1ub3JtYWwud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJQbHVzIEpha2FydGEgU2Fuc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IHVybChcIi9yZXMvZm9udHMvUGx1c0pha2FydGFTYW5zL3BsdXMtamFrYXJ0YS1zYW5zLWxhdGluLTYwMC1ub3JtYWwud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJQbHVzIEpha2FydGEgU2Fuc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IHVybChcIi9yZXMvZm9udHMvUGx1c0pha2FydGFTYW5zL3BsdXMtamFrYXJ0YS1zYW5zLWxhdGluLTcwMC1ub3JtYWwud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJQbHVzIEpha2FydGEgU2Fuc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IHVybChcIi9yZXMvZm9udHMvUGx1c0pha2FydGFTYW5zL3BsdXMtamFrYXJ0YS1zYW5zLWxhdGluLTgwMC1ub3JtYWwud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG4iLCIvKlxuUExYIE1pZG5pZ2h0IHRoZW1lIG92ZXJsYXkuXG5cbkFwcGxpZWQgYXMgdGhlIGxhc3QgaW1wb3J0IGluIHRoZSBkYXJrIHRoZW1lIHNvIGl0IHNpdHMgYXQgdGhlIHRvcCBvZiB0aGVcbmBhcHAtd2ViYCBjYXNjYWRlIGxheWVyIGFuZCBvdmVycmlkZXMgRWxlbWVudCdzIGRlZmF1bHRzLiBJdCBtYXBzIHRoZVxuUExYIFwiTWlkbmlnaHRcIiBkZXNpZ24gdG9rZW5zIChkZWVwIG5hdnkgb24gVEFSRElTIGJsdWUpIG9udG8gRWxlbWVudCdzXG5jb21wb25lbnQgc2VsZWN0b3JzIGFuZCBjb21wb3VuZCBkZXNpZ24gdG9rZW5zLlxuXG5Sb2J1c3RuZXNzIG5vdGVzOlxuLSBXZSBvdmVycmlkZSB0aGUgcnVudGltZSBDU1MgY3VzdG9tIHByb3BlcnRpZXMgKC0tY3BkLWNvbG9yLSopIHJhdGhlciB0aGFuXG4gIFNDU1MgYnVpbGQgdmFycywgc28gdGhpcyBpcyBhIHNpbmdsZSBzZWxmLWNvbnRhaW5lZCBmaWxlIHdpdGggbm8gYnVpbGQtZ3JhcGhcbiAgY291cGxpbmcuXG4tIEFsbCBjb2xvdXJzL3JhZGlpIGFyZSBzb3VyY2VkIGZyb20gdGhlIE1pZG5pZ2h0IGRlc2lnbiBoYW5kb2ZmLlxuKi9cblxuOnJvb3Qge1xuICAgIC8qIC0tLS0gUExYIC8gTWlkbmlnaHQgZGFyayB0b2tlbiBibG9jayAtLS0tICovXG4gICAgLS1wbHgtYWNjZW50OiAjMmU4MGRlOyAgICAgICAgICAgIC8qIFRBUkRJUyBibHVlIOKAlCBsaW5rcywgYWN0aXZlLCBiYWRnZXMgKi9cbiAgICAtLXBseC1hY2NlbnQtaG92ZXI6ICMzYThmZTY7ICAgICAgLyogYWNjZW50LWJyaWdodCAqL1xuICAgIC0tcGx4LWFjY2VudC1kZWVwOiAjMTc1ZmIwO1xuICAgIC0tcGx4LWFjY2VudC1zb2Z0OiByZ2JhKDQ2LCAxMjgsIDIyMiwgMC4xNik7XG4gICAgLS1wbHgtYmc6ICMwZTE2MjE7ICAgICAgICAgICAgICAgIC8qIGNoYXQgYXJlYSBiYWNrZ3JvdW5kICovXG4gICAgLS1wbHgtYmctc2Vjb25kYXJ5OiAjMGUxNjIxOyAgICAgIC8qIHNpZGViYXIgLyByb29tIGxpc3QgYmcgKi9cbiAgICAtLXBseC1wYW5lbDogIzE3MjEyYjsgICAgICAgICAgICAgLyogc2lkZWJhciwgaGVhZGVycywgY29tcG9zZXIgKi9cbiAgICAtLXBseC1wYW5lbC0yOiAjMjAyYjM2OyAgICAgICAgICAgLyogY2FyZHMsIHBvcG92ZXJzLCBob3ZlciBzdXJmYWNlcyAqL1xuICAgIC0tcGx4LWJ1YmJsZS1pbjogIzE4MjUzMzsgICAgICAgICAvKiBpbmNvbWluZyBtZXNzYWdlIGJ1YmJsZSAqL1xuICAgIC0tcGx4LWJ1YmJsZS1vdXQ6ICMyZTgwZGU7ICAgICAgICAvKiBvdXRnb2luZyAoc29saWQgZmFsbGJhY2s7IGdyYWRpZW50IGJlbG93KSAqL1xuICAgIC0tcGx4LWJ1YmJsZS1vdXQtZ3JhZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzJlODBkZSwgIzE3NWZiMCk7XG4gICAgLS1wbHgtYnViYmxlLW91dC1tZXRhOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpO1xuICAgIC0tcGx4LXRleHQ6ICNmZmZmZmY7XG4gICAgLS1wbHgtdGV4dC1zZWNvbmRhcnk6ICM3ZjkxYTQ7ICAgIC8qIGRpbSAqL1xuICAgIC0tcGx4LW1ldGE6ICM3ZjkxYTQ7XG4gICAgLS1wbHgtYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xuICAgIC0tcGx4LWRpdmlkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG4gICAgLS1wbHgtcm93LWhvdmVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICAgIC0tcGx4LXJvdy1hY3RpdmU6IHZhcigtLXBseC1hY2NlbnQtc29mdCk7XG4gICAgLS1wbHgtcGxhY2Vob2xkZXI6ICM3ZjkxYTQ7XG4gICAgLS1wbHgtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAgIC0tcGx4LW9ubGluZTogIzRlZTA3YTtcbiAgICAtLXBseC1kYW5nZXI6ICNlMDQ1NGI7XG4gICAgLS1wbHgtc3VjY2VzczogIzNlY2Y4ZTtcbiAgICAtLXBseC1yZWFkLXRpY2s6ICM4ZmQwZmY7XG5cbiAgICAvKiBnZW9tZXRyeSAqL1xuICAgIC0tcGx4LXJhZGl1cy1idWJibGU6IDE2cHg7XG4gICAgLS1wbHgtcmFkaXVzLWJ1YmJsZS10aWdodDogNHB4O1xuICAgIC0tcGx4LXJhZGl1cy1pbnB1dDogMTNweDtcbiAgICAtLXBseC1yYWRpdXMtYnV0dG9uOiAxM3B4O1xuICAgIC0tcGx4LXJhZGl1cy1jYXJkOiAxNHB4O1xuICAgIC0tcGx4LWF2YXRhcjogNTJweDtcbiAgICAtLXBseC1yb3ctaGVpZ2h0OiA2MHB4O1xuICAgIC0tcGx4LWhlYWRlci1oZWlnaHQ6IDYwcHg7XG5cbiAgICAtLXBseC1mb250OiBcIlBsdXMgSmFrYXJ0YSBTYW5zXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICAtLXBseC1lYXNlLWxheWVyOiAzMDBtcyBjdWJpYy1iZXppZXIoMC4zMywgMSwgMC42OCwgMSk7XG4gICAgLS1wbHgtZWFzZS1zbGlkZTogMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSk7XG4gICAgLS1wbHgtZWFzZS1zZWxlY3Q6IDIwMG1zIGVhc2Utb3V0O1xufVxuXG4vKiAtLS0tIEFjY2VudDogZmxpcCBFbGVtZW50IGdyZWVuIC0+IE1pZG5pZ2h0IFRBUkRJUyBibHVlIC0tLS1cbiAgIEVsZW1lbnQncyBhY2NlbnQgZGVyaXZlcyBmcm9tIHRoZSBjb21wb3VuZCBcImdyZWVuXCIgdG9rZW4gcmFtcCBhbmQgdGhlXG4gICB0ZXh0LWFjdGlvbiAvIHByaW1hcnkgdG9rZW5zLiBSZW1hcCB0aGVtIHRvIHRoZSBQTFggYmx1ZSBzbyBidXR0b25zLFxuICAgbGlua3MsIGFjdGl2ZSBzdGF0ZXMsIHRoZSBzeW5jIHNwaW5uZXIgYW5kIHNlbGVjdGlvbiBhbGwgYmVjb21lIGJsdWUuICovXG46cm9vdCxcbi5jcGQtdGhlbWUtZGFyayxcbltjbGFzcyo9XCJjcGQtdGhlbWVcIl0ge1xuICAgIC8qIFByaW1hcnkgdHlwZWZhY2U6IFBsdXMgSmFrYXJ0YSBTYW5zIHByb3BhZ2F0ZXMgYXBwLXdpZGUgdmlhIHRoZSBDb21wb3VuZFxuICAgICAgIHNhbnMgdG9rZW4gKGRyaXZlcyBib2R5LCBDb21wb3VuZCBjb21wb25lbnRzLCBkaWFsb2dzLCDigKYpLiAqL1xuICAgIC0tY3BkLWZvbnQtZmFtaWx5LXNhbnM6XG4gICAgICAgIFwiUGx1cyBKYWthcnRhIFNhbnNcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlR3ZW1vamlcIixcbiAgICAgICAgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gICAgLS1jcGQtY29sb3ItdGV4dC1hY3Rpb24tYWNjZW50OiB2YXIoLS1wbHgtYWNjZW50KTtcbiAgICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0OiB2YXIoLS1wbHgtYWNjZW50KTtcbiAgICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1ob3ZlcmVkOiB2YXIoLS1wbHgtYWNjZW50LWhvdmVyKTtcbiAgICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1wcmVzc2VkOiB2YXIoLS1wbHgtYWNjZW50LWRlZXApO1xuICAgIC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeTogdmFyKC0tcGx4LXRleHQpO1xuXG4gICAgLyogVGhlIGdyZWVuIHJhbXAgaXMgd2hhdCBFbGVtZW50IHVzZXMgZm9yIGFjY2VudHMgYW5kIHRoZSBPV04gYnViYmxlIGZpbGwuXG4gICAgICAgUmVwb2ludCB0aGUgbWlkIHJhbXAgdG8gYmx1ZSBzbyBvd24gYnViYmxlcyArIGFjY2VudHMgZm9sbG93IE1pZG5pZ2h0LiAqL1xuICAgIC0tY3BkLWNvbG9yLWdyZWVuLTMwMDogdmFyKC0tcGx4LWJ1YmJsZS1vdXQpO1xuICAgIC0tY3BkLWNvbG9yLWdyZWVuLTQwMDogdmFyKC0tcGx4LWFjY2VudCk7XG4gICAgLS1jcGQtY29sb3ItZ3JlZW4tNTAwOiB2YXIoLS1wbHgtYWNjZW50KTtcbiAgICAtLWNwZC1jb2xvci1ncmVlbi02MDA6IHZhcigtLXBseC1hY2NlbnQtaG92ZXIpO1xuICAgIC0tY3BkLWNvbG9yLWdyZWVuLTcwMDogdmFyKC0tcGx4LWFjY2VudC1kZWVwKTtcbiAgICAtLWNwZC1jb2xvci1ncmVlbi05MDA6ICNlOWYyZmI7XG4gICAgLS1jcGQtY29sb3ItZ3JlZW4tMTEwMDogI2U5ZjJmYjtcblxuICAgIC8qIGluY29taW5nIGJ1YmJsZSA9IG5ldXRyYWwgcGFuZWwgKi9cbiAgICAtLWNwZC1jb2xvci1ncmF5LTMwMDogdmFyKC0tcGx4LWJ1YmJsZS1pbik7XG5cbiAgICAvKiBzdWNjZXNzIC8gb25saW5lIChFMkVFIGFjdGl2ZSwgYXBwcm92ZSkgKi9cbiAgICAtLWNwZC1jb2xvci10ZXh0LXN1Y2Nlc3MtcHJpbWFyeTogdmFyKC0tcGx4LXN1Y2Nlc3MpO1xuICAgIC0tY3BkLWNvbG9yLWljb24tc3VjY2Vzcy1wcmltYXJ5OiB2YXIoLS1wbHgtc3VjY2Vzcyk7XG4gICAgLyogZGFuZ2VyIChzaWduIG91dCwgZGVueSkgKi9cbiAgICAtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnk6IHZhcigtLXBseC1kYW5nZXIpO1xufVxuXG4vKiAtLS0tIEFwcCArIHJvb20gYmFja2dyb3VuZCAtLS0tICovXG4ubXhfTWF0cml4Q2hhdF93cmFwcGVyLFxuLm14X1Jvb21WaWV3LFxuLm14X01haW5TcGxpdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGx4LWJnKTtcbn1cblxuLm14X0xlZnRQYW5lbCxcbi5teF9TcGFjZVBhbmVsLFxuLm14X1Jvb21MaXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wbHgtcGFuZWwpO1xufVxuXG4vKiAtLS0tIFBMWC0wMTI6IHJvb20tbGlzdCB1c2VyIGJhciAoYXZhdGFyIC0+IFByb2ZpbGUgLyBTZXR0aW5ncyAvIFNpZ24gb3V0KSAtLS0tXG4gICBNaWRuaWdodCBjaGlwIHRoYXQgaG9zdHMgdGhlIHJlc3RvcmVkIFVzZXJNZW51IGF0IHRoZSB0b3Agb2YgdGhlIHJvb20gbGlzdC4gKi9cbi5teF9Sb29tTGlzdFBhbmVsX3VzZXJCYXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1wbHgtYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtcGFuZWwpO1xufVxuLm14X1Jvb21MaXN0UGFuZWxfdXNlckJhciAubXhfVXNlck1lbnUgYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1wbHgtZWFzZS1zZWxlY3QpO1xufVxuLm14X1Jvb21MaXN0UGFuZWxfdXNlckJhciAubXhfVXNlck1lbnUgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wbHgtcm93LWhvdmVyKTtcbn1cbi5teF9Sb29tTGlzdFBhbmVsX3VzZXJCYXIgLm14X0Jhc2VBdmF0YXIsXG4ubXhfUm9vbUxpc3RQYW5lbF91c2VyQmFyIC5teF9Vc2VyTWVudSBbY2xhc3MqPVwiYXZhdGFyXCJdIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi8qIC0tLS0gVHlwb2dyYXBoeSAtLS0tXG4gICBfY29tbW9uLnBjc3MgYXBwbGllcyBgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKSAhaW1wb3J0YW50YCB0b1xuICAgYm9keSwgYSBDb21wb3VuZCBjb21wb3NpdGUgc2hvcnRoYW5kIHRoYXQgaGFyZC1jb2RlcyBJbnRlciBhcyB0aGUgZmFtaWx5IGFuZFxuICAgcmVzZXRzIGZvbnQtZmFtaWx5LiBXZSByZS1hc3NlcnQgdGhlIFBMWCBmYW1pbHkgd2l0aCAhaW1wb3J0YW50IEFGVEVSIGl0IHNvXG4gICBQbHVzIEpha2FydGEgU2FucyB3aW5zIGFwcC13aWRlLiAqL1xuYm9keSxcbi5teF9NYXRyaXhDaGF0IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tcGx4LWZvbnQpICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09IE1FU1NBR0UgQlVCQkxFUyA9PT09PT09PT09PT09PT09PSAqL1xuLyogVGVsZWdyYW0tc3R5bGUgTWlkbmlnaHQgYnViYmxlcy4gQnViYmxlIGxheW91dCBpcyBub3cgdGhlIGFwcCBkZWZhdWx0XG4gICAoc2VlIFNldHRpbmdzLnRzeDogbGF5b3V0IC0+IExheW91dC5CdWJibGUpLiBTcGVjOlxuICAgICAtIG91dGdvaW5nID0gbGluZWFyLWdyYWRpZW50KDEzNWRlZywjMkU4MERFLCMxNzVGQjApLCB3aGl0ZSB0ZXh0XG4gICAgIC0gaW5jb21pbmcgPSAjMTgyNTMzLCB3aGl0ZSB0ZXh0XG4gICAgIC0gMTZweCByYWRpdXMsIHdpdGggYSA0cHggXCJ0YWlsXCIgY29ybmVyIG9uIHRoZSBib3R0b20gZWRnZSBuZWFyZXN0XG4gICAgICAgdGhlIHNlbmRlciAoVGVsZWdyYW0gbG9vaykuICovXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcbiAgICAtLWNvcm5lclJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1idWJibGUpO1xuICAgIC0tZ3V0dGVyU2l6ZTogOXB4O1xuICAgIC0tbWF4V2lkdGg6IDc0JTtcbn1cblxuLyogaW5jb21pbmcgYnViYmxlIGZpbGwgKyB0ZXh0ICovXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LWJ1YmJsZS1pbikgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQpO1xufVxuXG4vKiBvdXRnb2luZyBidWJibGUgZmlsbCArIHRleHQgKE1pZG5pZ2h0IGdyYWRpZW50KVxuICAgUExYLTAwNTogc2NvcGUgdGhlIGdyYWRpZW50IHRvIE9XTiAqbWVzc2FnZSogYnViYmxlcyBPTkxZLiBTZXZlcmFsIG5vbi1tZXNzYWdlXG4gICB0aWxlcyBhbHNvIGNhcnJ5IGRhdGEtc2VsZj1cInRydWVcIiAoc2VuZGVyIGlzIHVzKSBidXQgbXVzdCBOT1QgZ2V0IHRoZSBncmFkaWVudDpcbiAgICAgLSAubXhfRXZlbnRUaWxlX2luZm8gICAgICAgICAgICAtPiBcIlggaW52aXRlZCBZXCIgbWVtYmVyc2hpcC9zdGF0ZSB0aWxlc1xuICAgICAtIC5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyIC0+IFwiRW5jcnlwdGlvbiBlbmFibGVkXCIgY3J5cHRvL3N0YXRlIGV2ZW50IHRpbGVzXG4gICAgIC0gLm14X0V2ZW50VGlsZV9ub1NlbmRlciAgICAgICAgLT4gc2VuZGVyLWxlc3Mgc3RhdGUgdGlsZXNcbiAgICAgLSB0aWxlcyB3aG9zZSBib2R5IGlzIC5teF9EZWNyeXB0aW9uRmFpbHVyZUJvZHkgLT4gXCJjYW4ndCBkZWNyeXB0XCIgLyB2ZXJpZnkgbmFnc1xuICAgRXhjbHVkZSBhbGwgb2YgdGhlbS4gKi9cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXTpub3QoLm14X0V2ZW50VGlsZV9pbmZvKTpub3QoLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIpOm5vdCgubXhfRXZlbnRUaWxlX25vU2VuZGVyKVxuICAgIC5teF9FdmVudFRpbGVfbGluZTpub3QoOmhhcygubXhfRGVjcnlwdGlvbkZhaWx1cmVCb2R5KSkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1idWJibGUtb3V0LWdyYWQpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi8qIGtlZXAgbWVkaWEgY29udGFpbmVycyBpbnNpZGUgb3V0Z29pbmcgYnViYmxlcyBvbiB0aGUgZ3JhZGllbnQgKi9cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXTpub3QoLm14X0V2ZW50VGlsZV9pbmZvKTpub3QoLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIpOm5vdCgubXhfRXZlbnRUaWxlX25vU2VuZGVyKVxuICAgIC5teF9NZWRpYUJvZHkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1idWJibGUtb3V0LWdyYWQpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBMWC0wMDU6IHN0YXRlIC8gbWVtYmVyc2hpcCAvIGluZm8gLyBjcnlwdG8gLyBkZWNyeXB0aW9uLWZhaWx1cmUgdGlsZXMgPVxuICAgbmV1dHJhbCwgbm8gYnViYmxlIGZpbGwsIHJlZ2FyZGxlc3Mgb2Ygd2hvIHNlbnQgdGhlbS4gKi9cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9saW5lLFxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2xpbmUgLm14X01lZGlhQm9keSxcbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lciAubXhfRXZlbnRUaWxlX2xpbmUsXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLm14X0V2ZW50VGlsZV9ub1NlbmRlciAubXhfRXZlbnRUaWxlX2xpbmUsXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZTpoYXMoLm14X0RlY3J5cHRpb25GYWlsdXJlQm9keSkge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0LXNlY29uZGFyeSkgIWltcG9ydGFudDtcbn1cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2luZm8gLm14X1RleHR1YWxFdmVudCxcbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ubXhfRXZlbnRUaWxlX2luZm8gLm14X0V2ZW50VGlsZV9jb250ZW50LFxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAubXhfRGVjcnlwdGlvbkZhaWx1cmVCb2R5IHtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9NVGV4dEJvZHksXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIC5teF9FdmVudFRpbGVfYm9keSxcbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi8qIGNvZGUgLyBxdW90ZXMgaW5zaWRlIGFuIG91dGdvaW5nIGJ1YmJsZSBuZWVkIGEgdHJhbnNsdWNlbnQgZGFyayBwYW5lbCBzb1xuICAgdGhleSBzdGF5IGxlZ2libGUgb24gdGhlIGJsdWUgZ3JhZGllbnQgKi9cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUgcHJlLFxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfbGluZSBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjIpO1xuICAgIGNvbG9yOiAjZWFmM2ZmO1xufVxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfbGluZSBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG59XG5cbi8qIHRpbWVzdGFtcCAvIG1ldGEgaW5zaWRlIG91dGdvaW5nIGJ1YmJsZSAqL1xuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcbiAgICBjb2xvcjogdmFyKC0tcGx4LWJ1YmJsZS1vdXQtbWV0YSk7XG59XG5cbi8qIHJlcGx5LXF1b3RlIHRpbGUgc2l0dGluZyBpbnNpZGUgYW4gb3V0Z29pbmcgYnViYmxlIC0+IHJlYWRhYmxlIG9uIGdyYWRpZW50ICovXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X1JlcGx5Q2hhaW4ge1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG59XG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X1JlcGx5Q2hhaW4gLm14X0V2ZW50VGlsZV9ib2R5LFxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9SZXBseUNoYWluIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9kaXNwbGF5TmFtZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MikgIWltcG9ydGFudDtcbn1cblxuLyogc2VuZGVyIG5hbWUgY29sb3VyIChncm91cCBjaGF0cykgLT4gbGlnaHQgdGludCBpbnN0ZWFkIG9mIHRoZSBncmVlbiByYW1wICovXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSA+IHNwYW4sXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9kaXNwbGF5TmFtZSB7XG4gICAgY29sb3I6ICNjZmUyZjYgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiAtLS0tIFRhaWwgY29ybmVycyAoVGVsZWdyYW0gbG9vaykgLS0tLVxuICAgVGhlIFwidGFpbFwiIGlzIGEgNHB4IGNvcm5lciBvbiB0aGUgYm90dG9tIGVkZ2UgbmVhcmVzdCB0aGUgc2VuZGVyLiBUaGUgYmFzZVxuICAgYnViYmxlIENTUyByb3VuZHMgdGhlIGZhci1ib3R0b20gY29ybmVyIHRvIC0tY29ybmVyUmFkaXVzOyB3ZSB0aWdodGVuIHRoZVxuICAgbmVhci1ib3R0b20gY29ybmVyLiBDb250aW51YXRpb24gdGlsZXMgYWxzbyB0aWdodGVuIHRoZSBsZWFkaW5nIHRvcCBjb3JuZXJcbiAgIHNvIHN0YWNrZWQgYnViYmxlcyByZWFkIGFzIG9uZSBncm91cC4gKi9cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwiZmFsc2VcIl0ubXhfRXZlbnRUaWxlX2xhc3RJblNlY3Rpb24gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWJ1YmJsZS10aWdodCkgIWltcG9ydGFudDtcbn1cbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl1bZGF0YS1zZWxmPVwidHJ1ZVwiXS5teF9FdmVudFRpbGVfbGFzdEluU2VjdGlvbiAubXhfRXZlbnRUaWxlX2xpbmUge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWJ1YmJsZS10aWdodCkgIWltcG9ydGFudDtcbn1cblxuLyogZ3JvdXBlZC1tZXNzYWdlIGxlYWRpbmcgY29ybmVyIChjb250aW51YXRpb24pIC0+IDRweCAqL1xuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfY29udGludWF0aW9uW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1idWJibGUtdGlnaHQpO1xufVxuLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXS5teF9FdmVudFRpbGVfY29udGludWF0aW9uW2RhdGEtc2VsZj1cInRydWVcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1idWJibGUtdGlnaHQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PSBDT01QT1NFUiA9PT09PT09PT09PT09PT09PSAqL1xuLyogRmxvYXRpbmcgcm91bmRlZCBwYW5lbCB3aXRoIGEgc29mdCBsaWZ0LiAqL1xuLm14X01lc3NhZ2VDb21wb3NlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLm14X01lc3NhZ2VDb21wb3Nlcl93cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtcGFuZWwpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBseC1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHZhcigtLXBseC1zaGFkb3cpO1xuICAgIG1hcmdpbjogMCAxMnB4IDEycHg7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbn1cblxuLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0IHtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQpO1xufVxuXG4ubXhfTWVzc2FnZUNvbXBvc2VyX2lucHV0OjpwbGFjZWhvbGRlcixcbi5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dFtjb250ZW50ZWRpdGFibGVdOmVtcHR5OjpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtcGxhY2Vob2xkZXIpO1xufVxuXG4vKiBzZW5kIGJ1dHRvbiAtPiBjaXJjdWxhciBhY2NlbnQgKi9cbi5teF9NZXNzYWdlQ29tcG9zZXJfc2VuZE1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1idWJibGUtb3V0LWdyYWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT0gUk9PTSBIRUFERVIgPT09PT09PT09PT09PT09PT0gKi9cbi5teF9Sb29tSGVhZGVyIHtcbiAgICBoZWlnaHQ6IHZhcigtLXBseC1oZWFkZXItaGVpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtcGFuZWwpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1wbHgtYm9yZGVyKTtcbn1cblxuLm14X1Jvb21IZWFkZXJfaGVhZGluZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT0gQ0hBVCBMSVNUIFJPV1MgPT09PT09PT09PT09PT09PT0gKi9cbi5teF9Sb29tVGlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBseC1lYXNlLXNlbGVjdCk7XG59XG5cbi5teF9Sb29tVGlsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGx4LXJvdy1ob3ZlcikgIWltcG9ydGFudDtcbn1cblxuLm14X1Jvb21UaWxlLm14X1Jvb21UaWxlX3NlbGVjdGVkLFxuLm14X1Jvb21UaWxlW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wbHgtcm93LWFjdGl2ZSkgIWltcG9ydGFudDtcbn1cblxuLm14X1Jvb21UaWxlLm14X1Jvb21UaWxlX3NlbGVjdGVkIC5teF9Sb29tVGlsZV90aXRsZSxcbi5teF9Sb29tVGlsZVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSAubXhfUm9vbVRpbGVfdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtYWNjZW50KTtcbn1cblxuLyogdW5yZWFkIGJhZGdlIC0+IE1pZG5pZ2h0IGFjY2VudCBwaWxsICovXG4ubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1hY2NlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgbWluLXdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiBhdmF0YXJzIHN0YXkgY2lyY3VsYXIgKi9cbi5teF9Sb29tVGlsZSAubXhfQmFzZUF2YXRhciB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PSBCVVRUT05TIC8gUkFESUkgPT09PT09PT09PT09PT09PT0gKi9cbi5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5LFxuLm14X0RpYWxvZ19wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wbHgtYWNjZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1wbHgtcmFkaXVzLWJ1dHRvbik7XG59XG5cbi5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5OmhvdmVyLFxuLm14X0RpYWxvZ19wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wbHgtYWNjZW50LWhvdmVyKTtcbn1cblxuLyogbGlua3MgKi9cbmEsXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmssXG4ubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfaW5saW5lIHtcbiAgICBjb2xvcjogdmFyKC0tcGx4LWFjY2VudCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09IEFVVEggKGxvZ2luKSBTQ1JFRU4gPT09PT09PT09PT09PT09PT0gKi9cbi8qIFdDLTA0IG5vdGU6IGEgdGVtcHRpbmcgXCJkZWFkIGR1cGxpY2F0ZVwiIGNsZWFudXAgaGVyZSAoZHJvcHBpbmcgLm14X0F1dGhQYWdlXG4gICBmcm9tIHRoaXMgYmFja2dyb3VuZC1jb2xvciBncm91cCwgc2luY2UgTDc1MSByZS1zZXRzIGl0IHdpdGggIWltcG9ydGFudCkgd2FzXG4gICB0cmlhbGxlZCBhbmQgUkVWRVJURUQg4oCUIHRoZSB2aXN1YWwtcmVncmVzc2lvbiBoYXJuZXNzIGNhdWdodCBhIHNtYWxsIGJ1dCByZWFsXG4gICBkaWZmIG9uIHRoZSAzOTBweCBtb2JpbGUgYXV0aCBjYXJkIChtZWFuLWRpZmYgMC4wMDc2ID4gdG9sZXJhbmNlKS4gS2VwdCBhcy1pc1xuICAgdG8gaG9ub3VyIFwiaWRlbnRpY2FsIGxvb2tcIi4gU2VlIHBsYXl3cmlnaHQvcGx4LXZpc3VhbC9USEVNRS1DTEVBTlVQLVBMQU4ubWQuICovXG4ubXhfQXV0aEJvZHksXG4ubXhfQXV0aFBhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1iZyk7XG59XG5cbi5teF9BdXRoQm9keSB7XG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0KTtcbn1cblxuLm14X0xvZ2luX3N1Ym1pdCxcbi5teF9BdXRoQm9keSAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1idWJibGUtb3V0LWdyYWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXBseC1yYWRpdXMtYnV0dG9uKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT0gMkZBIC8gT1RQIENPREUgRU5UUlkgPT09PT09PT09PT09PT09PT1cbiAgIEVsZW1lbnQgcmVuZGVycyBzaW5nbGUtZmllbGQgY29kZSBlbnRyeSAoTVNJU0ROIE9UUCwgcmVjb3Zlcnkta2V5LCBhbmQgdGhlXG4gICB0b2tlbi1zdHlsZSBhdXRoIGZpZWxkKS4gU3R5bGUgdGhlc2UgdG93YXJkIHRoZSBNaWRuaWdodCBPVFAtY2VsbCBzcGVjOlxuICAgdGFsbCByb3VuZGVkIGZpZWxkcyAocmFkaXVzIDEzKSB3aXRoIGFuIGFjY2VudCBib3JkZXIgb24gZm9jdXMuIFdoZXJlIGEgcmVhbFxuICAgNi1jZWxsIE9UUCBleGlzdHMgaXQgaW5oZXJpdHMgdGhlIHNhbWUgYWNjZW50L3JhZGl1cyB0b2tlbnMuICovXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX21zaXNkbkVudHJ5LFxuLm14X0F1dGhCb2R5IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLm14X0ZpZWxkX2lucHV0LFxuLm14X1JlZ2lzdHJhdGlvblRva2VuIGlucHV0LFxuaW5wdXRbbmFtZT1cInRva2VuXCJdLFxuaW5wdXRbYXV0b2NvbXBsZXRlPVwib25lLXRpbWUtY29kZVwiXSB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1pbnB1dCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcGx4LWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LXBhbmVsLTIpO1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfbXNpc2RuRW50cnkge1xuICAgIHdpZHRoOiA3ZW07XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIGZvbnQtc2l6ZTogMjAwJTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX21zaXNkbkVudHJ5OmZvY3VzLFxuLm14X0F1dGhCb2R5IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLm14X0ZpZWxkX2lucHV0OmZvY3VzLFxuaW5wdXRbYXV0b2NvbXBsZXRlPVwib25lLXRpbWUtY29kZVwiXTpmb2N1cyxcbmlucHV0W25hbWU9XCJ0b2tlblwiXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGx4LWFjY2VudCkgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1wbHgtYWNjZW50LXNvZnQpO1xufVxuXG4vKiBNaWRuaWdodCBPVFAtY2VsbCBzY2FmZm9sZDogaWYgYSA2LWNlbGwgZGlnaXQgZ3JvdXAgaXMgcmVuZGVyZWQsIGVhY2ggY2VsbCBpc1xuICAgNDZ4NTYgd2l0aCByYWRpdXMgMTMgYW5kIGFuIGFjY2VudCBib3JkZXIgd2hlbiBhY3RpdmUuICovXG4ubXhfUGx4T3RwQ2VsbCxcbi5jcGQtb3RwLWlucHV0LFxuW2RhdGEtb3RwLWNlbGxdIHtcbiAgICB3aWR0aDogNDZweDtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1pbnB1dCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcGx4LWJvcmRlcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LXBhbmVsLTIpO1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dCk7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm14X1BseE90cENlbGw6Zm9jdXMsXG4ubXhfUGx4T3RwQ2VsbFtkYXRhLWFjdGl2ZT1cInRydWVcIl0sXG5bZGF0YS1vdHAtY2VsbF1bZGF0YS1hY3RpdmU9XCJ0cnVlXCJdIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wbHgtYWNjZW50KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0tcGx4LWFjY2VudC1zb2Z0KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT0gUkVHSVNUUkFUSU9OIC8gUEVORElORy1BUFBST1ZBTCA9PT09PT09PT09PT09PT09PVxuICAgVGhlIHBvc3QtcmVnaXN0cmF0aW9uIHNjcmVlbiB3YWl0cyBmb3IgYWRtaW4gYXBwcm92YWwuIFJlbmRlciBhIHB1bHNpbmdcbiAgIGNvbmNlbnRyaWMtcmluZyBcImF3YWl0aW5nIGFwcHJvdmFsXCIgaW5kaWNhdG9yIGFyb3VuZCB0aGUgY2xvY2svc3Bpbm5lci4gKi9cbi5teF9BdXRoQm9keSAubXhfU3Bpbm5lcixcbi5teF9SZWdpc3RyYXRpb25fd2FpdGluZ0ZvckFwcHJvdmFsIC5teF9TcGlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIGdlbmVyaWMgcHVsc2luZy1yaW5ncyBoZWxwZXI6IGFkZCBjbGFzcyBteF9QbHhQdWxzZVJpbmdzIChvclxuICAgZGF0YS1wbHgtcGVuZGluZykgdG8gdGhlIHBlbmRpbmcgd3JhcHBlciB0byBnZXQgY29uY2VudHJpYyBwdWxzZXMuICovXG4ubXhfUGx4UHVsc2VSaW5ncyxcbltkYXRhLXBseC1wZW5kaW5nPVwidHJ1ZVwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm14X1BseFB1bHNlUmluZ3M6OmJlZm9yZSxcbi5teF9QbHhQdWxzZVJpbmdzOjphZnRlcixcbltkYXRhLXBseC1wZW5kaW5nPVwidHJ1ZVwiXTo6YmVmb3JlLFxuW2RhdGEtcGx4LXBlbmRpbmc9XCJ0cnVlXCJdOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDUwJTtcbiAgICB3aWR0aDogNzJweDtcbiAgICBoZWlnaHQ6IDcycHg7XG4gICAgbWFyZ2luOiAtMzZweCAwIDAgLTM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBseC1hY2NlbnQpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgIGFuaW1hdGlvbjogcGx4LXB1bHNlLXJpbmcgMi40cyBjdWJpYy1iZXppZXIoMC4yLCAwLjYsIDAuMywgMSkgaW5maW5pdGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubXhfUGx4UHVsc2VSaW5nczo6YWZ0ZXIsXG5bZGF0YS1wbHgtcGVuZGluZz1cInRydWVcIl06OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEuMnM7XG59XG5cbkBrZXlmcmFtZXMgcGx4LXB1bHNlLXJpbmcge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMC41NTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgIH1cbiAgICA3MCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNik7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNik7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PSBDT05WRVJTQVRJT04gSEVBREVSICsgQ0FMTCBPVkVSTEFZID09PT09PT09PT09PT09PT09XG4gICBNaWRuaWdodCBzdXJmYWNlcywgYWNjZW50IGNhbGwgYnV0dG9ucywgZGFuZ2VyIGVuZC1jYWxsLCBhbmQgYW4gXCJlbmNyeXB0ZWRcIlxuICAgaW5kaWNhdG9yIGluIHRoZSBzdWNjZXNzIGdyZWVuLiBUaGUgY2FsbC1idXR0b24gYWNjZW50IC8gZGFuZ2VyIGNvbG91cnMgZmxvd1xuICAgdGhyb3VnaCB0aGUgcmVtYXBwZWQgJGFjY2VudCBhbmQgJGFsZXJ0ICgtPiAtLXBseC1kYW5nZXIpIHRva2Vuczsgd2UgYWRkIHRoZVxuICAgc3VyZmFjZSArIGVuY3J5cHRlZC1pbmRpY2F0b3IgKyBwdWxzaW5nLWF2YXRhciBwb2xpc2ggaGVyZS4gKi9cblxuLyogY2FsbCBzdXJmYWNlcyAtPiBNaWRuaWdodCBwYW5lbCAqL1xuLm14X0xlZ2FjeUNhbGxWaWV3LFxuLm14X0NhbGxWaWV3LFxuLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnQsXG4ubXhfTGVnYWN5Q2FsbFZpZXdfcGlwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wbHgtcGFuZWwpICFpbXBvcnRhbnQ7XG59XG5cbi8qIHJhZGlhbCBhY2NlbnQgYmFja2Ryb3AgYmVoaW5kIHRoZSBjYWxsIGNvbnRlbnQgKi9cbi5teF9MZWdhY3lDYWxsVmlld19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgIGNpcmNsZSBhdCA1MCUgMzglLFxuICAgICAgICB2YXIoLS1wbHgtYWNjZW50LXNvZnQpLFxuICAgICAgICB0cmFuc3BhcmVudCA2MCVcbiAgICApO1xufVxuXG4vKiBlbmQtY2FsbCAvIGhhbmd1cCAtPiBkYW5nZXIgY2lyY2xlICovXG4ubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9oYW5ndXAsXG4ubXhfQ2FsbFZpZXdCdXR0b25zX2J1dHRvbl9oYW5ndXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1kYW5nZXIpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFwiRW5jcnlwdGVkIGNhbGxcIiBpbmRpY2F0b3IgLT4gc3VjY2VzcyBncmVlbiB3aXRoIGxvY2sgKi9cbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl9zZWN1cmUsXG4ubXhfTGVnYWN5Q2FsbFZpZXdfc3RhdHVzX2UyZSxcbi5teF9DYWxsVmlld19zZWN1cmUsXG4ubXhfRTJFSWNvbl92ZXJpZmllZCB7XG4gICAgY29sb3I6IHZhcigtLXBseC1zdWNjZXNzKSAhaW1wb3J0YW50O1xufVxuXG4vKiBwdWxzaW5nIHJpbmcgYXJvdW5kIHRoZSBjYWxsIGF2YXRhciB3aGlsZSBjb25uZWN0aW5nICovXG4ubXhfTGVnYWN5Q2FsbFZpZXdfYXZhdGFyc0NvbnRhaW5lciAubXhfQmFzZUF2YXRhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm14X0xlZ2FjeUNhbGxWaWV3X2F2YXRhcnNDb250YWluZXIgLm14X0Jhc2VBdmF0YXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogLThweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGx4LWFjY2VudCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb246IHBseC1wdWxzZS1yaW5nIDIuMnMgZWFzZS1vdXQgaW5maW5pdGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIGNvbnZlcnNhdGlvbiBoZWFkZXIgY2FsbCBidXR0b25zIC0+IGFjY2VudCBvbiBob3ZlciAqL1xuLm14X1Jvb21IZWFkZXIgLm14X1Jvb21IZWFkZXJfYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tcGx4LWFjY2VudCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09IFRSQU5TSVRJT05TIChNaWRuaWdodCBlYXNpbmcpID09PT09PT09PT09PT09PT09ICovXG4ubXhfUmlnaHRQYW5lbCxcbi5teF9MZWZ0UGFuZWxfb3V0ZXJXcmFwcGVyIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tcGx4LWVhc2UtbGF5ZXIpLFxuICAgICAgICB3aWR0aCB2YXIoLS1wbHgtZWFzZS1sYXllcik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUExYIE1JRE5JR0hUIOKAlCBXYXZlICMyNyBjb250YWluZWQgZml4ZXMgKFBMWC0wMDMvMDA0LzAwNi8wMDcvMDA4LzAwOS8wMTAvMDExKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0tLS0tLS0gUExYLTAwMzogRTJFRSBiYW5uZXIgLT4gT05FIHNtYWxsIGNlbnRlcmVkIHBpbGwgLS0tLS0tLS0tLVxuICAgVGhlIFwiVGhpcyByb29tIGlzIGVuZC10by1lbmQgZW5jcnlwdGVkXCIgYmFubmVyIHNoaXBzIGFzXG4gICAubXhfRXZlbnRUaWxlQnViYmxlLm14X2NyeXB0b0V2ZW50IChhdXRob3Itc3VwcGxpZWQgY2xhc3Nlcywgc3RhYmxlKS5cbiAgIEVsZW1lbnQgcmVuZGVycyBpdCBhcyBhIGxhcmdlIGZ1bGwtd2lkdGggYmx1ZSBiYXIuIENvbGxhcHNlIGl0IGludG8gYVxuICAgY29tcGFjdCBjZW50ZXJlZCBwaWxsOiBsb2NrICsgdGV4dCwgYWNjZW50LXNvZnQgYmcsIHJvdW5kZWQuICovXG4ubXhfRXZlbnRUaWxlQnViYmxlLm14X2NyeXB0b0V2ZW50LFxuLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIgLm14X0V2ZW50VGlsZUJ1YmJsZSB7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG8gIWltcG9ydGFudDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDZweCAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiA4cHggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtYWNjZW50LXNvZnQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcGx4LWJvcmRlcikgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyIC5teF9FdmVudFRpbGVCdWJibGUgPiAqLFxuLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIgLm14X0V2ZW50VGlsZUJ1YmJsZSBbY2xhc3MqPVwidGl0bGVcIl0ge1xuICAgIGdyaWQtY29sdW1uOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZ3JpZC1yb3c6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0LXNlY29uZGFyeSkgIWltcG9ydGFudDtcbn1cbi5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyIC5teF9FdmVudFRpbGVCdWJibGUgc3ZnIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDE0cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDE0cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tcGx4LWFjY2VudCkgIWltcG9ydGFudDtcbn1cbi5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyIC5teF9FdmVudFRpbGVCdWJibGUgW2NsYXNzKj1cInN1YnRpdGxlXCJdIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiB0aWdodGVuIHRoZSBpbm5lciBncmlkIHRoZSBzaGFyZWQgY29tcG9uZW50IHVzZXMgKi9cbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQgPiAqIHtcbiAgICBncmlkLWNvbHVtbjogYXV0byAhaW1wb3J0YW50O1xuICAgIGdyaWQtcm93OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG4ubXhfRXZlbnRUaWxlQnViYmxlLm14X2NyeXB0b0V2ZW50IHN2ZyB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXBseC1hY2NlbnQpICFpbXBvcnRhbnQ7XG59XG4ubXhfRXZlbnRUaWxlQnViYmxlLm14X2NyeXB0b0V2ZW50IFtjbGFzcyo9XCJ0aXRsZVwiXSxcbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQgW2NsYXNzKj1cInN1YnRpdGxlXCJdIHtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0LXNlY29uZGFyeSkgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG59XG4vKiBoaWRlIHRoZSB2ZXJib3NlIHN1YnRpdGxlIC8gXCJlbmFibGUgZW5jcnlwdGlvblwiIHByb21wdCBpbnNpZGUgdGhlIHBpbGwgKi9cbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQgW2NsYXNzKj1cInN1YnRpdGxlXCJdIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBMWC0wMDMgKHBhcnQgMik6IHRoZSB0aW1lbGluZSBcIkVuY3J5cHRpb24gZW5hYmxlZFwiIG0ucm9vbS5lbmNyeXB0aW9uIHN0YXRlIHRpbGVcbiAgIHNoaXBzIGFzIGEgbm9ybWFsIEV2ZW50VGlsZSBidWJibGUgKC5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyKSB3cmFwcGluZyBhbiBpbm5lclxuICAgLm14X0V2ZW50VGlsZUJ1YmJsZSBwaWxsLiBQcmV2aW91c2x5IGl0IGxlYWtlZCB0aGUgb3V0Z29pbmcgZ3JhZGllbnQgYXMgYSBmdWxsLXdpZHRoXG4gICBiYXIgKHJlbW92ZWQgYWJvdmUpLiBIZXJlIHdlIG1ha2UgdGhlIHdyYXBwaW5nIGxpbmUgZnVsbHkgdHJhbnNwYXJlbnQvYm9yZGVybGVzcyBhbmRcbiAgIGNlbnRyZSBpdCwgc28gT05MWSB0aGUgaW5uZXIgY29tcGFjdCBwaWxsIGlzIHZpc2libGUuICovXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIgLm14X0V2ZW50VGlsZV9saW5lIHtcbiAgICBtYXJnaW46IDRweCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyIC5teF9FdmVudFRpbGVfbGluZSAubXhfRXZlbnRUaWxlX2JvZHksXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9idWJibGVDb250YWluZXIgLm14X0V2ZW50VGlsZV9saW5lIC5teF9UZXh0dWFsRXZlbnQge1xuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tIFBMWC0wMDQ6IHN1cHByZXNzIHZlcmlmeS1kZXZpY2UgdGltZWxpbmUgbmFnIC0tLS0tLS0tLS1cbiAgIFNlYW1sZXNzIFRPRlU6IG5ldmVyIHByb21wdCB0aGUgdXNlciB0byB2ZXJpZnkgdGhpcyBkZXZpY2UgZm9yIGhpc3RvcmljYWxcbiAgIG1lc3NhZ2VzLiBUaGUgdG9hc3QgKyBzZXR0aW5ncyBwYXRocyBhcmUgaGFuZGxlZCBpbiBjb2RlOyB0aGlzIGlzIGEgQ1NTXG4gICBiYWNrc3RvcCBmb3IgYW55IHRpbWVsaW5lLWxldmVsIFwidmVyaWZ5IHRoaXMgZGV2aWNlXCIgYmFubmVyLiAqL1xuLm14X1Jvb21WaWV3X2JvZHkgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5W2RhdGEtZXhwYW5kZWQ9XCJmYWxzZVwiXSAubXhfU2V0dXBFbmNyeXB0aW9uQm9keSxcbi5teF9Sb29tU3RhdHVzQmFyX3Vuc2VudEJhZGdlLm14X1Jvb21TdGF0dXNCYXJfdmVyaWZ5RGV2aWNlLFxuW2RhdGEtdGVzdGlkPVwiY3J5cHRvRXZlbnQtdmVyaWZ5LXByb21wdFwiXSxcbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQubXhfY3J5cHRvRXZlbnRfdmVyaWZ5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0gUExYLTAwNjogY2hhdCByb3dzIChuYW1lICsgcHJldmlldyArIGJhZGdlKSAtLS0tLS0tLS0tXG4gICBUaGUgc2hhcmVkIHJvb20tbGlzdCBjZWxsIHJlbmRlcnMgcm9vbSBuYW1lICsgbWVzc2FnZSBwcmV2aWV3ICsgbm90aWZpY2F0aW9uXG4gICBkZWNvcmF0aW9uLiBCeSBkZWZhdWx0IHRoZSByb29tIG5hbWUgdXNlcyAtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSAoZGltKS5cbiAgIEZvcmNlIHRoZSByb29tIG5hbWUgV0hJVEUgYW5kIGtlZXAgdGhlIHByZXZpZXcgZGltLiBkYXRhLXRlc3RpZD1cInJvb20tbmFtZVwiXG4gICBpcyBhIHN0YWJsZSBob29rOyB0aGUgaGFzaGVkIG1vZHVsZSBjbGFzc2VzIGFyZSBzY29wZWQgdG8gdGhpcyBidWlsZC4gKi9cbltkYXRhLXRlc3RpZD1cInJvb20tbmFtZVwiXSB7XG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbn1cbi8qIG1lc3NhZ2UgcHJldmlldyAodGhlIGRpbSBzdWJ0aXRsZSB1bmRlciB0aGUgbmFtZSkgc3RheXMgZGltICsgZWxsaXBzaXNlZCAqL1xuW2RhdGEtdGVzdGlkPVwicm9vbS1uYW1lXCJdICsgZGl2LFxuW2RhdGEtdGVzdGlkPVwicm9vbS1uYW1lXCJdIH4gLm14X1RleHQsXG5bZGF0YS10ZXN0aWQ9XCJyb29tLW5hbWVcIl0gfiBbY2xhc3MqPVwiZWxsaXBzaXNcIl0ge1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG59XG4vKiBhY3RpdmUvc2VsZWN0ZWQgcm93IC0+IGFjY2VudC1zb2Z0IGJnICsgYWNjZW50IG5hbWUgKHRoZSBwYWNrYWdlIG1hcmtzIHRoZVxuICAgc2VsZWN0ZWQgY29udGFpbmVyOyB3ZSByZWluZm9yY2UgdGhlIE1pZG5pZ2h0IGxvb2spICovXG5bY2xhc3MqPVwiX3NlbGVjdGVkXCJdIFtkYXRhLXRlc3RpZD1cInJvb20tbmFtZVwiXSxcblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSBbZGF0YS10ZXN0aWQ9XCJyb29tLW5hbWVcIl0ge1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtYWNjZW50KSAhaW1wb3J0YW50O1xufVxuW2NsYXNzKj1cIl9zZWxlY3RlZFwiXSBbY2xhc3MqPVwiX2NvbnRhaW5lclwiXSxcblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSBbY2xhc3MqPVwiX2NvbnRhaW5lclwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGx4LXJvdy1hY3RpdmUpICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0gUExYLTAwNzogZm9sZGVyIHBpbGxzIChBbGwgLyBVbnJlYWQgLyBEaXJlY3QgLyBHcm91cHMpIC0tLS0tLS0tLS1cbiAgIFRoZSBwaWxscyBzaGlwIGFzIENvbXBvdW5kIDxDaGF0RmlsdGVyPiBjaGlwcyBpbnNpZGUgW2RhdGEtdGVzdGlkPVwicHJpbWFyeS1maWx0ZXJzXCJdLlxuICAgVGhlIGZpbHRlciBzZXQgKyBsYWJlbHMgYXJlIHJlbWFwcGVkIGluIGNvZGUvaTE4bi4gSGVyZSB3ZSBNaWRuaWdodC1zdHlsZSB0aGVcbiAgIGFjdGl2ZSBwaWxsOiBhY2NlbnQtc29mdCBiZyArIGFjY2VudCB0ZXh0LiAqL1xuW2RhdGEtdGVzdGlkPVwicHJpbWFyeS1maWx0ZXJzXCJdIFtyb2xlPVwib3B0aW9uXCJdW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdLFxuW2RhdGEtdGVzdGlkPVwicHJpbWFyeS1maWx0ZXJzXCJdIFthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdLFxuW2RhdGEtdGVzdGlkPVwicHJpbWFyeS1maWx0ZXJzXCJdIC5teF9DaGF0RmlsdGVyX3NlbGVjdGVkLFxuW2RhdGEtdGVzdGlkPVwicHJpbWFyeS1maWx0ZXJzXCJdIFtjbGFzcyo9XCJfc2VsZWN0ZWRcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1hY2NlbnQtc29mdCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tcGx4LWFjY2VudCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5bZGF0YS10ZXN0aWQ9XCJwcmltYXJ5LWZpbHRlcnNcIl0gW3JvbGU9XCJvcHRpb25cIl0sXG5bZGF0YS10ZXN0aWQ9XCJwcmltYXJ5LWZpbHRlcnNcIl0gYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tIFBMWC0wMDg6IGhvbWUgZW1wdHkgcGFuZSAoY2xlYW4gTWlkbmlnaHQgZW1wdHktc3RhdGUpIC0tLS0tLS0tLS1cbiAgIE5ldXRyYWxpc2UgRWxlbWVudCdzIGZsYXQgYmx1ZSBIb21lUGFnZSBjYXJkcyBpbnRvIE1pZG5pZ2h0IHBhbmVsIHN1cmZhY2VzLlxuICAgVGhlIFwiRXhwbG9yZSBQdWJsaWMgUm9vbXNcIiBjYXJkIGlzIHJlbW92ZWQgaW4gSG9tZVBhZ2UudHN4LiAqL1xuLm14X0hvbWVQYWdlX3BseCAubXhfSG9tZVBhZ2VfZGVmYXVsdF93cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBnYXA6IDE2cHg7XG59XG4ubXhfSG9tZVBhZ2VfcGx4IC5teF9Ib21lUGFnZV9kZWZhdWx0X2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1wYW5lbC0yKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dCkgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wbHgtYm9yZGVyKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXBseC1yYWRpdXMtY2FyZCkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4ubXhfSG9tZVBhZ2VfcGx4IC5teF9Ib21lUGFnZV9kZWZhdWx0X2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1yb3ctaG92ZXIpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wbHgtYWNjZW50KSAhaW1wb3J0YW50O1xufVxuLm14X0hvbWVQYWdlX3BseCAubXhfSG9tZVBhZ2VfZGVmYXVsdF9idXR0b25zIC5teF9BY2Nlc3NpYmxlQnV0dG9uOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1hY2NlbnQpICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0gUExYLTAwOTogc2lnbi1pbiBidXR0b24gLT4gV0hJVEUgNzAwIG9uIHRoZSBncmFkaWVudCAtLS0tLS0tLS0tICovXG4ubXhfTG9naW5fc3VibWl0LFxuLm14X0F1dGhCb2R5IC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSxcbi5teF9BdXRoUGFnZSAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnksXG4ubXhfQXV0aEJvZHkgZm9ybSBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LWJ1YmJsZS1vdXQtZ3JhZCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5teF9Mb2dpbl9zdWJtaXQgKixcbi5teF9BdXRoQm9keSAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkgKiB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLSBQTFgtMDA5YjogV2VsY29tZS1jYXJkIHByaW1hcnkgYnV0dG9uIChcIlNpZ24gaW5cIikgLT4gV0hJVEUgbGFiZWwgLS0tLS0tLS0tLVxuICAgQlVHRklYOiB0aGUgV2VsY29tZSBwYWdlIHJlbmRlcnMgPEJ1dHRvbiBhcz1cImFcIiBraW5kPVwicHJpbWFyeVwiPiBmb3IgXCJTaWduIGluXCIuXG4gICBUaGUgZ2xvYmFsIGBhIHsgY29sb3I6IHZhcigtLXBseC1hY2NlbnQpIH1gIHJ1bGUgYWJvdmUgdHVybmVkIGl0cyBsYWJlbCBibHVlIOKAlFxuICAgaW52aXNpYmxlIG9uIHRoZSBibHVlIGdyYWRpZW50IGJ1dHRvbiwgc28gdGhlIGJ1dHRvbiBsb29rZWQgYmxhbmsuIEZvcmNlIHRoZVxuICAgcHJpbWFyeSB3ZWxjb21lIGJ1dHRvbiAoYW5kIGl0cyBpbm5lciBzcGFuKSB3aGl0ZTsga2VlcCB0aGUgZ3JhZGllbnQgZmlsbC5cbiAgIFRoZSBcIkNyZWF0ZSBhY2NvdW50XCIgc2Vjb25kYXJ5IGJ1dHRvbiBrZWVwcyBhY2NlbnQgdGV4dCBvbiBpdHMgZGFyayBzdXJmYWNlLiAqL1xuLm14X0RlZmF1bHRXZWxjb21lX2J1dHRvbnMgYVtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdLFxuLm14X0RlZmF1bHRXZWxjb21lX2J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtYnViYmxlLW91dC1ncmFkKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuLm14X0RlZmF1bHRXZWxjb21lX2J1dHRvbnMgYVtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdICosXG4ubXhfRGVmYXVsdFdlbGNvbWVfYnV0dG9ucyAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkgKiB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbi8qIHNlY29uZGFyeSBcIkNyZWF0ZSBhY2NvdW50XCIgLT4gYWNjZW50IHRleHQgb24gYSBwYW5lbCBzdXJmYWNlIChjbGVhciwgbGVnaWJsZSkgKi9cbi5teF9EZWZhdWx0V2VsY29tZV9idXR0b25zIGFbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdIHtcbiAgICBjb2xvcjogdmFyKC0tcGx4LWFjY2VudCkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtcGFuZWwtMikgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wbHgtYm9yZGVyKSAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tIFBMWC0wMTAvMDExOiBzaW5nbGUgY2VudGVyZWQgfjM2MHB4IGxvZ2luIGNhcmQgLS0tLS0tLS0tLVxuICAgRWxlbWVudCByZW5kZXJzIGEgdHdvLXBhbmUgbW9kYWwgKGxvZ28gYXNpZGUgKyBmb3JtKS4gQ29sbGFwc2UgdGhlXG4gICBtb2RhbENvbnRlbnQgZmxleC1yb3cgaW50byBhIHNpbmdsZSBjZW50ZXJlZCBjb2x1bW4gY2FyZC4gKi9cbi5teF9BdXRoUGFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBseC1iZykgIWltcG9ydGFudDtcbn1cbi5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICB3aWR0aDogbWluKDM2MHB4LCBjYWxjKDEwMHZ3IC0gMzJweCkpICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAzNjBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMjhweCAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LXBhbmVsKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBseC1ib3JkZXIpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1jYXJkKSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCA0MHB4IHZhcigtLXBseC1zaGFkb3cpICFpbXBvcnRhbnQ7XG59XG4vKiBoZWFkZXIgbG9nbyBibG9jayAtPiBjZW50ZXJlZCBjYXJkIGhlYWRlciAobW9ub2dyYW0gKyB3b3JkbWFyayArIHRhZ2xpbmUpICovXG4ubXhfQXV0aEhlYWRlcixcbi5teF9BdXRoSGVhZGVyTG9nb19wbHgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBQTFgtV0VCLTA5OiBwbHgtbG9nby5wbmcgaXMgYSAyMzV4NzIgV09SRE1BUksgYXNzZXQsIG5vdCBhIHNxdWFyZSBnbHlwaC5cbiAgIFJlbmRlciBpdCBhcyBhIHByb3BlciB0aWxlIGF0IGl0cyBuYXRpdmUgYXNwZWN0IHJhdGlvIChmaXhlZCBoZWlnaHQsIGF1dG9cbiAgIHdpZHRoLCBvYmplY3QtZml0OmNvbnRhaW4pIHNvIGl0IGlzIG5ldmVyIHNxdWlzaGVkIGludG8gYSAxOjEgYm94LiBUaGUgYXNzZXRcbiAgIGFscmVhZHkgY2FycmllcyB0aGUgXCJQTFhcIiB3b3JkbWFyaywgc28gdGhlIHJlZHVuZGFudCB0ZXh0IHdvcmRtYXJrIGJlbG93IGl0IGlzXG4gICBoaWRkZW4gdG8gYXZvaWQgc2hvd2luZyBcIlBMWFwiIHR3aWNlLiAqL1xuLm14X0F1dGhIZWFkZXJMb2dvX3BseCAubXhfQXV0aEhlYWRlckxvZ29fbWFyayxcbi5teF9BdXRoSGVhZGVyTG9nb19wbHggaW1nIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNDZweCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMjEwcHggIWltcG9ydGFudDtcbiAgICBvYmplY3QtZml0OiBjb250YWluICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDJweCBhdXRvIDEwcHggIWltcG9ydGFudDtcbn1cbi5teF9BdXRoSGVhZGVyTG9nb193b3JkbWFyayB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1wbHgtZm9udCk7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQpO1xufVxuLm14X0F1dGhIZWFkZXJMb2dvX3RhZ2xpbmUge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG59XG4vKiBoaWRlIHRoZSBsYW5ndWFnZSBzZWxlY3RvciBjaHJvbWUgaW4gdGhlIGNvbXBhY3QgY2FyZCAqL1xuLm14X0F1dGhIZWFkZXIgLm14X0xhbmd1YWdlU2VsZWN0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIHRoZSBmb3JtIGJvZHkgc2l0cyBiZWxvdyB0aGUgaGVhZGVyIGluc2lkZSB0aGUgc2FtZSBjYXJkICovXG4ubXhfQXV0aFBhZ2VfbW9kYWxDb250ZW50IC5teF9BdXRoQm9keSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLSBQTFgtV0VCLTEwOiBzaW5nbGUgYXV0aCBjYXJkIChubyBkb3VibGVkIC8gbmVzdGVkIGJvcmRlcikgLS0tLS0tLS0tLVxuICAgVGhlIG91dGVyIC5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQgaXMgdGhlIE9ORSBjYXJkIHdpdGggYSBib3JkZXIgKyBzaGFkb3cuXG4gICBFbGVtZW50IG5lc3RzIHNldmVyYWwgaW5uZXIgd3JhcHBlcnMgKC5teF9BdXRoQm9keSwgLm14X0F1dGhIZWFkZXJEaXNwbGF5LFxuICAgLm14X1JlZ2lzdGVyX21haW5Db250ZW50KSB0aGF0IGVhY2ggY2FycnkgdGhlaXIgb3duIGJvcmRlciAvIGJveC1zaGFkb3cgL1xuICAgc3VyZmFjZSwgcHJvZHVjaW5nIGEgdmlzaWJsZSBcImNhcmQgaW5zaWRlIGEgY2FyZFwiIGRvdWJsZSBvdXRsaW5lLiBTdHJpcCB0aGVcbiAgIGNocm9tZSBmcm9tIGV2ZXJ5IGlubmVyIHdyYXBwZXIgc28gb25seSB0aGUgc2luZ2xlIG91dGVyIGNhcmQgZnJhbWUgc2hvd3MuICovXG4ubXhfQXV0aFBhZ2VfbW9kYWxDb250ZW50IC5teF9BdXRoQm9keSxcbi5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQgLm14X0F1dGhIZWFkZXJEaXNwbGF5LFxuLm14X0F1dGhQYWdlX21vZGFsQ29udGVudCAubXhfUmVnaXN0ZXJfbWFpbkNvbnRlbnQsXG4ubXhfQXV0aFBhZ2VfbW9kYWxDb250ZW50IC5teF9BdXRoQm9keSA+IGZvcm0sXG4ubXhfQXV0aFBhZ2VfbW9kYWxDb250ZW50IC5teF9Mb2dpbl9ib3gge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4vKiBQTFgtV0VCLTEwOiBlcXVhbGlzZSBwcmltYXJ5LWFjdGlvbiBidXR0b24gd2lkdGhzLiBUaGUgU2lnbi1pbiAvIENvbnRpbnVlIC9cbiAgIFwiQ29udGludWUgd2l0aCAyRkFcIi1zdHlsZSBzdWJtaXQgYnV0dG9ucyByZW5kZXIgYXQgaW50cmluc2ljIHdpZHRoLCBzbyB0aGV5XG4gICBsb29rIHJhZ2dlZC4gTWFrZSBldmVyeSBhdXRoLWZvcm0gcHJpbWFyeSBzdWJtaXQgZnVsbCBjYXJkLXdpZHRoIGFuZCBtYXRjaGVkXG4gICBoZWlnaHQgZm9yIGEgY2xlYW4sIGFsaWduZWQgY29sdW1uLiAqL1xuLm14X0F1dGhCb2R5IC5teF9Mb2dpbl9zdWJtaXQsXG4ubXhfQXV0aEJvZHkgZm9ybSBbdHlwZT1cInN1Ym1pdFwiXSxcbi5teF9BdXRoQm9keSAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnksXG4ubXhfQXV0aEJvZHkgLm14X0xvZ2luX2Z1bGxXaWR0aEJ1dHRvbixcbi5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQgLm14X1NTT0J1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogNDRweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLSBQTFgtV0VCLTE4OiBoaWRlIHRoZSBtaWQtY2FyZCBcIkVuZ2xpc2hcIiBsYW5ndWFnZSBkcm9wZG93biAtLS0tLS0tLS0tXG4gICBUaGUgTGFuZ3VhZ2VTZWxlY3RvciAocmVuZGVyZWQgYXMgLm14X0F1dGhCb2R5X2xhbmd1YWdlIGluc2lkZSB0aGUgZm9ybSwgYW5kIGFzXG4gICAubXhfTGFuZ3VhZ2VTZWxlY3RvciBpbiB0aGUgaGVhZGVyKSBpcyBub3cgY29uZmlnLWRpc2FibGVkXG4gICAoZGlzYWJsZV9sb2dpbl9sYW5ndWFnZV9zZWxlY3Rvcjp0cnVlKSBBTkQgaGlkZGVuIGhlcmUgYXMgYSBDU1MgYmFja3N0b3Agc28gaXRcbiAgIGNhbiBuZXZlciByZWFwcGVhciBtaWQtY2FyZCBvbiB0aGUgYXV0aCBzY3JlZW5zLiAqL1xuLm14X0F1dGhCb2R5IC5teF9BdXRoQm9keV9sYW5ndWFnZSxcbi5teF9BdXRoQm9keV9sYW5ndWFnZSxcbi5teF9BdXRoSGVhZGVyIC5teF9MYW5ndWFnZVNlbGVjdG9yLFxuLm14X0F1dGhQYWdlX21vZGFsQ29udGVudCAubXhfTGFuZ3VhZ2VTZWxlY3Rvcixcbi5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQgLm14X0Ryb3Bkb3duLm14X0F1dGhCb2R5X2xhbmd1YWdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIGZvb3RlciB0cnVzdCBsaW5lLCBjZW50ZXJlZCB1bmRlciB0aGUgY2FyZCAqL1xuLm14X0F1dGhGb290ZXJfcGx4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG59XG4ubXhfQXV0aEZvb3Rlcl9wbHhUcnVzdCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogY2VudGVyIHRoZSBjYXJkIG9uIG1vYmlsZSB0b28gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5teF9BdXRoUGFnZV9tb2RhbENvbnRlbnQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDI0cHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDIycHggMThweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQTFgtMDAxIOKAlCBNT0JJTEUgU0lOR0xFLVBBTkUgKDw9OTAwcHgpXG4gICBUaGUgbmV3IHJvb20gbGlzdCB1c2VzIHJlYWN0LXJlc2l6YWJsZS1wYW5lbHMgKGEgZmxleCBHcm91cCB3aXRoIHR3b1xuICAgW2RhdGEtcGFuZWxdIGNoaWxkcmVuICsgYSBbZGF0YS1zZXBhcmF0b3JdKS4gT24gZGVza3RvcCB0aGUgdHdvIHBhbmVzIHNpdFxuICAgc2lkZS1ieS1zaWRlLiBPbiBtb2JpbGUgd2UgY29sbGFwc2UgdG8gT05FIHBhbmUgdGhhdCBzd2FwcyBiZXR3ZWVuIHRoZSByb29tXG4gICBsaXN0IGFuZCB0aGUgb3BlbiBjb252ZXJzYXRpb24sIGRyaXZlbiBieSBkYXRhLXBhZ2UtdHlwZSBvbiAubXhfTWF0cml4Q2hhdC5cblxuICAgLSBkYXRhLXBhZ2UtdHlwZSAhPSBcInJvb21fdmlld1wiICAtPiBzaG93IHRoZSBMRUZUIHBhbmVsIChyb29tIGxpc3QpIGZ1bGwtd2lkdGgsXG4gICAgIGhpZGUgdGhlIGNvbnZlcnNhdGlvbiBwYW5lbCArIHNlcGFyYXRvci5cbiAgIC0gZGF0YS1wYWdlLXR5cGUgPT0gXCJyb29tX3ZpZXdcIiAgLT4gc2hvdyB0aGUgQ09OVkVSU0FUSU9OIHBhbmVsIGZ1bGwtd2lkdGgsXG4gICAgIGhpZGUgdGhlIGxlZnQgcGFuZWwgKyBzZXBhcmF0b3IsIGFuZCByZXZlYWwgdGhlIGJhY2sgYXJyb3cgaW4gdGhlIGhlYWRlci5cblxuICAgVGhlIGxpYnJhcnkgc2V0cyBpbmxpbmUgZmxleCBzdHlsZXMgb24gZWFjaCBbZGF0YS1wYW5lbF07IHdlIG92ZXJyaWRlIHdpdGhcbiAgICFpbXBvcnRhbnQuIFRoZSBsZWZ0IHBhbmVsIGNhcnJpZXMgaWQ9XCJsZWZ0LXBhbmVsXCIgKGRhdGEtcGFuZWwgaWQpLCB0aGVcbiAgIGNvbnZlcnNhdGlvbiBwYW5lbCBpcyB0aGUgT1RIRVIgW2RhdGEtcGFuZWxdIHNpYmxpbmcuID09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogYmFjayBhcnJvdzogaGlkZGVuIG9uIGRlc2t0b3AsIHNob3duIG9uIG1vYmlsZSBpbnNpZGUgdGhlIHJvb20gaGVhZGVyICovXG4ubXhfUm9vbUhlYWRlcl9wbHhCYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAycHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tcGx4LWFjY2VudCk7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG4ubXhfUm9vbUhlYWRlcl9wbHhCYWNrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtcm93LWhvdmVyKTtcbn1cbi5teF9Sb29tSGVhZGVyX3BseEJhY2sgc3ZnIHtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC8qIFRoZSByZXNpemFibGUgR3JvdXAgYmVjb21lcyBhIHNpbmdsZSBmdWxsLXdpZHRoIGNvbHVtbi4gKi9cbiAgICAubXhfTWF0cml4Q2hhdCBbZGF0YS1ncm91cF0ge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIEJvdGggcGFuZWxzIGNhbiB0YWtlIHRoZSBmdWxsIHdpZHRoIHdoZW4gc2hvd24uICovXG4gICAgLm14X01hdHJpeENoYXQgW2RhdGEtcGFuZWxdIHtcbiAgICAgICAgZmxleDogMSAxIDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIE5ldmVyIHNob3cgdGhlIHJlc2l6ZSBzZXBhcmF0b3IgLyBoYW5kbGUgb24gbW9iaWxlLiAqL1xuICAgIC5teF9NYXRyaXhDaGF0IFtkYXRhLXNlcGFyYXRvcl0sXG4gICAgLm14X01hdHJpeENoYXQgLm14X1NlcGFyYXRvcixcbiAgICAubXhfTWF0cml4Q2hhdCAubXhfUmVzaXplSGFuZGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIC0tLSBMSVNUIFZJRVcgKG5vIHJvb20gb3Blbik6IHNob3cgcm9vbSBsaXN0LCBoaWRlIGNvbnZlcnNhdGlvbiAtLS0gKi9cbiAgICAubXhfTWF0cml4Q2hhdDpub3QoW2RhdGEtcGFnZS10eXBlPVwicm9vbV92aWV3XCJdKSBbZGF0YS1wYW5lbF0jbGVmdC1wYW5lbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleDogMSAxIDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm14X01hdHJpeENoYXQ6bm90KFtkYXRhLXBhZ2UtdHlwZT1cInJvb21fdmlld1wiXSkgW2RhdGEtcGFuZWxdOm5vdCgjbGVmdC1wYW5lbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogLS0tIENPTlZFUlNBVElPTiBWSUVXIChyb29tIG9wZW4pOiBzaG93IGNvbnZlcnNhdGlvbiwgaGlkZSByb29tIGxpc3QgLS0tICovXG4gICAgLm14X01hdHJpeENoYXRbZGF0YS1wYWdlLXR5cGU9XCJyb29tX3ZpZXdcIl0gW2RhdGEtcGFuZWxdI2xlZnQtcGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5teF9NYXRyaXhDaGF0W2RhdGEtcGFnZS10eXBlPVwicm9vbV92aWV3XCJdIFtkYXRhLXBhbmVsXTpub3QoI2xlZnQtcGFuZWwpIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4OiAxIDEgMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFJldmVhbCB0aGUgYmFjayBhcnJvdyBvbmx5IG9uIG1vYmlsZS4gKi9cbiAgICAubXhfUm9vbUhlYWRlcl9wbHhCYWNrIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuXG4gICAgLyogTWFrZSBzdXJlIHRoZSByb29tIHZpZXcgKyBpdHMgaW5uZXIgd3JhcHBlciBhY3R1YWxseSBmaWxsIHRoZSBwYW5lLiAqL1xuICAgIC5teF9NYXRyaXhDaGF0W2RhdGEtcGFnZS10eXBlPVwicm9vbV92aWV3XCJdIC5teF9Sb29tVmlld193cmFwcGVyLFxuICAgIC5teF9NYXRyaXhDaGF0W2RhdGEtcGFnZS10eXBlPVwicm9vbV92aWV3XCJdIC5teF9Sb29tVmlldyB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0gUExYLVdFQi0xNTogc2Vjb25kYXJ5IHBhbmVsIChQZW9wbGUgLyByb29tLWluZm8gLyBtZW1iZXItaW5mbylcbiAgICAgICBtdXN0IGNvdmVyIHRoZSBjb252ZXJzYXRpb24gRlVMTC1XSURUSCBvbiBtb2JpbGUgaW5zdGVhZCBvZiBzcXVlZXppbmcgaW5cbiAgICAgICBhcyBhIGhhbGYtcGFuZSBhbmQgbGVha2luZyB0aGUgcGFuZSB1bmRlcm5lYXRoLiBUaGUgUmlnaHRQYW5lbCBpcyBhXG4gICAgICAgc2libGluZyBvdmVybGF5OyBwaW4gaXQgb3ZlciB0aGUgd2hvbGUgdmlld3BvcnQgd2l0aCBhIGhpZ2hlciB6LWluZGV4IHNvXG4gICAgICAgbm90aGluZyBvZiB0aGUgcHJpb3IgcGFuZSBibGVlZHMgdGhyb3VnaC4gKi9cbiAgICAubXhfTWF0cml4Q2hhdCAubXhfUmlnaHRQYW5lbCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgICAgICBpbnNldDogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgei1pbmRleDogNDAwMCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wbHgtcGFuZWwpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC8qIHRoZSByZXNpemVyL3NlcGFyYXRvciBuZXh0IHRvIHRoZSByaWdodCBwYW5lbCBtdXN0IG5ldmVyIHNob3cgb24gbW9iaWxlICovXG4gICAgLm14X1Jvb21WaWV3X2NvbnRhaW5lciAubXhfUmVzaXplSGFuZGxlLFxuICAgIC5teF9NYWluU3BsaXQgPiAubXhfUmVzaXplSGFuZGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tLS0gUExYLVdFQi0xNToga2lsbCB0aGUgc3RyYW5kZWQgY29tcG9zZXIgZW1vamkvbWVkaWEgYnV0dG9uIHRoYXRcbiAgICAgICBibGVlZHMgb3ZlciB0aGUgUGVvcGxlIHBhbmVsLiBUaGUgY29tcG9zZXIgYnV0dG9uIHJvdyBpcyBwb3NpdGlvbmVkIHdpdGhcbiAgICAgICBhIHN0YWNraW5nIGNvbnRleHQgdGhhdCwgb24gbmFycm93IHdpZHRocywgbGVmdCB0aGUgbWVkaWEtcGlja2VyIChzbWlsZXkpXG4gICAgICAgYnV0dG9uIHBhaW50aW5nIGFib3ZlIHRoZSBvcGVuIHJpZ2h0IHBhbmVsLiBDb25zdHJhaW4gdGhlIGNvbXBvc2VyICsgaXRzXG4gICAgICAgYnV0dG9ucyBiZWxvdyB0aGUgUmlnaHRQYW5lbCBvdmVybGF5IGFuZCBjbGlwIG92ZXJmbG93IHNvIG5vIGJ1dHRvblxuICAgICAgIGVzY2FwZXMgdGhlIGNvbXBvc2VyIHdyYXBwZXIuICovXG4gICAgLm14X01lc3NhZ2VDb21wb3NlcixcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX3dyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgei1pbmRleDogMSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gICAgLm14X01hdHJpeENoYXQgLm14X1JpZ2h0UGFuZWwgfiAqIC5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uLFxuICAgIC5teF9SaWdodFBhbmVsX29wZW4gLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b24ge1xuICAgICAgICB6LWluZGV4OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC8qIHRoZSB1bmlmaWVkIG1lZGlhIHBpY2tlciBwYW5lbCBhbmNob3JzIHRvIHRoZSBjb21wb3Nlcjsga2VlcCBpdCB1bmRlciB0aGVcbiAgICAgICByaWdodC1wYW5lbCBvdmVybGF5IGFuZCB3aXRoaW4gdGhlIGNvbnZlcnNhdGlvbiBwYW5lIG9uIG1vYmlsZSAqL1xuICAgIC5teF9QbHhNZWRpYVBpY2tlciB7XG4gICAgICAgIHotaW5kZXg6IDEyMDAgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMjRweCkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIC0tLS0tLS0tLS0gUExYLVdFQi0wODogcmVwb3NpdGlvbiBub24tY3JpdGljYWwgdG9hc3RzIC0tLS0tLS0tLS1cbiAgIFVwc3RyZWFtIGFuY2hvcnMgdGhlIHRvYXN0IHN0YWNrIHRvcC1sZWZ0ICh0b3A6MTJweDsgbGVmdDo2MnB4KSwgd2hlcmUgaXRcbiAgIG92ZXJsYXBzIHRoZSByb29tIGhlYWRlciAvIHVzZXItbWVudSBhdmF0YXIgLyBzZWFyY2ggb24gbG9hZC4gV2UndmUgYWxyZWFkeVxuICAgc3VwcHJlc3NlZCB0aGUgdW52ZXJpZmllZC1zZXNzaW9ucyArIG5vdGlmaWNhdGlvbnMgbmFncyBpbiBjb2RlOyBmb3IgYW55XG4gICByZW1haW5pbmcgdG9hc3QgKHVwZGF0ZSBhdmFpbGFibGUsIHNlcnZlciBsaW1pdCwgZXRjLikgbW92ZSB0aGUgd2hvbGUgc3RhY2sgdG9cbiAgIHRoZSBCT1RUT00tbGVmdCBzbyBpdCBjYW4gbmV2ZXIgY292ZXIgdGhlIGhlYWRlci4gQ3JpdGljYWwgbW9kYWwgZGlhbG9ncyBhcmUgYVxuICAgc2VwYXJhdGUgbGF5ZXIgYW5kIGFyZSB1bmFmZmVjdGVkLiAqL1xuLm14X1RvYXN0Q29udGFpbmVyIHtcbiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBib3R0b206IDE2cHggIWltcG9ydGFudDtcbiAgICBsZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLyogRGV2IG5vdGU6IHRoZXJlJ3Mgbm8gYWN0dWFsIGNvbXBvbmVudCBjYWxsZWQgPFBsYXliYWNrQ29udGFpbmVyIC8+LiBUaGVzZSBjbGFzc2VzICovXHJcbi8qIGFyZSBzaGFyZWQgYW1vbmdzdCBtdWx0aXBsZSB2b2ljZSBtZXNzYWdlIGNvbXBvbmVudHMuICovXHJcblxyXG4vKiBDb250YWluZXIgZm9yIGxpdmUgcmVjb3JkaW5nIGFuZCBwbGF5YmFjayBjb250cm9scyAqL1xyXG4ubXhfVm9pY2VNZXNzYWdlUHJpbWFyeUNvbnRhaW5lciB7XHJcbiAgICAvKiBNYXRjaCBteF9NZWRpYUJvZHkgc3BhY2luZywgb2Zmc2V0dGluZyB0aGUgd2F2ZWZvcm0ncyAxcHggaW50ZXJuYWwgcmlnaHQgcGFkZGluZy4gKi9cclxuICAgIHBhZGRpbmc6IDZweCAxMXB4IDZweCAxMnB4O1xyXG5cclxuICAgIC8qIENoZWF0IGF0IGFsaWdubWVudCBhIGJpdCAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgY29udGFpbjogY29udGVudDtcclxuXHJcbiAgICAubXhfV2F2ZWZvcm0sXHJcbiAgICAubXhfUmVjb3JkaW5nUGxheWJhY2tfdGltZWxpbmVMYXlvdXRNaWRkbGUge1xyXG4gICAgICAgIG1pbi13aWR0aDogMDsgLyogUHJldmVudCBhIGJsb3dvdXQgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKiBXYXZlZm9ybXMgYXJlIHByZXNlbnQgaW4gbGl2ZSByZWNvcmRpbmcgb25seSAqL1xyXG4gICAgLm14X1dhdmVmb3JtIHtcclxuICAgICAgICAvKiBkZWZhdWx0LCBvdmVycmlkZGVuIGluIEpTICovXHJcbiAgICAgICAgLS1iYXJIZWlnaHQ6IDE7XHJcbiAgICAgICAgLm14X1dhdmVmb3JtX2JhciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkobWF4KDAuMDUsIHZhcigtLWJhckhlaWdodCkpKTtcclxuXHJcbiAgICAgICAgICAgICYubXhfV2F2ZWZvcm1fYmFyXzEwMHBjdCB7XHJcbiAgICAgICAgICAgICAgICAvKiBTbWFsbCBhbmltYXRpb24gdG8gcmVtb3ZlIHRoZSBtZWNoYW5pY2FsIGZlZWwgb2YgcHJvZ3Jlc3MgKi9cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfQ2xvY2sge1xyXG4gICAgICAgIHdpZHRoOiAkZm9udC00MnB4OyAvKiB3ZSdyZSBub3QgdXNpbmcgYSBtb25vc3BhY2UgZm9udCwgc28gZmFrZSBpdCAqL1xyXG4gICAgICAgIG1pbi13aWR0aDogJGZvbnQtNDJweDsgLyogZm9yY2Ugc2Vuc2libGUgbGF5b3V0cyBpbiBhd2t3YXJkIGZsZXhib3hlcyAoZmlsZSBwYW5lbCwgZm9yIGV4YW1wbGUpICovXHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4OyAvKiB3aXRoIHRoZSBmaXhlZCB3aWR0aCB0aGlzIGVuZHMgdXAgYXMgYSB2aXN1YWwgOHB4IG1vc3Qgb2YgdGhlIHRpbWUsIGFzIGludGVuZGVkLiAqL1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogOHB4OyAvKiBpc29sYXRlIGZyb20gcmVjb3JkaW5nIGNpcmNsZSAvIHBsYXkgY29udHJvbCAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9SZWNvcmRpbmdQbGF5YmFja190aW1lbGluZUxheW91dE1pZGRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4OyAvKiBzYW1lIGhlaWdodCBhcyBteF9XYXZlZm9ybSwgbmVlZGVkIGZvciBhdXRvbWF0aWMgdmVydGljYWwgY2VudGVyaW5nICovXHJcblxyXG4gICAgICAgIC5teF9XYXZlZm9ybSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TZWVrQmFyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIHRvcDogLTJweDsgLyogdmlzdWFsbHkgdmVydGljYWxseSBjZW50ZXJlZCAqL1xyXG5cclxuICAgICAgICAgICAgLyogSGlkZSB0aGUgaGFpcmxpbmUgcHJvZ3Jlc3MgYmFyIHNpbmNlIHdlJ3JlIGF0IDEwMCUgaGVpZ2h0LiBOZWVkIHRvIGhhdmUgZGlzdGluY3QgcnVsZXMgKi9cclxuICAgICAgICAgICAgLyogYmVjYXVzZSBDU1MgaXMgd2VpcmQuICovXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3Mge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLyogTWFrZSB0aGUgdGh1bWIgZWFzaWVyIHRvIHNlZS4gTGlrZSB0aGUgU2Vla0JhciBvcmlnaW5hbCBzdHlsZXMsIHRoZXNlIG5lZWQgdG8gYmUgKi9cclxuICAgICAgICAgICAgLyogZGlzdGluY3QuIFdlIG1ha2UgaXQgdHJhbnNwYXJlbnQgc28gaXQgZG9lc24ndCBzaG93IHVwIG9uIHRoZSBVSSwgYnV0IGFsc28gbGFyZ2VyICovXHJcbiAgICAgICAgICAgIC8qIHNvIGl0J3MgZWFzaWVyIHRvIGdyYWIgYnkgbW91c2UgdXNlcnMgaW4gc29tZSBicm93c2Vycy4gTW9zdCBicm93c2VycyBsZXQgdGhlIHVzZXIgKi9cclxuICAgICAgICAgICAgLyogbW92ZSBhbmQgZHJhZyB0aGUgdGh1bWIgcmVnYXJkbGVzcyBvZiBoaXR0aW5nIHRoZSB0aHVtYiwgaG93ZXZlci4gKi9cclxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIEZvciB0aW1lbGluZS1yZW5kZXJlZCBwbGF5YmFjaywgdGhlIGNsb2NrIGlzIG9uIHRoZSBvdGhlciBzaWRlIG9mIHRoZSB3YXZlZm9ybS4gKi9cclxuICAgICAgICAmICsgLm14X0Nsb2NrIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgICAgICAgICAvKiBUYWtlIHRoZSBwYWRkaW5nIG9mZiB0aGUgY2xvY2sgYmVjYXVzZSBpdCdzIGFjY291bnRlZCBmb3IgYnkgdGhlIGB0aW1lbGluZUxheW91dE1pZGRsZWAgKi9cclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi8qIENTUyBpbnNwaXJhdGlvbiBmcm9tOiAqL1xyXG4vKiAqIGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaG93dG8vaG93dG9fanNfcmFuZ2VzbGlkZXIuYXNwICovXHJcbi8qICogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI4MjgzODA2ICovXHJcbi8qICogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zdHlsaW5nLWNyb3NzLWJyb3dzZXItY29tcGF0aWJsZS1yYW5nZS1pbnB1dHMtY3NzLyAqL1xyXG5cclxuLm14X1NlZWtCYXIge1xyXG4gICAgLyogZGVmYXVsdCwgb3ZlcnJpZGRlbiBpbiBKUyAqL1xyXG4gICAgLS1maWxsVG86IDE7XHJcblxyXG4gICAgLyogRGV2IG5vdGU6IHdlIGRlbGliZXJhdGVseSBkbyBub3QgaGF2ZSB0aGUgLW1zLXRyYWNrIChhbmQgZnJpZW5kcykgc2VsZWN0b3JzIGJlY2F1c2Ugd2UgZG9uJ3QgKi9cclxuICAgIC8qIG5lZWQgdG8gc3VwcG9ydCBJRS4gKi9cclxuXHJcbiAgICBhcHBlYXJhbmNlOiBub25lOyAvKiBkZWZhdWx0IHN0eWxlIG92ZXJyaWRlICovXHJcblxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQ6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbiAgICBvdXRsaW5lOiBub25lOyAvKiByZW1vdmUgYmx1ZSBzZWxlY3Rpb24gYm9yZGVyICovXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGZvciBiZWZvcmUrYWZ0ZXIgcHNldWRvIGVsZW1lbnRzIGxhdGVyIG9uICovXHJcblxyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcclxuICAgICAgICBhcHBlYXJhbmNlOiBub25lOyAvKiBkZWZhdWx0IHN0eWxlIG92ZXJyaWRlICovXHJcblxyXG4gICAgICAgIC8qIERldiBub3RlOiBUaGlzIG5lZWRzIHRvIGJlIGR1cGxpY2F0ZWQgd2l0aCB0aGUgLW1vei1yYW5nZS10aHVtYiBzZWxlY3RvciAqL1xyXG4gICAgICAgIC8qIGJlY2F1c2Ugb3RoZXJ3aXNlIEVkZ2UgKHdlYmtpdCkgd2lsbCBmYWlsIHRvIHNlZSB0aGUgc3R5bGVzIGFuZCBqdXN0IHJlZnVzZSAqL1xyXG4gICAgICAgIC8qIHRvIGFwcGx5IHRoZW0uICovXHJcbiAgICAgICAgd2lkdGg6IDhweDtcclxuICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG5cclxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xyXG4gICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgLyogRmlyZWZveCBhZGRzIGEgYm9yZGVyIG9uIHRoZSB0aHVtYiAqL1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBUaGlzIGlzIGZvciB3ZWJraXQgc3VwcG9ydCwgYnV0IHdlIGNhbid0IGxpbWl0IHRoZSBmdW5jdGlvbmFsaXR5IG9mIGl0IHRvIGp1c3Qgd2Via2l0ICovXHJcbiAgICAvKiBicm93c2Vycy4gRmlyZWZveCByZXNwb25kcyB0byB3ZWJraXQtcHJlZml4ZWQgdmFsdWVzIG5vdywgd2hpY2ggbWVhbnMgd2UgY2FuJ3QgdXNlIG1lZGlhICovXHJcbiAgICAvKiBvciBzdXBwb3J0IHF1ZXJpZXMgdG8gc2VsZWN0aXZlbHkgYXBwbHkgdGhlIHJ1bGUuIEFuIHVwc2lkZSBpcyB0aGF0IHRoaXMgQ1NTIGRvZXNuJ3Qgd29yayAqL1xyXG4gICAgLyogaW4gZmlyZWZveCwgc28gaXQncyBqdXN0IHdhc3RlZCBDUFUvR1BVIHRpbWUuICovXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIC8qIDo6YmVmb3JlIHRvIGVuc3VyZSBpdCBlbmRzIHVwIHVuZGVyIHRoZSB0aHVtYiAqL1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIC8qIEFic29sdXRlIHBvc2l0aW9uaW5nIHRvIGVuc3VyZSBpdCBvdmVybGFwcyB3aXRoIHRoZSBleGlzdGluZyBiYXIgKi9cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICAgIC8qIFNpemluZyB0byBtYXRjaCB0aGUgYmFyICovXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcblxyXG4gICAgICAgIC8qIEFuZCBmaW5hbGx5IGR5bmFtaWMgd2lkdGggd2l0aG91dCBvdmVybHkgaHVydGluZyB0aGUgcmVuZGVyaW5nIGVuZ2luZS4gKi9cclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgodmFyKC0tZmlsbFRvKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogVGhpcyBpcyBmaXJlZm94J3MgYnVpbHQtaW4gc3VwcG9ydCBmb3IgdGhlIGFib3ZlLCB3aXRoIDEwMCUgbGVzcyBoYWNrcy4gKi9cclxuICAgICY6Oi1tb3otcmFuZ2UtcHJvZ3Jlc3Mge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBJbmNyZWFzZSBjbGlja2FibGUgYXJlYSBmb3IgdGhlIHNsaWRlciAoYXBwcm94aW1hdGVseSBzYW1lIHNpemUgYXMgYnJvd3NlciBkZWZhdWx0KSAqL1xyXG4gICAgLyogV2UgZG8gaXQgdGhpcyB3YXkgdG8ga2VlcCB0aGUgc2FtZSBwYWRkaW5nIGFuZCBtYXJnaW5zIG9mIHRoZSBlbGVtZW50LCBhdm9pZGluZyBtYXJnaW4gbWF0aC4gKi9cclxuICAgIC8qIFNvdXJjZTogaHR0cHM6Ly9mcm9udC1iYWNrLmNvbS9leHBhbmQtY2xpY2thYmxlLWFyZWFzLWZvci1hLWJldHRlci10b3VjaC1leHBlcmllbmNlLyAqL1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLTZweDtcclxuICAgICAgICBib3R0b206IC02cHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1dhdmVmb3JtIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMzBweDsgLyogdGFsbGVzdCBiYXIgY2FuIG9ubHkgYmUgMzBweCAqL1xyXG4gICAgdG9wOiAxcHg7IC8qIGJlY2F1c2Ugb2Ygb3VyIGJvcmRlciB0cmljayAoc2VlIGJlbG93KSwgd2UncmUgb2ZmIGJ5IDFweCBvZiBhbGlnbnRtZW50ICovXHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIHNvIHRoZSBiYXJzIGdyb3cgZnJvbSB0aGUgbWlkZGxlICovXHJcblxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogdGhpcyBpcyBjaGVhcGVyIHRoYW4gYSBgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gNHB4KWAgaW4gdGhlIGJhcidzIENTUy4gKi9cclxuXHJcbiAgICAvKiBBIGJhciBpcyBtZWFudCB0byBiZSBhIDJ4MiBjaXJjbGUgd2hlbiBhdCB6ZXJvIGhlaWdodCwgYW5kIG90aGVyd2lzZSBhIDJweCB3aWRlIGxpbmUgKi9cclxuICAgIC8qIHdpdGggcm91bmRlZCBjYXBzLiAqL1xyXG4gICAgLm14X1dhdmVmb3JtX2JhciB7XHJcbiAgICAgICAgd2lkdGg6IDA7IC8qIDBweCB3aWR0aCBtZWFucyB3ZSdsbCBlbmQgdXAgdXNpbmcgdGhlIGJvcmRlciBhcyBvdXIgd2lkdGggKi9cclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgLyogdHJhbnNwYXJlbnQgbWVhbnMgd2UnbGwgdXNlIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciAqL1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgLyogcm91bmRlZCBlbmQgY2FwcywgYmFzZWQgb24gdGhlIGJvcmRlciAqL1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7IC8qIGxpa2UgdGhlIHdpZHRoLCB3ZSdsbCByZWx5IG9uIHRoZSBib3JkZXIgdG8gZ2l2ZSB1cyBoZWlnaHQgKi9cclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlOyAvKiB0aGlzIG1ha2VzIHRoZSBgaGVpZ2h0OiA0MiVgIHdvcmsgb24gdGhlIGVsZW1lbnQgKi9cclxuICAgICAgICBtYXJnaW4tbGVmdDogMXB4OyAvKiB3ZSB3YW50IDJweCBiZXR3ZWVuIGVhY2ggYmFyLCBzbyAxcHggb24gZWl0aGVyIHNpZGUgZm9yIGJhbGFuY2UgKi9cclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcclxuXHJcbiAgICAgICAgLyogYmFja2dyb3VuZCBjb2xvciBpcyBoYW5kbGVkIGJ5IHRoZSBwYXJlbnQgY29tcG9uZW50cyAqL1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxOSBOZXcgVmVjdG9yIEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQXV0aEJvZHkge1xyXG4gICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgY29sb3I6ICRhdXRocGFnZS1zZWNvbmRhcnktY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tY3BkLXNwYWNlLTZ4KSB2YXIoLS1jcGQtc3BhY2UtNngpIDA7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDYwcHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIHN0cm9uZyB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9BdXRoQm9keV9mbGV4IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMjRweDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG4gICAgICAgIGNvbG9yOiAkYXV0aHBhZ2UtcHJpbWFyeS1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XHJcbiAgICAgICAgY29sb3I6ICRhdXRocGFnZS1zZWNvbmRhcnktY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgaDIubXhfQXV0aEJvZHlfY2VudGVyZWQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICBhOmxpbmssXHJcbiAgICBhOmhvdmVyLFxyXG4gICAgYTp2aXNpdGVkIHtcclxuICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BdXRoQm9keV9pY29uIHtcclxuICAgICAgICB3aWR0aDogNDRweDtcclxuICAgICAgICBoZWlnaHQ6IDQ0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0F1dGhCb2R5X2xvY2tJY29uIHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICB3aWR0aDogMzJweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQXV0aEJvZHlfdGV4dCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctNDg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XHJcbiAgICAgICAgY29sb3I6ICRhdXRocGFnZS1wcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9GaWVsZCBsYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRhdXRocGFnZS1zZWNvbmRhcnktY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ZpZWxkIGlucHV0LFxyXG4gICAgLm14X0ZpZWxkIHNlbGVjdCB7XHJcbiAgICAgICAgY29sb3I6ICRhdXRocGFnZS1wcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9GaWVsZF9sYWJlbEFsd2F5c1RvcExlZnQgbGFiZWwsXHJcbiAgICAubXhfRmllbGQgc2VsZWN0ICsgbGFiZWwgLyogQWx3YXlzIHNob3cgYSBzZWxlY3QncyBsYWJlbCBvbiB0b3AgdG8gbm90IGNvbGxpZGUgd2l0aCB0aGUgdmFsdWUgKi8sXHJcbiAgICAubXhfRmllbGQgaW5wdXQ6Zm9jdXMgKyBsYWJlbCxcclxuICAgIC5teF9GaWVsZCBpbnB1dDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSArIGxhYmVsLFxyXG4gICAgLm14X0ZpZWxkIHRleHRhcmVhOmZvY3VzICsgbGFiZWwsXHJcbiAgICAubXhfRmllbGQgdGV4dGFyZWE6bm90KDpwbGFjZWhvbGRlci1zaG93bikgKyBsYWJlbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQuZXJyb3Ige1xyXG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luX3N1Ym1pdCB7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTE2O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FcnJvck1lc3NhZ2Uge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9GaWVsZCBpbnB1dCB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRmllbGRfc2VsZWN0OjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhdXRocGFnZS1wcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Ecm9wZG93biB7XHJcbiAgICAgICAgY29sb3I6ICRhdXRocGFnZS1wcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Ecm9wZG93bl9hcnJvdyB7XHJcbiAgICAgICAgY29sb3I6ICRhdXRocGFnZS1wcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Ecm9wZG93bl9tZW51IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuXHJcbiAgICAgICAgLm14X0Ryb3Bkb3duX29wdGlvbl9oaWdobGlnaHQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0aHBhZ2UtZm9jdXMtYmctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBzcGVjaWFsaXNhdGlvbiBmb3IgcGFzc3dvcmQgcmVzZXQgdmlld3MgKi9cclxuLm14X0F1dGhCb2R5Lm14X0F1dGhCb2R5X2ZvcmdvdC1wYXNzd29yZCB7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBwYWRkaW5nOiA1MHB4IDMycHg7XHJcbiAgICBtaW4taGVpZ2h0OiA2MDBweDtcclxuXHJcbiAgICBoMSB7XHJcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0yNCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BdXRoQm9keV9idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Mb2dpbl9zdWJtaXQge1xyXG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLTE2O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BdXRoQm9keV90ZXh0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0zMjtcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLTg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9BdXRoQm9keV9zaWduLWluLWluc3RlYWQtYnV0dG9uIHtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy00O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BdXRoQm9keV9maWVsZFJvdyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMjQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ubXhfQWNjZXNzaWJsZUJ1dHRvbl9oYXNLaW5kIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG5cclxuICAgICAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQXV0aEJvZHlfZGlkLW5vdC1yZWNlaXZlIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X0F1dGhCb2R5X3Jlc2VuZC1idXR0b24ge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogJHNwYWNpbmctNDtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQ7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0F1dGhCb2R5X2VtYWlsUHJvbXB0SWNvbiB7XHJcbiAgICB3aWR0aDogNTdweDtcclxufVxyXG5cclxuLm14X0F1dGhCb2R5X2VtYWlsUHJvbXB0SWNvbi0tc2hpZnRlZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMTdweDsgLyogUHJldmVudCBsYXlvdXQganVtcCBieSByZWxhdGl2ZSBwb3NpdGlvbmluZy4gKi9cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTE3cHg7IC8qIFRoaXMgaWNvbiBpcyBoaWdoZXIgdGhhbiB0aGUgb3RoZXIgaWNvbnMuIFNoaWZ0IHVwIHRvIHByZXZlbnQgaWNvbiBqdW1waW5nLiAqL1xyXG4gICAgd2lkdGg6IDU3cHg7XHJcbn1cclxuXHJcbi5teF9BdXRoQm9keV9maWVsZFJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLm14X0F1dGhCb2R5X2ZpZWxkUm93ID4gLm14X0ZpZWxkIHtcclxuICAgIG1hcmdpbjogMCA1cHg7XHJcbn1cclxuXHJcbi5teF9BdXRoQm9keV9maWVsZFJvdyA+IC5teF9GaWVsZDpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxufVxyXG5cclxuLm14X0F1dGhCb2R5X2ZpZWxkUm93ID4gLm14X0ZpZWxkOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4ubXhfQXV0aEJvZHlfcGFkZGVkRm9vdGVyIHtcclxuICAgIGhlaWdodDogODBweDsgLyogaGVpZ2h0IG9mIHRoZSBzdWJtaXQgYnV0dG9uICsgcmVnaXN0ZXIgbGluayAqL1xyXG4gICAgcGFkZGluZy10b3A6IDI4cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLm14X0F1dGhCb2R5X3BhZGRlZEZvb3Rlcl90aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTY7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG5cclxuICAgICAgICAubXhfSW5saW5lU3Bpbm5lciBzdmcge1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0F1dGhCb2R5X3BhZGRlZEZvb3Rlcl9zdWJ0aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9BdXRoQm9keV9jaGFuZ2VGbG93IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgID4gYSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TU09CdXR0b25zICsgLm14X0F1dGhCb2R5X2NoYW5nZUZsb3cge1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMjQ7XHJcbn1cclxuXHJcbi5teF9BdXRoQm9keV9zcGlubmVyIHtcclxuICAgIG1hcmdpbjogMWVtIDA7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgIC5teF9BdXRoQm9keSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQXV0aEZvb3RlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICBvcGFjaXR5OiAwLjcyO1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYigwLCAwLCAwLCAwKSwgcmdiKDAsIDAsIDAsIDAuOCkpO1xyXG59XHJcblxyXG4ubXhfQXV0aEZvb3RlciBhOmxpbmssXHJcbi5teF9BdXRoRm9vdGVyIGE6aG92ZXIsXHJcbi5teF9BdXRoRm9vdGVyIGE6dmlzaXRlZCB7XHJcbiAgICBjb2xvcjogJGFjY2VudC1mZy1jb2xvcjtcclxuICAgIG1hcmdpbjogMCAyMnB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BdXRoSGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDIwNnB4O1xyXG4gICAgcGFkZGluZzogMjVweCAyNXB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgLm14X0F1dGhIZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0F1dGhIZWFkZXJMb2dvIHtcclxuICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgcGFkZGluZzogMCAyNXB4O1xyXG59XHJcblxyXG4ubXhfQXV0aEhlYWRlckxvZ28gaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAubXhfQXV0aEhlYWRlckxvZ28ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0F1dGhQYWdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGF1dGhwYWdlLWJnLWNvbG9yO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4ubXhfQXV0aFBhZ2VfbW9kYWwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMTAwcHggYXV0byBhdXRvO1xyXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRhdXRocGFnZS1tb2RhbC1iZy1jb2xvcjtcclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3NjhweCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9BdXRoUGFnZV9tb2RhbF93aXRoQmx1ciB7XHJcbiAgICAgICAgLyogQXBwbHkgYSBibHVycmVkIHNoYWRvdyBhcm91bmQgdGhlIG1vZGFsICovXHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiKDAsIDAsIDAsIDAuMzMpO1xyXG5cclxuICAgICAgICAubXhfQXV0aFBhZ2VfbW9kYWxDb250ZW50IHtcclxuICAgICAgICAgICAgLyogTWFrZSB0aGUgbW9kYWwncyBiYWNrZ3JvdW5kIHNlbWl0cmFuc3BhcmVudCAqL1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0aHBhZ2UtbW9kYWwtY29udGVudC13aXRoLWJsdXItYmctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxOSBOZXcgVmVjdG9yIEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ29tcGxldGVTZWN1cml0eUJvZHkge1xyXG4gICAgY29sb3I6ICRhdXRocGFnZS1wcmltYXJ5LWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG4gICAgcGFkZGluZzogMjBweCAyMHB4IDYwcHggMjBweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMjRweDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcclxuICAgIH1cclxuXHJcbiAgICBhOmxpbmssXHJcbiAgICBhOmhvdmVyLFxyXG4gICAgYTp2aXNpdGVkIHtcclxuICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NvdW50cnlEcm9wZG93biAubXhfRHJvcGRvd25faW5wdXQgLm14X0Ryb3Bkb3duX29wdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAwIDNweDtcclxufVxyXG5cclxuLm14X0NvdW50cnlEcm9wZG93biAubXhfRHJvcGRvd25fYXJyb3cge1xyXG4gICAgcGFkZGluZy1yaWdodDogM3B4O1xyXG59XHJcblxyXG4ubXhfQ291bnRyeURyb3Bkb3duX3Nob3J0T3B0aW9uIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLm14X0NvdW50cnlEcm9wZG93bl9vcHRpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjYgRWxlbWVudCBDcmVhdGlvbnMgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGVmYXVsdFdlbGNvbWUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC5teF9EZWZhdWx0V2VsY29tZV9sb2dvIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICBoMSB7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtNHgpIDAgdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EZWZhdWx0V2VsY29tZV9idXR0b25zIHtcclxuICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS02eCkgMCB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3Itc2VwYXJhdG9yLXByaW1hcnkpO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDM4MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1dlbGNvbWVQYWdlX3JlZ2lzdHJhdGlvbkRpc2FibGVkIHtcclxuICAgIC5teF9EZWZhdWx0V2VsY29tZV9idXR0b25zX3JlZ2lzdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxNyBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzIHtcclxuICAgIC5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfdGVybXNTdWJtaXQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIHByZXZlbnQgb3ZlcmZsb3dpbmcgKi9cclxuICAgIH1cclxufVxyXG5cclxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19tc2lzZG5XcmFwcGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19tc2lzZG5FbnRyeSB7XHJcbiAgICBmb250LXNpemU6IDIwMCU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzdHJvbmctaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgd2lkdGg6IDZlbTtcclxufVxyXG5cclxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19tc2lzZG5FbnRyeTpmb2N1cyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xyXG59XHJcblxyXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX21zaXNkblN1Ym1pdCB7XHJcbiAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi8qIFhYWDogVGhpcyBzaG91bGQgYmUgYSBjb21tb24gYnV0dG9uIGNsYXNzICovXHJcbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfbXNpc2RuU3VibWl0OmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1mZy1jb2xvcjtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c190ZXJtc1BvbGljeSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9JbnRlcmFjdGl2ZUF1dGhFbnRyeUNvbXBvbmVudHNfcGFzc3dvcmRTZWN0aW9uIHtcclxuICAgIHdpZHRoOiAzMDBweDtcclxufVxyXG5cclxuLm14X0ludGVyYWN0aXZlQXV0aEVudHJ5Q29tcG9uZW50c19zc29fYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW50ZXJhY3RpdmVBdXRoRW50cnlDb21wb25lbnRzX2VtYWlsV3JhcHBlciB7XHJcbiAgICAvKiBcIlJlc2VuZFwiIGJ1dHRvbi9saW5rICovXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfaW5saW5lIHtcclxuICAgICAgICAvKiBXZSBuZWVkIHRoaXMgdG8gYmUgYW4gaW5saW5lLWJsb2NrIHNvIHBvc2l0aW9uaW5nIHdvcmtzIGNvcnJlY3RseSAqL1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAvKiBTcGlubmVyIGFzIGVuZCBhZG9ybm1lbnQgb2YgdGhlIFwicmVzZW5kXCIgYnV0dG9uL2xpbmsgKi9cclxuICAgICAgICAubXhfU3Bpbm5lciB7XHJcbiAgICAgICAgICAgIC8qIFNwaW5uZXJzIGFyZSB1c3VhbGx5IGJsb2NrIGVsZW1lbnRzLCBidXQgd2UgbmVlZCBpdCBhcyBpbmxpbmUgZWxlbWVudCAqL1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvKiBTcGlubmVycyBieSBkZWZhdWx0IGZpbGwgYWxsIGF2YWlsYWJsZSB3aWR0aCwgYnV0IHdlIGRvbid0IHdhbnQgdGhhdCAqL1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvKiBXZSBuZWVkIHRvIGNlbnRlciB0aGUgc3Bpbm5lciByZWxhdGl2ZSB0byB0aGUgYnV0dG9uL2xpbmsgKi9cclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQXV0aEJvZHlfbGFuZ3VhZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9BdXRoQm9keV9sYW5ndWFnZSAubXhfRHJvcGRvd25faW5wdXQge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XHJcbiAgICBjb2xvcjogJGF1dGhwYWdlLWxhbmctY29sb3I7XHJcbiAgICB3aWR0aDogYXV0bztcclxufVxyXG5cclxuLm14X0F1dGhCb2R5X2xhbmd1YWdlIC5teF9Ecm9wZG93bl9hcnJvdyB7XHJcbiAgICBjb2xvcjogJGF1dGhwYWdlLWxhbmctY29sb3I7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Mb2dpbldpdGhRUlNlY3Rpb24gcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMTY7XHJcbn1cclxuXHJcbi5teF9Mb2dpbldpdGhRUlNlY3Rpb24ge1xyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5ICsgcCB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0xvZ2luV2l0aFFSU2VjdGlvbiAubXhfQWNjZXNzaWJsZUJ1dHRvbiBzdmcge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy0xMjtcclxufVxyXG5cclxuLm14X0F1dGhQYWdlIC5teF9Mb2dpbldpdGhRUiB7XHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiArIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG4gICAgfVxyXG5cclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxufVxyXG5cclxuLm14X0xvZ2luV2l0aFFSIHtcclxuICAgIG1pbi1oZWlnaHQ6IDM1MHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTI0cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgJi5ub3JtYWwge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmVycm9yIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGhlaWdodDogMS4zZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTI0O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Mb2dpbldpdGhRUl9xcldyYXBwZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctMjggMDtcclxuXHJcbiAgICAgICAgLm14X1NwaW5uZXIge1xyXG4gICAgICAgICAgICAvKiBNYXRjaCB0aGUgc2l6ZSBvZiB0aGUgUVIgY29kZSB0byBwcmV2ZW50IGp1bXBzICovXHJcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luV2l0aFFSX2NvbmZpcm1hdGlvbkRpZ2l0cyB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctNDggYXV0bztcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTI0cHg7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luV2l0aFFSX2NvbmZpcm1hdGlvbkFsZXJ0IHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVhdGVybmFyeS1jb250ZW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctODtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTG9naW5XaXRoUVJfc2VwYXJhdG9yIHtcclxuICAgICAgICBtYXJnaW46IDFlbSAwO1xyXG4gICAgfVxyXG5cclxuICAgIG9sIHtcclxuICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyAvKiBsaXN0IG1hcmtlcnMgZG8gbm90IHN1cHBvcnQgdGhlIG91dGxpbmVkIG51bWJlciBzdHlsaW5nIHdlIG5lZWQgKi9cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tY3BkLXNwYWNlLTd4KTtcclxuICAgICAgICAgICAgY29sb3I6IDFweCBzb2xpZCAkaW5wdXQtcGxhY2Vob2xkZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogQ2lyY2xlZCBudW1iZXIgbGlzdCBpdGVtIG1hcmtlciAqL1xyXG4gICAgICAgIGxpOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKGxpc3QtaXRlbSk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtcGxhY2Vob2xkZXI7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGFiZWxbZm9yPVwibXhfTG9naW5XaXRoUVJfY2hlY2tDb2RlXCJdIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Mb2dpbldpdGhRUl9pY29uIHtcclxuICAgICAgICB3aWR0aDogNTZweDtcclxuICAgICAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfTG9naW5XaXRoUVJfaWNvbi0tc3VjY2VzcyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWNjZXNzLXN1YnRsZSk7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc3VjY2Vzcy1wcmltYXJ5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9Mb2dpbldpdGhRUl9pY29uLS1jcml0aWNhbCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUpO1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Mb2dpbldpdGhRUl9jaGVja0NvZGVfaW5wdXQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcclxuXHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAvKiBXb3JrYXJvdW5kIGZvciBvbmUgb2YgdGhlIGlucHV0IHJ1bGVzIGluIF9jb21tb24ucGNzcyBiZWluZyBub3Qgc3BlY2lmaWMgZW5vdWdoICovXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKDQwcHggLyAyIC0gKDFjaCAvIDIpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luV2l0aFFSX2hlYWRpbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiAkc3BhY2luZy0xMjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Mb2dpbldpdGhRUl9CYWNrQnV0dG9uIHtcclxuICAgICAgICBoZWlnaHQ6ICRzcGFjaW5nLTI4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzcGFjaW5nLTI4O1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTG9naW5XaXRoUVJfYnJlYWRjcnVtYnMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Mb2dpbldpdGhRUl9tYWluIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9Mb2dpbldpdGhRUl9lcnJvciAubXhfTG9naW5XaXRoUVJfbWFpbiB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAubXhfTG9naW5XaXRoUVJfYnV0dG9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAkc3BhY2luZy0xNjtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUVJDb2RlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkc3BhY2luZy04O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvZ2luV2l0aFFSX3NwaW5uZXIge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4kUGFzc3BocmFzZVN0cmVuZ3RoSGlnaDogJGFjY2VudDtcclxuJFBhc3NwaHJhc2VTdHJlbmd0aE1lZGl1bTogJHVzZXJuYW1lLXZhcmlhbnQ1LWNvbG9yO1xyXG4kUGFzc3BocmFzZVN0cmVuZ3RoTG93OiAkYWxlcnQ7XHJcblxyXG5wcm9ncmVzcy5teF9QYXNzcGhyYXNlRmllbGRfcHJvZ3Jlc3Mge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgaGVpZ2h0OiA0cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0xMHB4O1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBAbWl4aW4gUHJvZ3Jlc3NCYXJCb3JkZXJSYWRpdXMgXCIycHhcIjtcclxuICAgIEBtaXhpbiBQcm9ncmVzc0JhckNvbG91ciAkUGFzc3BocmFzZVN0cmVuZ3RoTG93O1xyXG4gICAgJlt2YWx1ZT1cIjJcIl0sXHJcbiAgICAmW3ZhbHVlPVwiM1wiXSB7XHJcbiAgICAgICAgQG1peGluIFByb2dyZXNzQmFyQ29sb3VyICRQYXNzcGhyYXNlU3RyZW5ndGhNZWRpdW07XHJcbiAgICB9XHJcbiAgICAmW3ZhbHVlPVwiNFwiXSB7XHJcbiAgICAgICAgQG1peGluIFByb2dyZXNzQmFyQ29sb3VyICRQYXNzcGhyYXNlU3RyZW5ndGhIaWdoO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9XZWxjb21lIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTExeCkgdmFyKC0tY3BkLXNwYWNlLTEyeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuXHJcbiAgICAmLm14X1dlbGNvbWVQYWdlX3JlZ2lzdHJhdGlvbkRpc2FibGVkIHtcclxuICAgICAgICAubXhfQnV0dG9uQ3JlYXRlQWNjb3VudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfV2VsY29tZSAubXhfQXV0aEJvZHlfbGFuZ3VhZ2Uge1xyXG4gICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtMXgpIDA7XHJcbn1cclxuXHJcbi8qIEludmVydCBpbWFnZSBjb2xvdXJzIGluIGRhcmsgbW9kZS4gKi9cclxuLmNwZC10aGVtZS1kYXJrIC5teF9XZWxjb21lUGFnZV9sb2dvIHtcclxuICAgIGZpbHRlcjogaW52ZXJ0KDEpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG5idXR0b24ubXhfQmFzZUF2YXRhciB7XHJcbiAgICAvKiA8YnV0dG9uPiBpcyBhIGZvcm0gZWxlbWVudCBhbmQgYnkgZGVmYXVsdCBpdCB1c2VzIHRoZSB1c2VyIGFnZW50IChicm93c2VyKSBzdHlsaW5nLlxyXG4gICAgICAgV2Ugd2FudCBpdCB0byBpbmhlcml0IHRoZSBmb250LWZhbWlseSBhbmQgbGluZS1oZWlnaHQgZnJvbSBpdHMgcGFyZW50LlxyXG4gICAgICovXHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGVjb3JhdGVkUm9vbUF2YXRhcixcclxuLm14X0V4dHJhVGlsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb250YWluOiBjb250ZW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcblxyXG4gICAgJi5teF9EZWNvcmF0ZWRSb29tQXZhdGFyX2N1dG91dCAubXhfQmFzZUF2YXRhciB7XHJcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiL3Jlcy9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9kZWNvcmF0ZWQtYXZhdGFyLW1hc2suc3ZnXCIpO1xyXG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLyogdGhlIGZvbGxvd2luZyBwZXJjZW50YWdlIGJhc2VkIHNpemluZ3MgYXJlIHRvIG1hdGNoIHRoZSBzY2FsYWJsZSBzdmcgbWFzayBmb3IgdGhlIGN1dG91dCAqL1xyXG4gICAgICAgIGJvdHRvbTogNi4yNSU7IC8qIDJweCBmb3IgYSAzMngzMiBhdmF0YXIgKi9cclxuICAgICAgICByaWdodDogNi4yNSU7XHJcbiAgICAgICAgd2lkdGg6IDI1JTsgLyogOHB4IGZvciBhIDMyeDMyIGF2YXRhciAqL1xyXG4gICAgICAgIGhlaWdodDogMjUlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXJfaWNvbl9nbG9iZSBzdmcge1xyXG4gICAgICAgIC8qIE92ZXJzaXplIHRoZSBpY29uIHRvIGFjY291bnQgZm9yIHRoZSBkZWFkIHNwYWNlIGFyb3VuZCB0aGUgaWNvbiB3aXRoaW4gdGhlIGNhbnZhcyAqL1xyXG4gICAgICAgIHdpZHRoOiAxMjAlO1xyXG4gICAgICAgIGhlaWdodDogMTIwJTtcclxuICAgICAgICBtYXJnaW46IC0xMCU7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uX29mZmxpbmU6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJlc2VuY2Utb2ZmbGluZTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcl9pY29uX29ubGluZTo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXJfaWNvbl9hd2F5OjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByZXNlbmNlLWF3YXk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXJfaWNvbl9idXN5OjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByZXNlbmNlLWJ1c3k7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X05vdGlmaWNhdGlvbkJhZGdlLFxyXG4gICAgLm14X1Jvb21UaWxlX2JhZGdlQ29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICB3aWR0aDogMThweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X1Jvb21BdmF0YXJWaWV3IHtcclxuICAgIC0tcm9vbS1hdmF0YXItc2l6ZTogMzJweDtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLyogS2VlcCB0aGUgY29udGFpbmVyIHRvIHRoZSBzYW1lIHNpemUgdGhhbiB0aGUgYXZhdGFyICovXHJcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tcm9vbS1hdmF0YXItc2l6ZSk7XHJcbiAgICBibG9jay1zaXplOiB2YXIoLS1yb29tLWF2YXRhci1zaXplKTtcclxuXHJcbiAgICAubXhfUm9vbUF2YXRhclZpZXdfUm9vbUF2YXRhciB7XHJcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcclxuICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tQXZhdGFyVmlld19Sb29tQXZhdGFyX2ljb24ge1xyXG4gICAgICAgIG1hc2staW1hZ2U6IHVybChcIi9yZXMvaW1nL2VsZW1lbnQtaWNvbnMvcm9vbWxpc3Qvcm9vbS1hdmF0YXItdmlldy1pY29uLW1hc2suc3ZnXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tQXZhdGFyVmlld19Sb29tQXZhdGFyX3ByZXNlbmNlIHtcclxuICAgICAgICBtYXNrLWltYWdlOiB1cmwoXCIvcmVzL2ltZy9lbGVtZW50LWljb25zL3Jvb21saXN0L3Jvb20tYXZhdGFyLXZpZXctcHJlc2VuY2UtbWFzay5zdmdcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21BdmF0YXJWaWV3X2ljb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICAgICAgLyogUGxhY2UgaGFsZiB0aGUgaWNvbiBpbnNpZGUgdGhlIGF2YXRhciAqL1xyXG4gICAgICAgIC8qIEF2YXRhciBzaXplIC0gKGljb24gc2l6ZSAoMTZweCkgLyAyKSAqL1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoKHZhcigtLXJvb20tYXZhdGFyLXNpemUpIC0gOHB4KSk7XHJcbiAgICAgICAgYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMC01eCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21BdmF0YXJWaWV3X1ByZXNlbmNlRGVjb3JhdGlvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgICAvKiBQbGFjZSBoYWxmIHRoZSBpY29uIGluc2lkZSB0aGUgYXZhdGFyICovXHJcbiAgICAgICAgLyogQXZhdGFyIHNpemUgLSAoaWNvbiBzaXplICg4cHgpIC8gMikgKi9cclxuICAgICAgICBsZWZ0OiBjYWxjKCh2YXIoLS1yb29tLWF2YXRhci1zaXplKSAtIDRweCkpO1xyXG4gICAgICAgIGJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfV2lkZ2V0QXZhdGFyIHtcclxuICAgIC8qICFpbXBvcnRhbnQgb3ZlcnJpZGUgY29tcG91bmQgYXZhdGFyICovXHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1dpdGhQcmVzZW5jZUluZGljYXRvciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb250YWluOiBjb250ZW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcblxyXG4gICAgLm14X1dpdGhQcmVzZW5jZUluZGljYXRvcl9pY29uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IC0ycHg7XHJcbiAgICAgICAgYm90dG9tOiAtMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9XaXRoUHJlc2VuY2VJbmRpY2F0b3JfaWNvbjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9XaXRoUHJlc2VuY2VJbmRpY2F0b3JfaWNvbl9vZmZsaW5lOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmVzZW5jZS1vZmZsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9XaXRoUHJlc2VuY2VJbmRpY2F0b3JfaWNvbl9vbmxpbmU6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yX2ljb25fYXdheTo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJlc2VuY2UtYXdheTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfV2l0aFByZXNlbmNlSW5kaWNhdG9yX2ljb25fYnVzeTo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJlc2VuY2UtYnVzeTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0JldGFDYXJkIHtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTI0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVscztcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG5cclxuICAgIC5teF9CZXRhQ2FyZF9jb2x1bW5zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZmxvdzogd3JhcDtcclxuICAgICAgICBnYXA6ICRzcGFjaW5nLTIwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAubXhfQmV0YUNhcmRfY29sdW1uc19kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcblxyXG4gICAgICAgICAgICAubXhfQmV0YUNhcmRfdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE4cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjJweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2luZy00IDAgMTRweDtcclxuXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRzcGFjaW5nLTEyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfQmV0YUNhcmRfY2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0JldGFDYXJkX2J1dHRvbnMge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAkc3BhY2luZy0xMjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmctMjAgYXV0byAwO1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggNDBweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIHRleHQgbWlnaHQgb3ZlcmZsb3cgKi9cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogMjsgLyogUGxhY2UgZmVlZGJhY2sgYnV0dG9uIHRvcCBhbmQgcmlnaHQgKi9cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9CZXRhQ2FyZF9yZWZyZXNoV2FybmluZyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfQmV0YUNhcmRfZmFxIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTIwO1xyXG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS14cy1yZWd1bGFyKTtcclxuXHJcbiAgICAgICAgICAgICAgICA+IGg0IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTEyIDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IHAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0JldGFDYXJkX2NvbHVtbnNfaW1hZ2Vfd3JhcHBlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG5cclxuICAgICAgICAgICAgLm14X0JldGFDYXJkX2NvbHVtbnNfaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfQmV0YUNhcmRfcmVsYXRlZFNldHRpbmdzIHtcclxuICAgICAgICAubXhfU2V0dGluZ3NGbGFnIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0xNiAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAgICAgLm14X1NldHRpbmdzRmxhZ19taWNyb2NvcHkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9CZXRhQ2FyZF9iZXRhUGlsbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWFsdDtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQgMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1mZy1jb2xvcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcclxuICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsOyAvKiBhdm9pZCBtdWx0aXBsZSBsaW5lcyBvbiBDSksgbGFuZ3VhZ2UgKi9cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGV2aWNlQ29udGV4dE1lbnUge1xyXG4gICAgbWF4LXdpZHRoOiAyNTJweDtcclxuXHJcbiAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9sYWJlbCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwLTIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLyogQSBjb250ZXh0IG1lbnUgdGhhdCBsYXJnZWx5IGZpdHMgdGhlIHwgW2ljb25dICAgIFtsYWJlbF0gfCBmb3JtYXQuICovXHJcbi5teF9JY29uaXplZENvbnRleHRNZW51IHtcclxuICAgIG1pbi13aWR0aDogMTQ2cHg7XHJcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcbiAgICAvKiBvdmVycmlkZSBkZWZhdWx0IHVsIHN0eWxlcyAqL1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25MaXN0IHtcclxuICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3RfbGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogdGhlIG5vdEZpcnN0IGNsYXNzIGlzIGZvciBjYXNlcyB3aGVyZSB0aGUgb3B0aW9uTGlzdCBtaWdodCBiZSB1bmRlciBhIGhlYWRlciBvZiBzb3J0cy4gKi9cclxuICAgICAgICAmOm50aC1jaGlsZChuICsgMiksXHJcbiAgICAgICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfb3B0aW9uTGlzdF9ub3RGaXJzdCB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIHJvdW5kIHRoZSB0b3AgY29ybmVycyBvZiB0aGUgdG9wIGJ1dHRvbiBmb3IgdGhlIGhvdmVyIGVmZmVjdCB0byBiZSBib3VuZGVkICovXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7IC8qIHJhZGl1cyBtYXRjaGVzIC5teF9Db250ZXh0dWFsTWVudSAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogcm91bmQgdGhlIGJvdHRvbSBjb3JuZXJzIG9mIHRoZSBib3R0b20gYnV0dG9uIGZvciB0aGUgaG92ZXIgZWZmZWN0IHRvIGJlIGJvdW5kZWQgKi9cclxuICAgICAgICAmOmxhc3QtY2hpbGQgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7IC8qIHJhZGl1cyBtYXRjaGVzIC5teF9Db250ZXh0dWFsTWVudSAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogcm91bmQgYWxsIGNvcm5lcnMgb2YgdGhlIG9ubHkgYnV0dG9uIGZvciB0aGUgaG92ZXIgZWZmZWN0IHRvIGJlIGJvdW5kZWQgKi9cclxuICAgICAgICAmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OyAvKiByYWRpdXMgbWF0Y2hlcyAubXhfQ29udGV4dHVhbE1lbnUgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X2l0ZW0ge1xyXG4gICAgICAgICAgICAvKiBwYWQgdGhlIGluc2lkZSBvZiB0aGUgYnV0dG9uIHNvIHRoYXQgdGhlIGhvdmVyIGJhY2tncm91bmQgaXMgcGFkZGVkIHRvbyAqL1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcblxyXG4gICAgICAgICAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IHRvIG1vcmUgZWFzaWx5IGRlZmluZSB0aGUgbGlzdCBpdGVtcyAqL1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LWhvdmVyZWQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3Bhbi5teF9JY29uaXplZENvbnRleHRNZW51X2xhYmVsIHtcclxuICAgICAgICAgICAgICAgIC8qIGxhYmVscyAqL1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIEVsbGlwc2l6ZSBhbnkgdGV4dCBvdmVyZmxvdyAqL1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAmICsgLm14X0ljb25pemVkQ29udGV4dE1lbnVfbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0JldGFDYXJkX2JldGFQaWxsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3RfcmVkIHtcclxuICAgICAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhbGVydCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9vcHRpb25fcmVkIHtcclxuICAgICAgICBjb2xvcjogJGFsZXJ0ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X2FjdGl2ZSB7XHJcbiAgICAgICAgJi5teF9JY29uaXplZENvbnRleHRNZW51X2l0ZW0sXHJcbiAgICAgICAgLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9JY29uaXplZENvbnRleHRNZW51X2NvbXBhY3Qge1xyXG4gICAgICAgIC5teF9JY29uaXplZENvbnRleHRNZW51X29wdGlvbkxpc3QgPiAqIHtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDE2cHggOHB4IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN2Zy5teF9JY29uaXplZENvbnRleHRNZW51X2NoZWNrZWQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSWNvbml6ZWRDb250ZXh0TWVudV9zdWJsYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSWNvbml6ZWRDb250ZXh0TWVudV9pdGVtLm14X0ljb25pemVkQ29udGV4dE1lbnVfaXRlbURlc3RydWN0aXZlIHtcclxuICAgIGNvbG9yOiAkYWxlcnQgIWltcG9ydGFudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyMC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTGVnYWN5Q2FsbENvbnRleHRNZW51X2l0ZW0ge1xyXG4gICAgd2lkdGg6IDIwNXB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0LDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BZGRFeGlzdGluZ1RvU3BhY2VEaWFsb2dfd3JhcHBlciB7XHJcbiAgICAubXhfRGlhbG9nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9BZGRFeGlzdGluZ1RvU3BhY2Uge1xyXG4gICAgLm14X1NlYXJjaEJveCB7XHJcbiAgICAgICAgLyogVG8gbWF0Y2ggdGhlIHNwYWNlIGFyb3VuZCB0aGUgdGl0bGUgKi9cclxuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XHJcbiAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfY29udGVudCB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2Vfbm9SZXN1bHRzIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2Vfc2VjdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHByb3ZpZGVzIHNwYWNlIGZvciBzY3JvbGxiYXIgc28gdGhhdCBjaGVja2JveCBhbmQgc2Nyb2xsYmFyIGRvIG5vdCBjb2xsaWRlXHJcblxyXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmsge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VfZm9vdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG4gICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgICAgIC5teF9Qcm9ncmVzc0JhciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgIEBtaXhpbiBQcm9ncmVzc0JhckJvcmRlclJhZGl1cyA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2VEaWFsb2dfcHJvZ3Jlc3NUZXh0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gKiB7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Vycm9yIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xyXG5cclxuICAgICAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2Vycm9ySGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9lcnJvckNhcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAzNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZURpYWxvZ19yZXRyeUJ1dHRvbiBzdmcge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0FkZEV4aXN0aW5nVG9TcGFjZURpYWxvZyB7XHJcbiAgICB3aWR0aDogNDgwcHg7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgaGVpZ2h0OiA4MHZoO1xyXG5cclxuICAgIC5teF9BZGRFeGlzdGluZ1RvU3BhY2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU3Vic3BhY2VTZWxlY3RvciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgIC5teF9CYXNlQXZhdGFyIHtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMTZweCBhdXRvIDVweDtcclxuICAgIH1cclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgPiBoMSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE4cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Ecm9wZG93bl9pbnB1dCB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICA+IC5teF9Ecm9wZG93bl9vcHRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGZsZXg6IHVuc2V0O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG5cclxuICAgICAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1N1YnNwYWNlU2VsZWN0b3JfZHJvcGRvd25PcHRpb25BY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3Vic3BhY2VTZWxlY3Rvcl9vbmx5U3BhY2Uge1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQWRkRXhpc3RpbmdUb1NwYWNlX2VudHJ5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG5cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIC8qIEFsaWduIGNoZWNrYm94ZXMuICovXHJcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIHdlIGNhbid0IHRhcmdldCAubXhfQmFzZUF2YXRhciBoZXJlIGFzIGl0J2xsIGJyZWFrIHRoZSBkZWNvcmF0ZWQgYXZhdGFyIHN0eWxpbmcgKi9cclxuICAgIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FkZEV4aXN0aW5nVG9TcGFjZV9lbnRyeV9uYW1lIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BbmFseXRpY3NMZWFybk1vcmVEaWFsb2cge1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIC5teF9BbmFseXRpY3NMZWFybk1vcmVfaW1hZ2VfaG9sZGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvcmVzL2ltZy9lbGVtZW50LXNoaW55LnN2Z1wiKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XHJcbiAgICAgICAgaGVpZ2h0OiAxMTJweDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQW5hbHl0aWNzTGVhcm5Nb3JlX2NvcHkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVudS1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FuYWx5dGljc0xlYXJuTW9yZV9idWxsZXRzIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQW5hbHl0aWNzTGVhcm5Nb3JlX2J1bGxldHMgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAycHggMCAwIDMycHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogMjZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMGRiZDhiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0J1Z1JlcG9ydERpYWxvZyB7XHJcbiAgICAubXhfQnVnUmVwb3J0RGlhbG9nX2Rvd25sb2FkIHtcclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmsge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7IC8qIFNwYWNlIGJldHdlZW4gXCJEb3dubG9hZGluZyBsb2dzLi4uXCIgKi9cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE2IEF2aXJhbCBEYXNndXB0YVxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ2hhbmdlbG9nRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLm14X0NoYW5nZWxvZ0RpYWxvZ19saSB7XHJcbiAgICBwYWRkaW5nOiAwLjJlbTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLyogREVWIE5PVEU6IFRoaXMgc3R5bGVzaGVldCBjb3ZlcnMgZGlhbG9ncyBsaXN0ZWQgYnkgdGhlIGNvbXBvdW5kLCBpbmNsdWRpbmcgKi9cclxuLyogb3ZlciBtdWx0aXBsZSBSZWFjdCBjb21wb25lbnRzLiBUaGUgYWN0dWFsIGlubmVyIGNvbnRlbnRzIG9mIHRoZSBkaWFsb2cgc2hvdWxkICovXHJcbi8qIGJlIGluIHRoZWlyIHJlc3BlY3RpdmUgc3R5bGVzaGVldHMuICovXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4vKiBPdmVycmlkZSBsZWdhY3kvZGVmYXVsdCBzdHlsZXMgZm9yIGRpYWxvZ3MgKi9cclxuLm14X0RpYWxvZ193cmFwcGVyLm14X0NvbXBvdW5kRGlhbG9nIC5teF9EaWFsb2cge1xyXG4gICAgcGFkZGluZzogMDsgLyogd2UnbGwgbWFuYWdlIGl0IG91cnNlbHZlcyAqL1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9Db21wb3VuZERpYWxvZyB7XHJcbiAgICAubXhfRGlhbG9nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NvbXBvdW5kRGlhbG9nX2hlYWRlciB7XHJcbiAgICAgICAgcGFkZGluZzogMzJweCAzMnB4IDE2cHggMzJweDtcclxuXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTI0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDsgLyogbWFuYWdlZCBieSBoZWFkZXIgY2xhc3MgKi9cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NvbXBvdW5kRGlhbG9nX2NhbmNlbEJ1dHRvbiB7XHJcbiAgICAgICAgQG1peGluIGN1c3RvbWlzZWRDYW5jZWxCdXR0b247XHJcbiAgICAgICAgLyogQWxpZ24gd2l0aCBjb3JuZXIgcmFkaXVzIG9mIGRpYWxvZyAqL1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NvbXBvdW5kRGlhbG9nX2Zvcm0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NvbXBvdW5kRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAzMnB4O1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NvbXBvdW5kRGlhbG9nX2Zvb3RlciB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAzMnB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1Njcm9sbGFibGVCYXNlRGlhbG9nIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIHdpZHRoOiA1NDRweDsgLyogZml4ZWQgKi9cclxuICAgIGhlaWdodDogNTE2cHg7IC8qIGZpeGVkICovXHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG4gICAgbWF4LWhlaWdodDogODAlO1xyXG5cclxuICAgIC5teF9Db21wb3VuZERpYWxvZ19mb290ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAtNHB4IDRweCByZ2IoMCwgMCwgMCwgMC4wNSk7IC8qIGhhcmRjb2RlZCBjb2xvdXIgZm9yIGJvdGggdGhlbWVzICovXHJcbiAgICAgICAgei1pbmRleDogMTsgLyogbmVlZGVkIHRvIG1ha2UgZm9vdGVyICYgc2hhZG93IGFwcGVhciBhYm92ZSBkaWFsb2cgY29udGVudCAqL1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ29uZmlybUtleVN0b3JhZ2VPZmZEaWFsb2cge1xyXG4gICAgLm14X0RpYWxvZ19ib3JkZXIge1xyXG4gICAgICAgIHdpZHRoOiA2MDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRW5jcnlwdGlvbkNhcmQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NvbmZpcm1TcGFjZVVzZXJBY3Rpb25EaWFsb2dfd3JhcHBlciB7XHJcbiAgICAubXhfRGlhbG9nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcGFkZGluZzogMjRweCAzMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQ29uZmlybVNwYWNlVXNlckFjdGlvbkRpYWxvZyB7XHJcbiAgICB3aWR0aDogNDQwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgaGVpZ2h0OiA1MjBweDtcclxuXHJcbiAgICAubXhfRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbjogMTJweCAwO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Db25maXJtVXNlckFjdGlvbkRpYWxvZ19yZWFzb25GaWVsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQ29uZmlybVNwYWNlVXNlckFjdGlvbkRpYWxvZ193YXJuaW5nIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcclxuXHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0xLTV4KTtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IC5teF9Db25maXJtVXNlckFjdGlvbkRpYWxvZ191c2VyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG59XHJcblxyXG4ubXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dfYXZhdGFyIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4ubXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dfbmFtZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xOHB4O1xyXG59XHJcblxyXG4ubXhfQ29uZmlybVVzZXJBY3Rpb25EaWFsb2dfdXNlcklkIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcclxufVxyXG5cclxuLm14X0NvbmZpcm1Vc2VyQWN0aW9uRGlhbG9nX3JlYXNvbkZpZWxkIHtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNyBNaWNoYWVsIFRlbGF0eW5za2kgPDd0M2NoZ3V5QGdtYWlsLmNvbT5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NyZWF0ZVJvb21EaWFsb2dfZGV0YWlscyB7XHJcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG5cclxuICAgIC5teF9DcmVhdGVSb29tRGlhbG9nX2RldGFpbHNfc3VtbWFyeSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuXHJcbiAgICAgICAgLyogbGlzdC1zdHlsZSBkb2Vzbid0IGRvIGl0IGZvciB3ZWJraXQgKi9cclxuICAgICAgICAmOjotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KDpmb2N1cy12aXNpYmxlKSB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcblxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9DcmVhdGVSb29tRGlhbG9nX2xhYmVsIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcclxufVxyXG5cclxuLm14X0NyZWF0ZVJvb21EaWFsb2dfaW5wdXRfY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5teF9DcmVhdGVSb29tRGlhbG9nX2lucHV0IHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgICBwYWRkaW5nOiA5cHg7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9DcmVhdGVSb29tRGlhbG9nX2FsaWFzQ29udGFpbmVyIHtcclxuICAgIC8qIG5lZWRlZCB0byBtYWtlIHRoZSBhbGlhcyBmaWVsZCBvbmx5IGdyb3cgYXMgd2lkZSBhcyBuZWVkZWQgYXMgb3Bwb3NlZCB0byBmdWxsIHdpZHRoICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlUm9vbURpYWxvZyB7XHJcbiAgICAmLm14X0RpYWxvZ19maXhlZFdpZHRoIHtcclxuICAgICAgICB3aWR0aDogNDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ19jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHAsXHJcbiAgICAubXhfRmllbGRfaW5wdXQgbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzRmxhZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2V0dGluZ3NGbGFnX2xhYmVsIHtcclxuICAgICAgICBmbGV4OiAxIDEgMDtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RvZ2dsZVN3aXRjaCB7XHJcbiAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ19jb250ZW50ID4gLm14X1NldHRpbmdzRmxhZyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRmllbGQge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtIHtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDg1cHggMCAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0NyZWF0ZVJvb21EaWFsb2dfbGFiZWxsZWRDaGVja2JveCB7XHJcbiAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNiBFbGVtZW50IENyZWF0aW9ucyBMdGQuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi5teF9DcmVhdGVTZWN0aW9uRGlhbG9nIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuXHJcbiAgICAmLm14X0RpYWxvZ19maXhlZFdpZHRoIHtcclxuICAgICAgICAvKiA1NzZweCBjb21pbmcgZnJvbSBGaWdtYSBhbmQgcmVtb3ZlIGV4dGVybmFsIHBhZGRpbmcgKi9cclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTc2cHggLSB2YXIoLS1jcGQtc3BhY2UtMjB4KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NyZWF0ZVNlY3Rpb25EaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMzQ2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NyZWF0ZVNlY3Rpb25EaWFsb2dfZm9ybSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9DcmVhdGVTdWJzcGFjZURpYWxvZ193cmFwcGVyIHtcclxuICAgIC5teF9EaWFsb2cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nIHtcclxuICAgIHdpZHRoOiA0ODBweDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgIG1pbi1oZWlnaHQ6IDA7XHJcblxyXG4gICAgLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuXHJcbiAgICAgICAgLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nX2JldGFOb3RpY2Uge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgIC5teF9CZXRhQ2FyZF9iZXRhUGlsbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Kb2luUnVsZURyb3Bkb3duICsgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZmctY29sb3I7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NyZWF0ZVN1YnNwYWNlRGlhbG9nX2Zvb3RlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgICAgICAubXhfQ3JlYXRlU3Vic3BhY2VEaWFsb2dfZm9vdGVyX3Byb21wdCB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgICAgID4gKiB7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAzNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X0NyeXB0byB7XHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtNHgpIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBib3JkZXItc3BhY2luZzogdmFyKC0tY3BkLXNwYWNlLTJ4KSAwO1xyXG5cclxuICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctc20tc2VtaWJvbGQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGVhY3RpdmF0ZUFjY291bnREaWFsb2cgLm14X0RpYWxvZ19jb250ZW50IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5teF9EZWFjdGl2YXRlQWNjb3VudERpYWxvZyAubXhfRGVhY3RpdmF0ZUFjY291bnREaWFsb2dfaW5wdXRfc2VjdGlvbiAubXhfRmllbGQge1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNyBNaWNoYWVsIFRlbGF0eW5za2kgPDd0M2NoZ3V5QGdtYWlsLmNvbT5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0RldnRvb2xzRGlhbG9nX3dyYXBwZXIge1xyXG4gICAgLm14X0RpYWxvZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dfZml4ZWRXaWR0aCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgLm14X0RpYWxvZ19idXR0b25zIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9EZXZUb29sc190b2dnbGVGb3JtIHtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc190b29sSGVhZGluZyB7XHJcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctc20tc2VtaWJvbGQpO1xyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfY29udGVudCB7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfUm9vbVN0YXRlRXhwbG9yZXJfcXVlcnkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLm14X0RldlRvb2xzX2J1dHRvbiB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm14X0RldlRvb2xzX1Jvb21TdGF0ZUV4cGxvcmVyX2J1dHRvbl9oYXNTcGFjZXMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc19idXR0b24ubXhfRGV2VG9vbHNfUm9vbVN0YXRlRXhwbG9yZXJfYnV0dG9uX2VtcHR5U3RyaW5nIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLm14X0RldlRvb2xzX2xhYmVsX2xlZnQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc19sYWJlbF9yaWdodCB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc19sYWJlbF9ib3R0b20ge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcclxufVxyXG5cclxuLm14X0RldlRvb2xzX2lucHV0Um93IHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcclxufVxyXG5cclxuLm14X0RldlRvb2xzX2lucHV0TGFiZWxDZWxsIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc190ZXh0YXJlYSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBtYXgtd2lkdGg6IDY4NHB4O1xyXG4gICAgbWluLWhlaWdodDogMjUwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfZXZlbnRUeXBlU3RhdGVLZXlHcm91cCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfY29udGVudCAubXhfRmllbGRfaW5wdXQ6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDQycHg7XHJcbn1cclxuXHJcbi5teF9EZXZUb29sc19WZXJpZmljYXRpb25SZXF1ZXN0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBwYWRkaW5nOiAxcHggNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRtb25vc3BhY2UtZm9udC1mYW1pbHk7XHJcblxyXG4gICAgZGwge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXgtY29udGVudCBhdXRvO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICBkZCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XHJcbiAgICB9XHJcblxyXG4gICAgZGQ6ZW1wdHkge1xyXG4gICAgICAgIGNvbG9yOiAjNjY2NjY2O1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCIoZW1wdHkpXCI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGR0IHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcclxuICAgIH1cclxuXHJcbiAgICBkdDo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3JlciB7XHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG5cclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIC8qIENvbG91ciBjaG9pY2U6IGZpcnN0IG9uZSBhdXRvY29tcGxldGUgZ2F2ZSBtZS4gKi9cclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZCxcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzNjBweDsgLyogXCJmZWVscyByaWdodFwiIG51bWJlciAqL1xyXG5cclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZCArIHRkLFxyXG4gICAgICAgIHRoICsgdGgge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyOmhvdmVyIHtcclxuICAgICAgICAgICAgLyogQ29sb3VyIGNob2ljZTogZmlyc3Qgb25lIGF1dG9jb21wbGV0ZSBnYXZlIG1lLiAqL1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3Jlcl9tdXRhYmxlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyX2ltbXV0YWJsZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EZXZUb29sc19TZXR0aW5nc0V4cGxvcmVyX2VkaXQge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RldlRvb2xzX1NldHRpbmdzRXhwbG9yZXJfd2FybmluZyB7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGFsZXJ0O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfU2V0dGluZ3NFeHBsb3Jlcl9zZXR0aW5nIHtcclxuICAgIC8qIG92ZXJyaWRlIGRlZmF1bHQgbGluayBidXR0b24gY29sb3IgKi9cclxuICAgIC8qIGFzIGl0IGlzIHRoZSBzYW1lIGFzIHRoZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCAqL1xyXG4gICAgLyogdXNlZCBvbiBmb2N1cyAqL1xyXG4gICAgY29sb3I6ICRsaW5rcyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubXhfRGV2VG9vbHNfc3RpY2t5X2V4cGxvcmVyIHtcclxuICAgIHRhYmxlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuXHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aCN1c2VyX2hlYWRlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoI3N0aWNreV9rZXlfaGVhZGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGgjZXhwaXJlc19pbl9oZWFkZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0cjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1ob3ZlcmVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRyOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTIpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItZm9jdXNlZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZC5yZW1haW5pbmdfdGltZV9jb2x1bW4ge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQsMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0V4cG9ydERpYWxvZyB7XHJcbiAgICAubXhfRXhwb3J0RGlhbG9nX3N1YmhlYWRpbmcge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTZweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0V4cG9ydERpYWxvZ19FeHBvcnRpbmcge1xyXG4gICAgICAgIC5teF9FeHBvcnREaWFsb2dfb3B0aW9ucyB7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ZpZWxkX3NlbGVjdDo6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGRpdiA+IGRpdiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbmZvLXBsaW50aC1mZy1jb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGRpdiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRmllbGRfdmFsaWQubXhfRmllbGQgbGFiZWwsXHJcbiAgICAgICAgLm14X0ZpZWxkX3ZhbGlkLm14X0ZpZWxkOmZvY3VzLXdpdGhpbiBsYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB1bnNldDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9GaWVsZF92YWxpZC5teF9GaWVsZCxcclxuICAgICAgICAubXhfRmllbGRfdmFsaWQubXhfRmllbGQ6Zm9jdXMtd2l0aGluIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRXhwb3J0RGlhbG9nX3Byb2dyZXNzIHtcclxuICAgICAgICAubXhfRGlhbG9nX2J1dHRvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3Bpbm5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgZmxleDogdW5zZXQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uID4gLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ZpZWxkIHtcclxuICAgICAgICB3aWR0aDogMjU2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ZpZWxkX3Bvc3RmaXgge1xyXG4gICAgICAgIHBhZGRpbmc6IDlweCAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRXhwb3J0RGlhbG9nX2F0dGFjaG1lbnRzLWNoZWNrYm94IHtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTE2O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRmVlZGJhY2tEaWFsb2cge1xyXG4gICAgaHIge1xyXG4gICAgICAgIG1hcmdpbjogMjRweCAwO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcblxyXG4gICAgICAgID4gaDIge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRmVlZGJhY2tEaWFsb2dfc2VjdGlvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDEycHggNTJweCAxMnB4IDY4cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICYgKyAubXhfRmVlZGJhY2tEaWFsb2dfc2VjdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xOHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogOHB4IDAgMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9GZWVkYmFja0RpYWxvZ19zZWN0aW9uX21pY3JvY29weSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhLFxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiA+IHN2ZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMTZweDtcclxuICAgICAgICAgICAgdG9wOiAxMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYXZhdGFyLWluaXRpYWwtY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ZlZWRiYWNrRGlhbG9nX3JhdGVBcHAge1xyXG4gICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemUgMXMsXHJcbiAgICAgICAgICAgICAgICBib3JkZXIgMC41cztcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgZGl2IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpY29uLWJ1dHRvbi1jb2xvcjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9zcGFjZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJiArIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NoZWNrZWQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgUm9iaW4gVG93bnNlbmQgPHJvYmluQHJvYmluLnRvd24+XHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Gb3J3YXJkRGlhbG9nIHtcclxuICAgIHdpZHRoOiA1MjBweDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IDgwdmg7XHJcblxyXG4gICAgPiBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgfVxyXG5cclxuICAgID4gLm14X0ZvcndhcmREaWFsb2dfcHJldmlldyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMzAlO1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBXaGVuIGZvcndhcmRpbmcgbWVzc2FnZXMgZnJvbSBlbmNyeXB0ZWQgcm9vbXMsIEV2ZW50VGlsZSB3aWxsIGNvbXBsYWluICovXHJcbiAgICAgICAgLyogdGhhdCBvdXIgcHJldmlldyBpcyB1bmVuY3J5cHRlZCwgd2hpY2ggZG9lc24ndCBhY3R1YWxseSBtYXR0ZXIgKi9cclxuICAgICAgICAvKiBXZSBhbHNvIGhpZGUgZG93bmxvYWQgbGlua3MgdG8gbm90IGVuY291cmFnZSB1c2VycyB0byB0cnkgaW50ZXJhY3RpbmcgKi9cclxuICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbixcclxuICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24sXHJcbiAgICAgICAgLm14X01GaWxlQm9keSBbZGF0YS10eXBlPVwiZG93bmxvYWRcIl0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IGhyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgbWFyZ2luOiAxMnB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgPiAubXhfRm9yd2FyZExpc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG5cclxuICAgICAgICAubXhfU2VhcmNoQm94IHtcclxuICAgICAgICAgICAgLyogVG8gbWF0Y2ggdGhlIHNwYWNlIGFyb3VuZCB0aGUgdGl0bGUgKi9cclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XHJcblxyXG4gICAgICAgICAgICAmOm5vdCg6Zm9jdXMtd2l0aGluKSArIC5teF9Gb3J3YXJkTGlzdF9jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIC8qIEluaGliaXQgdGhlIHN0eWxpbmcgaWYgZm9jdXMgaXMgbm90IHdpdGhpbiB0aGUgaW5wdXQgd2hpY2ggaGFuZGxlcyBrZXlib2FyZCBhY2Nlc3NpYmlsaXR5ICovXHJcbiAgICAgICAgICAgICAgICAtLW14X0ZvcndhcmRMaXN0X2VudHJ5X3NlbGVjdGVkQmdDb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Gb3J3YXJkTGlzdF9jb250ZW50IHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ZvcndhcmRMaXN0X25vUmVzdWx0cyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ZvcndhcmRMaXN0X3Jlc3VsdHMge1xyXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9Gb3J3YXJkTGlzdF9yZXN1bHRzTGlzdCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9Gb3J3YXJkTGlzdF9lbnRyeSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmLm14X0ZvcndhcmRMaXN0X2VudHJ5X2FjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXhfRm9yd2FyZExpc3RfZW50cnlfc2VsZWN0ZWRCZ0NvbG9yLCAkc3BhY2VQYW5lbC1iZy1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0ZvcndhcmRMaXN0X3Jvb21CdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfRm9yd2FyZExpc3RfZW50cnlfbmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAubXhfRm9yd2FyZExpc3RfZW50cnlfZGV0YWlsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X0ZvcndhcmRMaXN0X2VudHJ5X25hbWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfRm9yd2FyZExpc3RfZW50cnlfZGV0YWlsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9Gb3J3YXJkTGlzdF9zZW5kQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KC5teF9Gb3J3YXJkTGlzdF9jYW5TZW5kKSAubXhfRm9yd2FyZExpc3Rfc2VuZExhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogSGlkZSB0aGUgXCJTZW5kXCIgbGFiZWwgd2hpbGUgcHJlc2VydmluZyBidXR0b24gc2l6ZSAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmID4gc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1hdGNoIHRoZSBmYWlsZWQgdG8gc2VuZCBpbmRpY2F0b3IncyBjb2xvciB3aXRoIHRoZSBkaXNhYmxlZCBidXR0b24gKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItZGlzYWJsZWQtZmctY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfR2VuZXJpY0ZlYXR1cmVGZWVkYmFja0RpYWxvZyB7XHJcbiAgICAubXhfR2VuZXJpY0ZlYXR1cmVGZWVkYmFja0RpYWxvZ19zdWJoZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0luY29taW5nU2FzRGlhbG9nX29wcG9uZW50UHJvZmlsZV9pbWFnZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5teF9JbmNvbWluZ1Nhc0RpYWxvZ19vcHBvbmVudFByb2ZpbGUgaDIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5LCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9JbnZpdGVEaWFsb2dfZmxleFdyYXBwZXIgLm14X0RpYWxvZyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLm14X0ludml0ZURpYWxvZ190cmFuc2ZlcldyYXBwZXIgLm14X0RpYWxvZyB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctMTY7XHJcbn1cclxuXHJcbi5teF9JbnZpdGVEaWFsb2dfYWRkcmVzc0JhciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIC8qIFJpZ2h0IG1hcmdpbiBmb3IgdGhlIGRlc2lnbi4gV2UgY291bGQgYXBwbHkgdGhpcyB0byB0aGUgd2hvbGUgZGlhbG9nLCBidXQgdGhlbiB0aGUgc2Nyb2xsYmFyICovXHJcbiAgICAvKiBmb3IgdGhlIHVzZXIgc2VjdGlvbiBnZXRzIHdlaXJkLiAqL1xyXG4gICAgbWFyZ2luOiAkc3BhY2luZy04IDQ1cHggMCAwO1xyXG5cclxuICAgIC5teF9JbnZpdGVEaWFsb2dfZWRpdG9yIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtMC01eCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ludml0ZURpYWxvZ19nb0J1dHRvbiB7XHJcbiAgICAgICAgbWluLXdpZHRoOiA4NnB4O1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX3NlY3Rpb24ge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTQ7XHJcblxyXG4gICAgLm14X0ludml0ZURpYWxvZ19zZWN0aW9uX3Nob3dNb3JlIHtcclxuICAgICAgICBtYXJnaW46IDdweCAxOHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX3NlY3Rpb25faGlkZGVuX3N1Z2dlc3Rpb25zX2Rpc2NsYWltZXIge1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctOCAwICRzcGFjaW5nLTE2IDA7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG5cclxuICAgID4gc3BhbiB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB9XHJcblxyXG4gICAgPiBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JbnZpdGVEaWFsb2dfZm9vdGVyIHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG5cclxuICAgID4gaDMge1xyXG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctMTIgMDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Db3B5YWJsZVRleHQubXhfQ29weWFibGVUZXh0X2JvcmRlciB7XHJcbiAgICAgICAgd2lkdGg6IHVuc2V0OyAvKiBmdWxsIHdpZHRoICovXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX290aGVyIHtcclxuICAgIC8qIFByZXZlbnQgdGhlIGRpYWxvZyBmcm9tIGp1bXBpbmcgYXJvdW5kIHJhbmRvbWx5IHdoZW4gZWxlbWVudHMgY2hhbmdlLiAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBoZWlnaHQ6IDYwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ludml0ZURpYWxvZ19hZGRyZXNzQmFyIHtcclxuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSW52aXRlRGlhbG9nX3VzZXJTZWN0aW9ucyB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcblxyXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfc2VjdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0ludml0ZURpYWxvZ19jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAubXhfSW52aXRlUHJvZ3Jlc3NCb2R5IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtMTJ4KTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0ludml0ZURpYWxvZ190cmFuc2ZlciB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAubXhfSW52aXRlRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiA0OTZweDtcclxuICAgICAgICBoZWlnaHQ6IDQzMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuICAgICAgICAubXhfVGFiYmVkVmlldyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICAubXhfVGFiYmVkVmlld190YWJQYW5lbCB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9UYWJiZWRWaWV3X3RhYlBhbmVsQ29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9JbnZpdGVEaWFsb2dfYWRkcmVzc0JhciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkc3BhY2luZy04O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX3VzZXJTZWN0aW9ucyB7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgcGFkZGluZzogMCA0NXB4ICRzcGFjaW5nLTQgMDtcclxufVxyXG5cclxuLm14X0ludml0ZURpYWxvZ19oZWxwVGV4dCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5teF9JbnZpdGVEaWFsb2dfZGlhbFBhZCB7XHJcbiAgICB3aWR0aDogMjI0cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xNjtcclxuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcblxyXG4gICAgLm14X0ludml0ZURpYWxvZ19kaWFsUGFkRmllbGQge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgYm9yZGVyLWlubGluZTogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcXVhdGVybmFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRmllbGRfcG9zdGZpeCB7XHJcbiAgICAgICAgICAgIC8qIFJlbW92ZSBib3JkZXIgc2VwYXJhdG9yIGJldHdlZW4gcG9zdGZpeCBhbmQgZmllbGQgY29udGVudCAqL1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxQYWQge1xyXG4gICAgICAgIHJvdy1nYXA6ICRzcGFjaW5nLTE2O1xyXG4gICAgICAgIGNvbHVtbi1nYXA6IDQ4cHg7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLm14X0ludml0ZURpYWxvZ190cmFuc2ZlckNvbnN1bHRDb25uZWN0IHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy0xNjtcclxuICAgIC8qIFRoaXMgd2FudHMgYSBkcm9wIHNoYWRvdyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgZGlhbG9nLCBzbyB1c2UgbmVnYXRpdmUgbWFyZ2luIHRvIG1ha2UgaXQgZnVsbCB3aWR0aCxcclxuICAgICAqIHRoZW4gY29tcGVuc2F0ZSB3aXRoIHBhZGRpbmdcclxuICAgICAqL1xyXG4gICAgcGFkZGluZy1pbmxpbmU6ICRzcGFjaW5nLTI0O1xyXG4gICAgbWFyZ2luLWlubGluZTogY2FsYygtMSAqICRzcGFjaW5nLTI0KTtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0ludml0ZURpYWxvZ190cmFuc2ZlckNvbnN1bHRDb25uZWN0X3B1c2hSaWdodCB7XHJcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX3RpbGUge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogJHNwYWNpbmctOCAkc3BhY2luZy0xMjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgJi5teF9JbnZpdGVEaWFsb2dfdGlsZS0taW52aXRlckVycm9yIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1heC1jb250ZW50IGF1dG87IC8qIG1heC1jb250ZW50ID0gYXZhdGFyIHdpZHRoICovXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMjQ7XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfSW52aXRlRGlhbG9nX3RpbGUtLWludml0ZXJFcnJvcl9lcnJvclRleHQge1xyXG4gICAgICAgICAgICBncmlkLXJvdy1zdGFydDogMjtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XHJcblxyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICoge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ludml0ZURpYWxvZ190aWxlX2F2YXRhclN0YWNrIHtcclxuICAgICAgICB3aWR0aDogMzZweDtcclxuICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBncmlkLXJvdy1zdGFydDogMTtcclxuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcclxuXHJcbiAgICAgICAgJiA+ICoge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ludml0ZURpYWxvZ190aWxlX25hbWVTdGFjayB7XHJcbiAgICAgICAgZ3JpZC1yb3ctc3RhcnQ6IDE7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICBnYXA6IDJweCAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9uYW1lU3RhY2tfbmFtZSxcclxuICAgICAgICAubXhfSW52aXRlRGlhbG9nX3RpbGVfbmFtZVN0YWNrX3VzZXJJZCB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfSW52aXRlRGlhbG9nX3RpbGVfbmFtZVN0YWNrX25hbWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9JbnZpdGVEaWFsb2dfdGlsZV9uYW1lU3RhY2tfdXNlcklkIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0ludml0ZURpYWxvZ19tdWx0aUludml0ZXJFcnJvciB7XHJcbiAgICA+IGg0IHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW52aXRlRGlhbG9nX2lkZW50aXR5U2VydmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDFlbTtcclxufVxyXG5cclxuLm14X0ludml0ZURpYWxvZ19vbmVUaHJlZXBpZCB7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBtYXJnaW46ICRzcGFjaW5nLTggMDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ludml0ZVByb2dyZXNzQm9keSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LWxnLXJlZ3VsYXIpO1xyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1zbS1zZW1pYm9sZCk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Kb2luUnVsZURyb3Bkb3duIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuXHJcbiAgICAubXhfRHJvcGRvd25fb3B0aW9uIHtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0zMnB4O1xyXG4gICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tY3BkLXNwYWNlLTEtNXgpO1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtMS01eCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfSm9pblJ1bGVEcm9wZG93bl9rbm9jazo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfSm9pblJ1bGVEcm9wZG93bl9pY29uIHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiA2cHg7XHJcbiAgICAgICAgdG9wOiA4cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MZWF2ZVNwYWNlRGlhbG9nX3dyYXBwZXIge1xyXG4gICAgLm14X0RpYWxvZyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHBhZGRpbmc6IDI0cHggMzJweDtcclxuXHJcbiAgICAgICAgLm14X0xlYXZlU3BhY2VEaWFsb2cge1xyXG4gICAgICAgICAgICB3aWR0aDogNDQwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUyMHB4O1xyXG5cclxuICAgICAgICAgICAgLm14X0RpYWxvZ19jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0xlYXZlU3BhY2VEaWFsb2dfc2VjdGlvbl93YXJuaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLXBhbmVsLWJnLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Mb2NhdGlvblZpZXdEaWFsb2dfd3JhcHBlciAubXhfRGlhbG9nIHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxufVxyXG5cclxuLm14X0xvY2F0aW9uVmlld0RpYWxvZyB7XHJcbiAgICAvKiBzdWJ0cmFjdCAwLjVweCB0byBwcmV2ZW50IHNpbmdsZS1waXhlbCBtYXJnaW4gZHVlIHRvIHJvdW5kaW5nICovXHJcbiAgICB3aWR0aDogY2FsYyg4MHZ3IC0gMC41cHgpO1xyXG4gICAgaGVpZ2h0OiBjYWxjKDgwdmggLSAwLjVweCk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIC5teF9EaWFsb2dfaGVhZGVyIHtcclxuICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xyXG5cclxuICAgICAgICAubXhfRGlhbG9nX3RpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ19jYW5jZWxCdXR0b24ge1xyXG4gICAgICAgIHotaW5kZXg6IDQwMTA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgdG9wOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTG9jYXRpb25WaWV3RGlhbG9nX21hcCB7XHJcbiAgICB3aWR0aDogODB2dztcclxuICAgIGhlaWdodDogODB2aDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjMgTWFuYW4gU2FkYW5hIDxtYW5hbmNvZGVzLmRldkBnbWFpbC5jb20+XHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Mb2dvdXREaWFsb2cge1xyXG4gICAgd2lkdGg6IDI2cmVtO1xyXG5cclxuICAgIC5teF9FbmNyeXB0aW9uQ2FyZCB7XHJcbiAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5teF9FbmNyeXB0aW9uQ2FyZF9lbXBoYXNpc2VkQ29udGVudCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTEyeCk7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0LDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfd3JhcHBlciB7XHJcbiAgICAubXhfRGlhbG9nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2cge1xyXG4gICAgd2lkdGg6IDQ4MHB4O1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuICAgIGhlaWdodDogNjB2aDtcclxuXHJcbiAgICAubXhfU2VhcmNoQm94IHtcclxuICAgICAgICAvKiBUbyBtYXRjaCB0aGUgc3BhY2UgYXJvdW5kIHRoZSB0aXRsZSAqL1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19jb250ZW50IHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19ub1Jlc3VsdHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19zZWN0aW9uIHtcclxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gaDMge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19lbnRyeSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcblxyXG4gICAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfZW50cnlfbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgOHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX2VudHJ5X2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9NYW5hZ2VSZXN0cmljdGVkSm9pblJ1bGVEaWFsb2dfc2VjdGlvbl9zcGFjZXMge1xyXG4gICAgICAgIC5teF9CYXNlQXZhdGFyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX3NlY3Rpb25faW5mbyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBtYXJnaW46IDEycHggMDtcclxuICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcclxuXHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTWFuYWdlUmVzdHJpY3RlZEpvaW5SdWxlRGlhbG9nX2Zvb3RlciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICAgICAgLm14X01hbmFnZVJlc3RyaWN0ZWRKb2luUnVsZURpYWxvZ19mb290ZXJfYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgJiArIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1heC1oZWlnaHQ6IDYwdmg7XHJcbn1cclxuXHJcbi5teF9NZXNzYWdlRWRpdEhpc3RvcnlEaWFsb2dfc2Nyb2xsUGFuZWwge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbn1cclxuXHJcbi5teF9NZXNzYWdlRWRpdEhpc3RvcnlEaWFsb2dfZXJyb3Ige1xyXG4gICAgY29sb3I6ICRhbGVydDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm14X01lc3NhZ2VFZGl0SGlzdG9yeURpYWxvZ19lZGl0cyB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG5cclxuICAgIC5teF9FZGl0SGlzdG9yeU1lc3NhZ2VfZW1vdGVTZW5kZXIge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuLm14X0VkaXRIaXN0b3J5TWVzc2FnZV9kZWxldGlvbixcclxuICAgIHNwYW4ubXhfRWRpdEhpc3RvcnlNZXNzYWdlX2luc2VydGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4IDJweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRWRpdEhpc3RvcnlNZXNzYWdlX2RlbGV0aW9uIHtcclxuICAgICAgICBjb2xvcjogcmdiKDI1NSwgNzYsIDg1KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCA3NiwgODUsIDAuMSk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0VkaXRIaXN0b3J5TWVzc2FnZV9pbnNlcnRpb24ge1xyXG4gICAgICAgIGNvbG9yOiByZ2IoMjYsIDE2OSwgMTIzKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjYsIDE2OSwgMTIzLCAwLjEpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEVtdWxhdGUgbXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gKi9cclxuICAgIC5teF9FdmVudFRpbGUge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG5cclxuICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctYmxvY2stc3RhcnQpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1ibG9jay1lbmQpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctaW5saW5lLXN0YXJ0KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLWxpbmUtaGVpZ2h0KTtcclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAtMTBweDtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xMHB4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZXZlbnRidWJibGUtYmctaG92ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0hpc3RvcnlBY3Rpb25CYXIge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSGlzdG9yeUFjdGlvbkJhciBbZGF0YS1wcmVzZW50YXRpb249XCJsYWJlbFwiXSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01vZGFsV2lkZ2V0RGlhbG9nIHtcclxuICAgIC5teF9Nb2RhbFdpZGdldERpYWxvZ193YXJuaW5nIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG5cclxuICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTW9kYWxXaWRnZXREaWFsb2dfYnV0dG9ucyB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uICsgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZnJhbWUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogNDUwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1BvbGxDcmVhdGVEaWFsb2cge1xyXG4gICAgLm14X1BvbGxDcmVhdGVEaWFsb2dfYnVzeSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGluc2V0OiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvdmVybGF5LWJhY2tncm91bmQ7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cclxuICAgICAgICAmOm50aC1jaGlsZChuICsgMikge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Qb2xsQ3JlYXRlRGlhbG9nX29wdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDExcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgLyogMTFweCBmcm9tIHRoZSB0b3Agd2lsbCBjb2xsYXBzZSwgc28gdGhpcyBjcmVhdGVzIGEgMTZweCBnYXAgYmV0d2VlbiBvcHRpb25zICovXHJcblxyXG4gICAgICAgIC5teF9GaWVsZCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Qb2xsQ3JlYXRlRGlhbG9nX3JlbW92ZU9wdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMC01eCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUG9sbENyZWF0ZURpYWxvZ19hZGRPcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgLyogYXJiaXRyYXJ5IHRvIGNyZWF0ZSBzY3JvbGxhYmxlIGFyZWEgdW5kZXIgdGhlIHBvbGwgKi9cclxuICAgIH1cclxuXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XHJcbiAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUmVnaXN0cmF0aW9uRW1haWxQcm9tcHREaWFsb2cge1xyXG4gICAgd2lkdGg6IDQxN3B4O1xyXG5cclxuICAgIC5teF9EaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ19wcmltYXJ5IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNiBFbGVtZW50IENyZWF0aW9ucyBMdGQuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi5teF9SZW1vdmVTZWN0aW9uRGlhbG9nIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1JlcG9ydFJvb21EaWFsb2csXHJcbi5teF9EZWNsaW5lQW5kQmxvY2tJbnZpdGVEaWFsb2cge1xyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICB9XHJcblxyXG4gICAgLypcclxuICAgICAgV29ya2Fyb3VuZCB0byBmaXggbGFiZWxzIGFwcGVhcmluZyB3aXRoIHRoZSB3cm9uZyBjb2xvci5cclxuXHJcbiAgICAgIC5teF9EaWFsb2cgKGluIHJlcy9jc3MvX2NvbW1vbi5wY3NzKSByZWRlZmluZXMgdGhlIGJvZHkgY29sb3JcclxuICAgICAgYXMgJGxpZ2h0LWZnLWNvbG9yIHJhdGhlciB0aGFuIHRoZSBzdGFuZGFyZCBwcmltYXJ5IGNvbG9yLlxyXG5cclxuICAgICAgVGhpcyBmb3JjZXMgdGhlIGNvbG91ciB0byBtYXRjaCB0aGUgQ29tcG91bmQgc3R5bGUsIGJ1dFxyXG4gICAgICBpbiB0aGUgZnV0dXJlIHRoZSBEaWFsb2dzIHNob3VsZCBub3QgZm9yY2UgYSBjb2xvci5cclxuICAgICovXHJcbiAgICBmb3JtIGxhYmVsIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9EZWNsaW5lQW5kQmxvY2tJbnZpdGVEaWFsb2cge1xyXG4gICAgZGl2W2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdID4gbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXR0aW5nc0ZsYWdfbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9vbVNldHRpbmdzRGlhbG9nIC5teF9EaWFsb2dfdGl0bGUge1xyXG4gICAgLW1zLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZy1yaWdodDogODBweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19CcmlkZ2VMaXN0IHtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHJcbiAgICAgICAgJi5teF9Sb29tU2V0dGluZ3NEaWFsb2dfQnJpZGdlTGlzdF9saXN0SXRlbSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTg7XHJcblxyXG4gICAgICAgICAgICAvKiBib3JkZXItc3R5bGUgYXJvdW5kIGVhY2ggYnJpZGdlIGxpc3QgaXRlbSAqL1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2ljb24ge1xyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19wcm90b2NvbEljb24sXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX3Byb3RvY29sSWNvbiBzcGFuLFxyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19ub1Byb3RvY29sSWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWRhcmtlci1iZy1jb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX25vUHJvdG9jb2xJY29uLFxyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19wcm90b2NvbEljb24gaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19ub1Byb3RvY29sSWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbnB1dC1kYXJrZXItYmctY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19wcm90b2NvbEljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBDb3JyZWN0IGxldHRlciBwbGFjZW1lbnQgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDg1JTtcclxuXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhX2RldGFpbHMsXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhX21ldGFkYXRhLFxyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YV9tZXRhZGF0YSBsaSxcclxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfcHJvdG9jb2xOYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfZGV0YWlscyxcclxuICAgICAgICAgICAgICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2dfY29sdW1uX2RhdGFfbWV0YWRhdGEge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jb2x1bW5fZGF0YV9tZXRhZGF0YSBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX2NvbHVtbl9kYXRhX3Byb3RvY29sTmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ193b3Jrc3BhY2VfY2hhbm5lbF9kZXRhaWxzIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X1Jvb21TZXR0aW5nc0RpYWxvZ19jaGFubmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfUm9vbVNldHRpbmdzRGlhbG9nX21ldGFkYXRhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21VcGdyYWRlRGlhbG9nIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5LTIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0RpYWxvZyB7XHJcbiAgICBtYXgtd2lkdGg6IDM4dnc7XHJcbiAgICB3aWR0aDogMzh2dztcclxuXHJcbiAgICAubXhfUm9vbVVwZ3JhZGVXYXJuaW5nRGlhbG9nX3Byb2dyZXNzIHtcclxuICAgICAgICAubXhfUHJvZ3Jlc3NCYXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBAbWl4aW4gUHJvZ3Jlc3NCYXJCb3JkZXJSYWRpdXMgOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21VcGdyYWRlV2FybmluZ0RpYWxvZ19wcm9ncmVzc1RleHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0RpYWxvZyAubXhfU2V0dGluZ3NGbGFnIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgLm14X1RvZ2dsZVN3aXRjaCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzRmxhZ19sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nIHtcclxuICAgIC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDg1cHg7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIGhyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHg7XHJcblxyXG4gICAgICAgICAgICBsaTpudGgtY2hpbGQobiArIDIpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnRfY29udGV4dCB7XHJcbiAgICAgICAgICAgIC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnRfY29udGV4dF90aW1lc3RhbXAge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyAvKiBzYW1lIGFzIGF2YXRhciAqL1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0X3RpbWVsaW5lIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNTVweCk7IC8qIDExNXB4IHRpbWVzdGFtcCB3aWR0aCArIDQwcHggcmlnaHQgbWFyZ2luICovXHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1NlcnZlck9mZmxpbmVEaWFsb2dfY29udGVudF9jb250ZXh0X3RpbWVsaW5lX2hlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnRfY29udGV4dF90eG4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9TZXJ2ZXJPZmZsaW5lRGlhbG9nX2NvbnRlbnRfY29udGV4dF90eG5fZGVzYyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7IC8qIDEwMHB4IGlzIGFuIGFyYml0cmFyeSBtYXJnaW4gZm9yIHRoZSBidXR0b24gKi9cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NlcnZlclBpY2tlckRpYWxvZyB7XHJcbiAgICB3aWR0aDogNDY4cHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgIC5teF9EaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbjogMTZweCAwO1xyXG5cclxuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyNHB4IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDE2cHggMCAxNnB4IDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU2VydmVyUGlja2VyRGlhbG9nX290aGVySG9tZXNlcnZlclJhZGlvIHtcclxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBkaXYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU2VydmVyUGlja2VyRGlhbG9nX290aGVySG9tZXNlcnZlciB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XHJcblxyXG4gICAgICAgID4gaW5wdXQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI2cHgpO1xyXG4gICAgICAgIG1hcmdpbjogMCA4cHg7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAxOHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNyBWZWN0b3IgQ3JlYXRpb25zIEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2V0RW1haWxEaWFsb2dfZW1haWxfaW5wdXQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcclxuICAgIHBhZGRpbmc6IDlweDtcclxuICAgIGNvbG9yOiAkaW5wdXQtZmctY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAyODBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5teF9TZXRFbWFpbERpYWxvZ19lbWFpbF9pbnB1dDpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLyogTm90IGFjdHVhbGx5IGEgY29tcG9uZW50IGJ1dCB0aGluZ3Mgc2hhcmVkIGJ5IHNldHRpbmdzIGNvbXBvbmVudHMgKi9cclxuLm14X1VzZXJTZXR0aW5nc0RpYWxvZyxcclxuLm14X1Jvb21TZXR0aW5nc0RpYWxvZyxcclxuLm14X1NwYWNlU2V0dGluZ3NEaWFsb2csXHJcbi5teF9TcGFjZVByZWZlcmVuY2VzRGlhbG9nIHtcclxuICAgIHdpZHRoOiA5MHZ3O1xyXG4gICAgbWF4LXdpZHRoOiA5ODBweDtcclxuICAgIC8qIHNldCB0aGUgaGVpZ2h0IHRvbyBzaW5jZSB0YWJiZWQgdmlldyBzY3JvbGxzIGl0c2VsZi4gKi9cclxuICAgIGhlaWdodDogODB2aDtcclxuXHJcbiAgICAubXhfVGFiYmVkVmlldyB7XHJcbiAgICAgICAgdG9wOiA5MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9UYWJiZWRWaWV3IC5teF9TZXR0aW5nc1RhYiB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBtaW4td2lkdGg6IDU4MHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgLyogUHV0IHNvbWUgcGFkZGluZyBvbiB0aGUgYm90dG9tIHRvIGF2b2lkIHRoZSBzZXR0aW5ncyB0YWIgZnJvbSAqL1xyXG4gICAgICAgIC8qIGNvbGxpZGluZyBoYXJzaGx5IHdpdGggdGhlIGRpYWxvZyB3aGVuIHNjcm9sbGVkIGRvd24uICovXHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXR0aW5nc0RpYWxvZ190YWJMYWJlbHNBbGVydDo6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBjaXJjbGUoNHB4KTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIE9uIG5hcnJvdyB2aWV3cG9ydHMsIHRoZSB0YWIgbGFiZWxzIGFyZSBoaWRkZW4sIHNvIHdlIG5lZWQgdG8gc2hpZnQgdGhlIGluZGljYXRvciBzbyBpdCBpc24ndCBvdmVyIHRoZSB0YWIgaWNvbi4gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgLm14X1VzZXJTZXR0aW5nc0RpYWxvZyxcclxuICAgIC5teF9Sb29tU2V0dGluZ3NEaWFsb2csXHJcbiAgICAubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyxcclxuICAgIC5teF9TcGFjZVByZWZlcmVuY2VzRGlhbG9nIHtcclxuICAgICAgICAubXhfU2V0dGluZ3NEaWFsb2dfdGFiTGFiZWxzQWxlcnQ6OmFmdGVyIHtcclxuICAgICAgICAgICAgcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgICAgIHRvcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NoYXJlRGlhbG9nIHtcclxuICAgIC8qIFZhbHVlIGZyb20gZmlnbWEgZGVzaWduICovXHJcbiAgICB3aWR0aDogNDE2cHg7XHJcblxyXG4gICAgLm14X0RpYWxvZ19oZWFkZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgICAgIC8qIE92ZXJyaWRlIGRpYWxvZyBoZWFkZXIgcGFkZGluZyB0byBhYmxlIHRvIGNlbnRlciBpdCAqL1xyXG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2hhcmVEaWFsb2dfY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAubXhfU2hhcmVEaWFsb2dfdG9wIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU2hhcmVEaWFsb2dfc29jaWFsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA5OXB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TbGFzaENvbW1hbmRIZWxwRGlhbG9nIC5teF9TbGFzaENvbW1hbmRIZWxwRGlhbG9nX2hlYWRlclJvdyBoMiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbn1cclxuXHJcbi5teF9TbGFzaENvbW1hbmRIZWxwRGlhbG9nIC5teF9EaWFsb2dfY29udGVudCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzRweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NwYWNlUHJlZmVyZW5jZXNEaWFsb2cge1xyXG4gICAgd2lkdGg6IDcwMHB4O1xyXG4gICAgaGVpZ2h0OiA0MDBweDtcclxuXHJcbiAgICA+IGg0IHtcclxuICAgICAgICBtYXJnaW46IC0xMnB4IDAgMDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9UYWJiZWRWaWV3IHtcclxuICAgICAgICB0b3A6IDgwcHg7XHJcblxyXG4gICAgICAgIC5teF9TZXR0aW5nc1RhYiB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU3BhY2VTZXR0aW5nc0RpYWxvZyB7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuXHJcbiAgICAubXhfU3BhY2VTZXR0aW5nc19lcnJvclRleHQge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RvZ2dsZVN3aXRjaCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzVGFiX3NlY3Rpb24ge1xyXG4gICAgICAgIC5teF9TZXR0aW5nc1RhYl9zZWN0aW9uX2NhcHRpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcblxyXG4gICAgICAgICAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYgKyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZVNldHRpbmdzRGlhbG9nX2J1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNjRweDtcclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmsge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZCB7XHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDdweCAxOHB4O1xyXG5cclxuICAgICAgICAgICAgJi5teF9TZXR0aW5nc1RhYl9zaG93QWR2YW5jZWQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxOHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TcG90bGlnaHREaWFsb2dfd3JhcHBlciB7XHJcbiAgICAubXhfRGlhbG9nX2JvcmRlciB7XHJcbiAgICAgICAgLyogRGlzYWJsZSB0aGUgZ2xhc3MgYm9yZGVyIGFzIHRoaXMgZGlhbG9nIHdhc24ndCBkZXNpZ25lZCB3aXRoIGl0IGluIG1pbmQgKi9cclxuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nIHtcclxuICAgICAgICAvKiAhaW1wb3J0YW50IGJlY2F1c2UgaXQncyBvdmVycmlkaW5nIGNvbXBvdW5kICAqL1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogNjAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogaW5pdGlhbDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBjb250YWluOiB1bnNldDsgLyogbmVlZGVkIGZvciAjbXhfU3BvdGxpZ2h0RGlhbG9nX2tleWJvYXJkUHJvbXB0IHRvIG5vdCBiZSBjdWxsZWQgKi9cclxuXHJcbiAgICAgICAgI214X1Nwb3RsaWdodERpYWxvZ19rZXlib2FyZFByb21wdCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgdG9wOiAtNjBweDsgLyogcmVsYXRpdmUgdG8gdGhlIHRvcCBvZiB0aGUgbW9kYWwgKi9cclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgICBrYmQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgLyogVG8gYXZvaWQgYW55IHN0eWxpbmcgaW5oZXJlbnQgd2l0aCA8a2JkPiBlbGVtZW50cyAqL1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1Nwb3RsaWdodERpYWxvZyB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAubXhfRGlhbG9nX2hlYWRlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3NlYXJjaEJveCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcclxuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy0xMiAkc3BhY2luZy0xNjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHN5c3RlbTtcclxuXHJcbiAgICAgICAgPiAubXhfU3BvdGxpZ2h0RGlhbG9nX2ZpbHRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQgJHNwYWNpbmctOCAkc3BhY2luZy00IDM3cHg7XHJcblxyXG4gICAgICAgICAgICA+IHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfZmlsdGVyLS1jbG9zZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzeXN0ZW07XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGlucHV0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5teF9TcGlubmVyIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy0xNjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KDpmb2N1cy13aXRoaW4pICsgI214X1Nwb3RsaWdodERpYWxvZ19jb250ZW50IHtcclxuICAgICAgICAgICAgLyogSW5oaWJpdCB0aGUgc3R5bGluZyBpZiBmb2N1cyBpcyBub3Qgd2l0aGluIHRoZSBpbnB1dCB3aGljaCBoYW5kbGVzIGtleWJvYXJkIGFjY2Vzc2liaWxpdHkgKi9cclxuICAgICAgICAgICAgLS1teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uX3NlbGVjdGVkQmdDb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICAgICAvKiBIaWRlIHRoZSBlbnRlciBwcm9tcHQgYXMgaW4gdGhpcyBzdGF0ZSBwcmVzc2luZyBlbnRlciB3b3VsZCBub3QgYWN0dWF0ZSB0aGF0IG9wdGlvbiAqL1xyXG4gICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX2VudGVyUHJvbXB0IHtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjbXhfU3BvdGxpZ2h0RGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTE2O1xyXG5cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfc2VjdGlvbiB7XHJcbiAgICAgICAgICAgID4gaDQsXHJcbiAgICAgICAgICAgID4gLm14X1Nwb3RsaWdodERpYWxvZ19zZWN0aW9uSGVhZGVyID4gaDQge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gaDQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19zZWN0aW9uSGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcclxuXHJcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAkc3BhY2luZy00O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmICsgLm14X1Nwb3RsaWdodERpYWxvZ19zZWN0aW9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW14X1Nwb3RsaWdodERpYWxvZ19vcHRpb25fc2VsZWN0ZWRCZ0NvbG9yLCAkcXVpbmFyeS1jb250ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRseVZpZXdlZCB7XHJcbiAgICAgICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IC8qIG9jY2x1ZGUgdGhlIDFweCB2aXNpYmxlIG9mIHRoZSB2ZXJ5IG5leHQgdGlsZSB0byBwcmV2ZW50IGl0IGxvb2tpbmcgYnJva2VuICovXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDU4cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU4cHg7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDU4cHg7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgOXB4ICRzcGFjaW5nLTQ7IC8qIG1haW50YWluIGNlbnRlcmluZyAqL1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYgKyAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTE2O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdHMsXHJcbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19yZWNlbnRTZWFyY2hlcyxcclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX290aGVyU2VhcmNoZXMsXHJcbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19oaWRkZW5SZXN1bHRzIHtcclxuICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgLS1teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uX3NlbGVjdGVkQmdDb2xvcjogJHN5c3RlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLWVuZEFkb3JubWVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfbXVsdGlsaW5lIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy00ICRzcGFjaW5nLTIwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDJweCAkc3BhY2luZy00O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19lbnRlclByb21wdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDlweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IC5teF9TcG90bGlnaHREaWFsb2dfbWV0YXNwYWNlUmVzdWx0LFxyXG4gICAgICAgICAgICAgICAgPiAubXhfRGVjb3JhdGVkUm9vbUF2YXRhcixcclxuICAgICAgICAgICAgICAgID4gLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9CYXNlQXZhdGFyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfcHVibGljUm9vbURldGFpbHMge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tSGVhZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21OYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVzdWx0X3B1YmxpY1Jvb21BbGlhcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX3Jlc3VsdF9wdWJsaWNSb29tRGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19vcHRpb24tLW1lbnUsXHJcbiAgICAgICAgICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX29wdGlvbi0tbm90aWZpY2F0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHN2ZyxcclxuICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLXZpc2libGUgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1tZW51LFxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uLS1ub3RpZmljYXRpb25zIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0gLm14X1Nwb3RsaWdodERpYWxvZ19lbnRlclByb21wdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX2ludml0ZUxpbmssXHJcbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19jcmVhdGVSb29tIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcclxuXHJcbiAgICAgICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCAkc3BhY2luZy04IDNweCAkc3BhY2luZy0yODtcclxuXHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlcyB7XHJcbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3B0aW9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctMzI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfb3RoZXJTZWFyY2hlc19tZXNzYWdlU2VhcmNoVGV4dCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Nwb3RsaWdodERpYWxvZ19yZXN1bHRfZGV0YWlscyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfcmVjZW50U2VhcmNoZXMgPiBoNCA+IC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcG90bGlnaHREaWFsb2dfZW50ZXJQcm9tcHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAycHggJHNwYWNpbmctNDtcclxuICAgICAgICAgICAgLyogVG8gYXZvaWQgYW55IHN0eWxpbmcgaW5oZXJlbnQgd2l0aCA8a2JkPiBlbGVtZW50cyAqL1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3BvdGxpZ2h0RGlhbG9nX21ldGFzcGFjZVJlc3VsdCBzdmcge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLypcclxuICogVG8gYXZvaWQgdmlzdWFsIGdsaXRjaGluZyBvZiB0d28gbW9kYWxzIHN0YWNraW5nIGJyaWVmbHksIHdlIGN1c3RvbWlzZSB0aGVcclxuICogdGVybXMgZGlhbG9nIHNpemluZyB3aGVuIGl0IHdpbGwgYXBwZWFyIGZvciB0aGUgaW50ZWdyYXRpb24gbWFuYWdlciBzbyB0aGF0XHJcbiAqIGl0IGdldHMgdGhlIHNhbWUgYmFzaWMgc2l6ZSBhcyB0aGUgSU0ncyBvd24gbW9kYWwuXHJcbiAqL1xyXG4ubXhfVGVybXNEaWFsb2dfZm9ySW50ZWdyYXRpb25NYW5hZ2VyIC5teF9EaWFsb2dfYm9yZGVyIHtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBoZWlnaHQ6IDcwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi5teF9UZXJtc0RpYWxvZ190ZXJtc1RhYmxlSGVhZGVyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLm14X1Rlcm1zRGlhbG9nX3Rlcm1zVGFibGUge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9UZXJtc0RpYWxvZ19zZXJ2aWNlLFxyXG4ubXhfVGVybXNEaWFsb2dfc3VtbWFyeSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG4gKiBDb3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfVW5waW5BbGxEaWFsb2cge1xyXG4gICAgLyogMzk2IGlzIGNvbWluZyBmcm9tIGZpZ21hIGFuZCB3ZSByZW1vdmUgdGhlIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmdzIG9mIHRoZSBkaWFsb2cgKi9cclxuICAgIHdpZHRoOiBjYWxjKDM5NnB4IC0gKHZhcigtLWNwZC1zcGFjZS0xMHgpICogMikpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcblxyXG4gICAgLm14X1VucGluQWxsRGlhbG9nX3RpdGxlIHtcclxuICAgICAgICAvKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBoZWFkaW5nIHN0eWxlICovXHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1zbS1zZW1pYm9sZCkgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9VbnBpbkFsbERpYWxvZ19idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTh4KSB2YXIoLS1jcGQtc3BhY2UtMngpIDAgdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuXHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVW50cnVzdGVkRGV2aWNlRGlhbG9nIHtcclxuICAgIC5teF9EaWFsb2dfdGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgLm14X0UyRUljb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RpYWxvZ19idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1VwbG9hZENvbmZpcm1EaWFsb2dfZmlsZUljb24ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5teF9VcGxvYWRDb25maXJtRGlhbG9nX3ByZXZpZXdPdXRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9VcGxvYWRDb25maXJtRGlhbG9nX3ByZXZpZXdJbm5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4ubXhfVXBsb2FkQ29uZmlybURpYWxvZ19pbWFnZVByZXZpZXcge1xyXG4gICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZGlhbG9nLWNsb3NlLWZnLWNvbG9yO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXR0aW5nc0RpYWxvZ190b2FzdENvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IHZhcigtLWNwZC1zcGFjZS0xMHgpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9Vc2VyU2V0dGluZ3NEaWFsb2dfdGl0bGUge1xyXG4gICAgLyogT3ZlcnJpZGUgZGVmYXVsdCBkaWFsb2cgZm9udCBzdHlsZSAqL1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1tZC1yZWd1bGFyKSAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5teF9Vc2VyU2V0dGluZ3NEaWFsb2dfdGl0bGVfc3Ryb25nIHtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkKTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1ZlcmlmeUVNYWlsRGlhbG9nIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHRvcDogMzAwcHg7XHJcblxyXG4gICAgLm14X0RpYWxvZyB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy0yNCAkc3BhY2luZy0yNCAkc3BhY2luZy0xNjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgLyogIWltcG9ydGFudCBvdmVycmlkZSBjb21wb3VuZCAgKi9cclxuICAgICAgICB3aWR0aDogNDg1cHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTI0cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1ZlcmlmeUVNYWlsRGlhbG9nX3RleHQtbGlnaHQge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9BdXRoQm9keV9kaWQtbm90LXJlY2VpdmUge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9EaWFsb2dfY2FuY2VsQnV0dG9uIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0LDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9XaWRnZXRDYXBhYmlsaXRpZXNQcm9tcHREaWFsb2cge1xyXG4gICAgLnRleHQtbXV0ZWQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nX2NvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1dpZGdldENhcGFiaWxpdGllc1Byb21wdERpYWxvZ19jYXAge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaWFsb2dfYnV0dG9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgLyogZG91YmxlIG5vcm1hbCAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXR0aW5nc0ZsYWcge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKCRmb250LTE0cHggKyA3cHggKyA3cHgpOyAvKiA3cHggdG9wICYgYm90dG9tIHBhZGRpbmcgKi9cclxuICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuXHJcbiAgICAgICAgLm14X1RvZ2dsZVN3aXRjaCB7XHJcbiAgICAgICAgICAgIC8qIGRvd25zaXplIHRoZSBzd2l0Y2ggKyBiYWxsICovXHJcbiAgICAgICAgICAgIHdpZHRoOiAkZm9udC0zMnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb250LTE1cHg7XHJcblxyXG4gICAgICAgICAgICAmLm14X1RvZ2dsZVN3aXRjaF9vbiA+IC5teF9Ub2dnbGVTd2l0Y2hfYmFsbCB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAkZm9udC0xNXB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1RvZ2dsZVN3aXRjaF9iYWxsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4gQ29weXJpZ2h0IDIwMjYgRWxlbWVudCBDcmVhdGlvbnMgTHRkLlxyXG5cclxuIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Vbmtub3duSWRlbnRpdHlVc2Vyc1dhcm5pbmdEaWFsb2cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBoZWlnaHQ6IDYwMHB4OyAvKiBDb25zaXN0ZW5jeSB3aXRoIEludml0ZURpYWxvZyAqL1xyXG59XHJcblxyXG4ubXhfVW5rbm93bklkZW50aXR5VXNlcnNXYXJuaW5nRGlhbG9nX2hlYWRlckNvbnRhaW5lciB7XHJcbiAgICAvKiBDZW50cmUgdGhlIFBhZ2VIZWFkZXIgY29tcG9uZW50IGhvcml6b250YWxseSAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIC8qIFN0eWxpbmcgZm9yIHRoZSByZWd1bGFyIHRleHQgaW5zaWRlIHRoZSBoZWFkZXIgKi9cclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbGctcmVndWxhcik7XHJcblxyXG4gICAgLyogU3BhY2UgYmVmb3JlIHRoZSBsaXN0ICovXHJcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxufVxyXG5cclxuLm14X1Vua25vd25JZGVudGl0eVVzZXJzV2FybmluZ0RpYWxvZ191c2VyTGlzdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG5cclxuICAgIC8qIEZpbGwgYXZhaWxhYmxlIHZlcnRpY2FsIHNwYWNlLCBidXQgZG9uJ3QgYWxsb3cgaXQgdG8gc2hyaW5rIHRvIGxlc3MgdGhhbiA2MHB4IChhYm91dCB0aGUgaGVpZ2h0IG9mIGEgc2luZ2xlIHRpbGUpICovXHJcbiAgICBmbGV4OiAxIDAgNjBweDtcclxuXHJcbiAgICAvKiBSZW1vdmUgYnJvd3NlciBkZWZhdWx0IHVsIHBhZGRpbmcvbWFyZ2luICovXHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4ubXhfVW5rbm93bklkZW50aXR5VXNlcnNXYXJuaW5nRGlhbG9nX2J1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuXHJcbiAgICA+IGJ1dHRvbiB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTgsIDIwMTkgLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nIHtcclxuICAgICYubXhfRW5jcnlwdGlvbkNhcmQge1xyXG4gICAgICAgIC8qIG92ZXJyaWRlIHNvbWUgc3R5bGVzIHRoYXQgd2UgZG9uJ3QgbmVlZCAqL1xyXG4gICAgICAgIGJvcmRlcjogMHB4IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciB7XHJcbiAgICAgICAgLm14X0FjY2Vzc1NlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlFbnRyeSB7XHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAqIEJlIHNwZWNpZmljIGhlcmUgdG8gYXZvaWQgXCJtYXJnaW46IDlweFwiIGZyb20gX2NvbW1vbi5wY3NzXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICA6bm90KC5teF90ZXh0aW5wdXQpOm5vdCgubXhfRmllbGQpOm5vdCgubXhfbm9fdGV4dGlucHV0KSB7XHJcbiAgICAgICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICAgKiBGcm9tIGZpZ21hOiBodHRwczovL3d3dy5maWdtYS5jb20vZGVzaWduL1pvZEJMdEduS21SVEdKbzVTR0xuSDMvRVItMTM3LS1FeGNsdWRpbmctSW5zZWN1cmUtRGV2aWNlcz9ub2RlLWlkPTEwMi00MzcyOSZ0PVFtZXdFTlVkN2Y2VG13OVUtMVxyXG4gICAgICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NDhweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5RmVlZGJhY2sge1xyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFzay1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5teF9BY2Nlc3NTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5RmVlZGJhY2stLWludmFsaWQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydDtcclxuXHJcbiAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0VuY3J5cHRpb25DYXJkX2J1dHRvbnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yMHgpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQ3JlYXRlQ3Jvc3NTaWduaW5nRGlhbG9nIHtcclxuICAgIC8qIFdoeSB5b3UgYXNrPyBCZWNhdXNlIENvbXBsZXRlU2VjdXJpdHlCb2R5IGlzIDYwMHB4IHNvIHRoaXMgaXMgdGhlIHdpZHRoICovXHJcbiAgICAvKiB3ZSBlbmQgdXAgd2hlbiBpbiB0aGVyZSwgYnV0IHdoZW4gaW4gb3VyIG93biBkaWFsb2cgd2Ugc2V0IG91ciBvd24gd2lkdGggKi9cclxuICAgIC8qIHNvIG5lZWQgdG8gZml4IGl0IHRvIHNvbWV0aGluZyBzZW5zaWJsZSBhcyBvdGhlcndpc2Ugd2UnZCBlbmQgdXAgZWl0aGVyICovXHJcbiAgICAvKiByZWFsbHkgd2lkZSBvciByZWFsbHkgbmFycm93IGRlcGVuZGluZyBvbiB0aGUgcGhhc2UuIEkgYmV0IHlvdSB3aXNoIHlvdSAqL1xyXG4gICAgLyogbmV2ZXIgYXNrZWQuICovXHJcbiAgICB3aWR0aDogNTYwcHg7XHJcblxyXG4gICAgZGV0YWlscyAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAxZW0gMDsgLyogZW11bGF0ZSBwYXJhZ3JhcGggc3BhY2luZyBiZWNhdXNlIHdlIGNhbid0IHB1dCB0aGlzIGJ1dHRvbiBpbiBhIHBhcmFncmFwaCBkdWUgdG8gSFRNTCBydWxlcyAqL1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQ3JlYXRlQ3Jvc3NTaWduaW5nRGlhbG9nIC5teF9EaWFsb2dfdGl0bGUge1xyXG4gICAgLyogVE9ETzogQ29uc2lkZXIgc2V0dGluZyB0aGlzIGZvciBhbGwgZGlhbG9nIHRpdGxlcy4gKi9cclxuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTksIDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTggTmV3IFZlY3RvciBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2cge1xyXG4gICAgLyogV2h5IHlvdSBhc2s/IEJlY2F1c2UgQ29tcGxldGVTZWN1cml0eUJvZHkgaXMgNjAwcHggc28gdGhpcyBpcyB0aGUgd2lkdGggKi9cclxuICAgIC8qIHdlIGVuZCB1cCB3aGVuIGluIHRoZXJlLCBidXQgd2hlbiBpbiBvdXIgb3duIGRpYWxvZyB3ZSBzZXQgb3VyIG93biB3aWR0aCAqL1xyXG4gICAgLyogc28gbmVlZCB0byBmaXggaXQgdG8gc29tZXRoaW5nIHNlbnNpYmxlIGFzIG90aGVyd2lzZSB3ZSdkIGVuZCB1cCBlaXRoZXIgKi9cclxuICAgIC8qIHJlYWxseSB3aWRlIG9yIHJlYWxseSBuYXJyb3cgZGVwZW5kaW5nIG9uIHRoZSBwaGFzZS4gSSBiZXQgeW91IHdpc2ggeW91ICovXHJcbiAgICAvKiBuZXZlciBhc2tlZC4gKi9cclxuICAgIHdpZHRoOiA1NjBweDtcclxuXHJcbiAgICAmLm14X1N1Y2Nlc3NEaWFsb2cge1xyXG4gICAgICAgIHBhZGRpbmc6IDU2cHg7IC8qIDgwcHggZnJvbSBkZXNpZ24gLSAyNHB4IHdyYXBwZXIgcGFkZGluZyAqL1xyXG5cclxuICAgICAgICAubXhfRGlhbG9nX3RpdGxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctMTY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXR0aW5nc0ZsYWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzRmxhZ19sYWJlbCB7XHJcbiAgICAgICAgZmxleDogMSAxIDA7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Ub2dnbGVTd2l0Y2gge1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGRldGFpbHMgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgIG1hcmdpbjogMWVtIDA7IC8qIGVtdWxhdGUgcGFyYWdyYXBoIHNwYWNpbmcgYmVjYXVzZSB3ZSBjYW4ndCBwdXQgdGhpcyBidXR0b24gaW4gYSBwYXJhZ3JhcGggZHVlIHRvIEhUTUwgcnVsZXMgKi9cclxuICAgIH1cclxufVxyXG5cclxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2cgLm14X0RpYWxvZ190aXRsZSB7XHJcbiAgICAvKiBUT0RPOiBDb25zaWRlciBzZXR0aW5nIHRoaXMgZm9yIGFsbCBkaWFsb2cgdGl0bGVzLiAqL1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19jZW50ZXJlZFRpdGxlLFxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19jZW50ZXJlZEJvZHkge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19wcmltYXJ5Q29udGFpbmVyIHtcclxuICAgIC8qIEZJWE1FOiBwbGludGggY29sb3VyIGluIG5ldyB0aGVtZShzKS4gYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDsgKi9cclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cclxuICAgICYubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleVByaW1hcnljb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3ByaW1hcnlDb250YWluZXI6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19wcmltYXJ5Q29udGFpbmVyIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgcGFkZGluZzogMTFweDtcclxufVxyXG5cclxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfb3B0aW9uVGl0bGUge1xyXG4gICAgY29sb3I6ICRkaWFsb2ctdGl0bGUtZmctY29sb3I7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMThweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19wYXNzUGhyYXNlQ29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxufVxyXG5cclxuLm14X0ZpZWxkLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcGFzc1BocmFzZUZpZWxkIHtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxufVxyXG5cclxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcGFzc1BocmFzZU1hdGNoIHtcclxuICAgIHdpZHRoOiAyMDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5teF9DcmVhdGVTZWNyZXRTdG9yYWdlRGlhbG9nX3JlY292ZXJ5S2V5IHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGNvbG9yOiAkaW5mby1wbGludGgtZmctY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5mby1wbGludGgtYmctY29sb3I7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICB3b3JkLXNwYWNpbmc6IDFlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgY29kZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAzMHJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfcmVjb3ZlcnlLZXlCdXR0b25zIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAxNnB4O1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUJ1dHRvbnNfY29weUJ0biB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ubXhfQ3JlYXRlU2VjcmV0U3RvcmFnZURpYWxvZ19yZWNvdmVyeUtleUJ1dHRvbnMgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfY29udGludWVTcGlubmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDMzcHg7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLm14X0NyZWF0ZVNlY3JldFN0b3JhZ2VEaWFsb2dfY29udGludWVTcGlubmVyIGltZyB7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfS2V5QmFja3VwRmFpbGVkRGlhbG9nIC5teF9EaWFsb2dfdGl0bGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcclxufVxyXG5cclxuLm14X0tleUJhY2t1cEZhaWxlZERpYWxvZ190aXRsZSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0tleUJhY2t1cEZhaWxlZERpYWxvZyAubXhfRGlhbG9nX2J1dHRvbnMge1xyXG4gICAgbWFyZ2luLXRvcDogMzZweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTggTmV3IFZlY3RvciBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jlc3RvcmVLZXlCYWNrdXBEaWFsb2dfa2V5U3RhdHVzIHtcclxuICAgIGhlaWdodDogMzBweDtcclxufVxyXG5cclxuLm14X1Jlc3RvcmVLZXlCYWNrdXBEaWFsb2dfcHJpbWFyeUNvbnRhaW5lciB7XHJcbiAgICAvKiBGSVhNRTogcGxpbnRoIGNvbG91ciBpbiBuZXcgdGhlbWUocykuIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7ICovXHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4ubXhfUmVzdG9yZUtleUJhY2t1cERpYWxvZ19wYXNzUGhyYXNlSW5wdXQsXHJcbi5teF9SZXN0b3JlS2V5QmFja3VwRGlhbG9nX3JlY292ZXJ5S2V5SW5wdXQge1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5teF9SZXN0b3JlS2V5QmFja3VwRGlhbG9nX2NvbnRlbnQgPiBkaXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtaW4taGVpZ2h0OiAxMTBweDsgLyogRW1waXJpY2FsbHkgbWVhc3VyZWQgKi9cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X05ldHdvcmtEcm9wZG93bl93cmFwcGVyIC5teF9Db250ZXh0dWFsTWVudSB7XHJcbiAgICAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24ge1xyXG4gICAgICAgICYubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWhlYWRlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy0xMjtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy00O1xyXG5cclxuICAgICAgICAgICAgPiAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWxhYmVsIHNwYW46Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24tLWxhYmVsIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBiYXNlbGluZTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgICBzcGFuOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy00O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9kaXZpZGVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy00O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTQ7XHJcblxyXG4gICAgICAgICYgKyAubXhfR2VuZXJpY0Ryb3Bkb3duTWVudV9PcHRpb24gLm14X0dlbmVyaWNEcm9wZG93bk1lbnVfT3B0aW9uLS1sYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9OZXR3b3JrRHJvcGRvd25fcmVtb3ZlU2VydmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgcGFkZGluZzogMXB4O1xyXG4gICAgYmFja2dyb3VuZDogJHF1aW5hcnktY29udGVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9OZXR3b3JrRHJvcGRvd25fZGlhbG9nIC5teF9EaWFsb2cge1xyXG4gICAgd2lkdGg6IDQ1dnc7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE3IFZlY3RvciBDcmVhdGlvbnMgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOndoZXJlKGJ1dHRvbikge1xyXG4gICAgICAgIC8qIENsZWFyIGRlZmF1bHQgYnV0dG9uIHN0eWxpbmcgKi9cclxuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcblxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb25fcHJpbWFyeSxcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9pY29uX3ByaW1hcnlfb3V0bGluZSxcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5LFxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfb3V0bGluZSxcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5X3NtLFxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmssXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19hY2NlbnQsXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUsXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX2lubGluZSxcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9jb250ZW50X2lubGluZSxcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX3NtIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25faGFzS2luZCB7XHJcbiAgICAgICAgcGFkZGluZzogN3B4IDE4cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7IC8qIG92ZXJyaWRlIGRlZmF1bHQgPGJ1dHRvbiAvPiBzdHlsZXMgKi9cclxuICAgICAgICB3b3JkLWJyZWFrOiBrZWVwLWFsbDsgLyogcHJldmVudCBidXR0b24gdGV4dCBpbiBDaGluZXNlL0phcGFuZXNlL0tvcmVhbiAoQ0pLKSBmcm9tIGJlaW5nIGNvbGxhcHNlZCAqL1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfc20sXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX3NtLFxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfc20ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfc20ge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX3NtIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfc20ge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb24sXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbl9wcmltYXJ5LFxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2ljb25fcHJpbWFyeV9vdXRsaW5lIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbl9wcmltYXJ5LFxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfaWNvbl9wcmltYXJ5X291dGxpbmUsXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5LFxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeV9vdXRsaW5lLFxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfc2Vjb25kYXJ5IHtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9pY29uX3ByaW1hcnksXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9pY29uX3ByaW1hcnlfb3V0bGluZSxcclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnlfb3V0bGluZSB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9zZWNvbmRhcnkge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXIge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xyXG5cclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX291dGxpbmUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXN1YnRsZSk7XHJcblxyXG4gICAgICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2Rhbmdlcl9zbSB7XHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayxcclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfaW5saW5lLFxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX2lubGluZSxcclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2NvbnRlbnRfaW5saW5lIHtcclxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rLFxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9kYW5nZXJfaW5saW5lIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfY29udGVudF9pbmxpbmUge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2xpbmtfaW5saW5lLFxyXG4gICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX2lubGluZSxcclxuICAgICYubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX2NvbnRlbnRfaW5saW5lIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuQ29weXJpZ2h0IDIwMTkgTmV3IFZlY3RvciBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0NvcHlhYmxlVGV4dCB7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgJi5teF9Db3B5YWJsZVRleHRfYm9yZGVyIHtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGxpZ2h0LWZnLWNvbG9yO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Db3B5YWJsZVRleHRfY29weUJ1dHRvbiB7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgLyogdXNpbmcgZW0gaGVyZSB0byBhZGFwdCB0byB0aGUgbG9jYWwgZm9udCBzaXplICovXHJcbiAgICAgICAgd2lkdGg6IDFlbTtcclxuICAgICAgICBoZWlnaHQ6IDFlbTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAvKiBJZiB0aGUgY29weSBidXR0b24gaXMgdXNlZCB3aXRoaW4gYSBzY3JvbGxhYmxlIGRpdiwgbWFrZSBpdCBzdGljayB0byB0aGUgcmlnaHQgd2hpbGUgc2Nyb2xsaW5nICovXHJcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICAvKiBjZW50ZXIgdG8gZmlyc3QgbGluZSAqL1xyXG4gICAgICAgIHRvcDogMC4xNWVtO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMWVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDFlbTtcclxuICAgICAgICAgICAgY29sb3I6ICRtZXNzYWdlLWFjdGlvbi1iYXItZmctY29sb3I7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfZGVza3RvcENhcHR1cmVyU291cmNlUGlja2VyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgLm14X2Rlc2t0b3BDYXB0dXJlclNvdXJjZVBpY2tlcl90YWIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IG92ZXJsYXk7XHJcblxyXG4gICAgICAgIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgICAgIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlX3RodW1ibmFpbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDRweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgJi5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlX3RodW1ibmFpbF9zZWxlY3RlZCxcclxuICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9kZXNrdG9wQ2FwdHVyZXJTb3VyY2VQaWNrZXJfc291cmNlX25hbWUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDRweDtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EaWFsUGFkQmFja3NwYWNlQnV0dG9uIHtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGNvbG9yOiAjOGQ5N2E1O1xyXG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE3IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Ecm9wZG93biB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxufVxyXG5cclxuLm14X0Ryb3Bkb3duX2Rpc2FibGVkIHtcclxuICAgIG9wYWNpdHk6IDAuMztcclxufVxyXG5cclxuLm14X0Ryb3Bkb3duX2lucHV0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25faW5wdXQubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25faW5wdXQ6Zm9jdXMge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWFsdDtcclxufVxyXG5cclxuLyogRGlzYWJsZSBkcm9wZG93biBoaWdobGlnaHQgb24gZm9jdXMgKi9cclxuLm14X0Ryb3Bkb3duX2lucHV0Lm14X0FjY2Vzc2libGVCdXR0b246Zm9jdXMge1xyXG4gICAgZmlsdGVyOiBub25lO1xyXG59XHJcblxyXG5zdmcubXhfRHJvcGRvd25fYXJyb3cge1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25fb3B0aW9uIHtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0zNXB4O1xyXG4gICAgLyogT3ZlcndyaXRlcyB0aGUgZGVmYXVsdCBwYWRkaW5nIGZvciBhbnkgbGkgZWxlbWVudHMgKi9cclxuICAgIHBhZGRpbmc6IDAgOHB4O1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25faW5wdXQgPiAubXhfRHJvcGRvd25fb3B0aW9uIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25fb3B0aW9uIGRpdiB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25fb3B0aW9uIGltZyxcclxuLm14X0Ryb3Bkb3duX29wdGlvbiAubXhfRHJvcGRvd25fb3B0aW9uX2Vtb2ppIHtcclxuICAgIG1hcmdpbjogNXB4O1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25fb3B0aW9uX2Vtb2ppIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNnB4O1xyXG59XHJcblxyXG5pbnB1dC5teF9Ecm9wZG93bl9vcHRpb24sXHJcbmlucHV0Lm14X0Ryb3Bkb3duX29wdGlvbjpmb2N1cyB7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIC8qIFhYWDogaGFjayB0byBwcmV2ZW50IHRleHQgYm94IGJlaW5nIHRvbyBiaWcgYW5kIHB1c2hpbmcgKi9cclxuICAgIC8qIGl0cyBwYXJlbnQgb3V0IC8gb3ZlcmxhcHBpbmcgdGhlIGRyb3Bkb3duIGFycm93LiBPbmx5IHJlYWxseSAqL1xyXG4gICAgLyogd29ya3MgaW4gdGhlIENvdW50cnkgZHJvcGRvd24uICovXHJcbiAgICB3aWR0aDogNjAlO1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25fbWVudSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAtMXB4O1xyXG4gICAgcmlnaHQ6IC0xcHg7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudC1hbHQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLm14X0Ryb3Bkb3duX21lbnUgLm14X0Ryb3Bkb3duX29wdGlvbiB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiAzNXB4O1xyXG59XHJcblxyXG51bC5teF9Ecm9wZG93bl9tZW51IGxpLm14X0Ryb3Bkb3duX29wdGlvbiB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4ubXhfRHJvcGRvd25fbWVudSAubXhfRHJvcGRvd25fb3B0aW9uX2hpZ2hsaWdodCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9jdXMtYmctY29sb3I7XHJcbn1cclxuXHJcbi5teF9Ecm9wZG93bl9zZWFyY2hQcm9tcHQge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTctMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0VkaXRhYmxlSXRlbUxpc3Qge1xyXG4gICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5teF9FZGl0YWJsZUl0ZW0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxuLm14X0VkaXRhYmxlSXRlbV9kZWxldGUge1xyXG4gICAgQG1peGluIGN1c3RvbWlzZWRDYW5jZWxCdXR0b247XHJcbiAgICBvcmRlcjogMztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB3aWR0aDogMjhweDtcclxuICAgIGhlaWdodDogMjhweDtcclxuICAgIG1hc2stc2l6ZTogMTAwJTtcclxufVxyXG5cclxuLm14X0VkaXRhYmxlSXRlbV9lbWFpbCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4ubXhfRWRpdGFibGVJdGVtX3Byb21wdFRleHQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgb3JkZXI6IDI7XHJcbn1cclxuXHJcbi5teF9FZGl0YWJsZUl0ZW1fY29uZmlybUJ0biB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLm14X0VkaXRhYmxlSXRlbV9pdGVtIHtcclxuICAgIGZsZXg6IGF1dG8gMSAwO1xyXG4gICAgb3JkZXI6IDE7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjhweCk7IC8qIGxlYXZlIHNwYWNlIGZvciB0aGUgcmVtb3ZlIGJ1dHRvbiAqL1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5teF9FZGl0YWJsZUl0ZW1MaXN0X2xhYmVsIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0Vycm9yQm91bmRhcnkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfRXJyb3JCb3VuZGFyeV9ib2R5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0V4dGVybmFsTGluayB7XHJcbiAgICBjb2xvcjogJGxpbmtzO1xyXG59XHJcblxyXG4ubXhfRXh0ZXJuYWxMaW5rX2ljb24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6ICRmb250LTExcHg7XHJcbiAgICBoZWlnaHQ6ICRmb250LTExcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMC4zcmVtO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ZhY2VQaWxlX21vcmUge1xyXG4gICAgLyogTmVlZGVkIHRvIGNhbGN1bGF0ZSB0aGUgb2Zmc2V0IG9uIHRoZSBmYWNlIHBpbGUgKi9cclxuICAgIC0tY3BkLWF2YXRhci1zaXplOiAyOHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWxzO1xyXG4gICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIC8qIEZvciBlbmhhbmNlZCB2aXNpYmlsaXR5IHVuZGVyIGNvbnRyYXN0IGNvbnRyb2wgKi9cclxuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLm14X0ZhY2VQaWxlX3N1bW1hcnkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLyogVE9ETzogQ29uc2lkZXIgdW5pZnlpbmcgd2l0aCBnZW5lcmFsIGlucHV0IHN0eWxlcyBpbiBfbGlnaHQucGNzcyAqL1xyXG5cclxuLm14X0ZpZWxkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAxZW0gMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI1cztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLm14X0ZpZWxkX3ByZWZpeCB7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5teF9GaWVsZF9wb3N0Zml4IHtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4ubXhfRmllbGQgaW5wdXQsXHJcbi5teF9GaWVsZCBzZWxlY3QsXHJcbi5teF9GaWVsZCB0ZXh0YXJlYSB7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgLyogRXZlbiB3aXRob3V0IGEgYm9yZGVyIGhlcmUsIHdlIHN0aWxsIG5lZWQgdGhpcyBhdm9pZCBvdmVybGFwcGluZyB0aGUgcm91bmRlZCAqL1xyXG4gICAgLyogY29ybmVycyBvbiB0aGUgZmllbGQgYWJvdmUuICovXHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBwYWRkaW5nOiA4cHggOXB4O1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbi5teF9GaWVsZCBzZWxlY3Qge1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5teF9GaWVsZF9zZWxlY3RfY2hldnJvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHJpZ2h0OiA0cHg7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ubXhfRmllbGQ6Zm9jdXMtd2l0aGluIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1hbHQ7XHJcbn1cclxuXHJcbi5teF9GaWVsZCBpbnB1dDpmb2N1cyxcclxuLm14X0ZpZWxkIHNlbGVjdDpmb2N1cyxcclxuLm14X0ZpZWxkIHRleHRhcmVhOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi5teF9GaWVsZCBpbnB1dDo6cGxhY2Vob2xkZXIsXHJcbi5teF9GaWVsZCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4yNXMgZWFzZS1pbiAwcztcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLm14X0ZpZWxkIGlucHV0OnBsYWNlaG9sZGVyLXNob3duOmZvY3VzOjpwbGFjZWhvbGRlcixcclxuLm14X0ZpZWxkIHRleHRhcmVhOnBsYWNlaG9sZGVyLXNob3duOmZvY3VzOjpwbGFjZWhvbGRlcixcclxuLm14X0ZpZWxkLm14X0ZpZWxkX3BsYWNlaG9sZGVySXNIaW50IGlucHV0OjpwbGFjZWhvbGRlciB7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLWluIDAuMXM7XHJcbiAgICBjb2xvcjogJGluZm8tcGxpbnRoLWZnLWNvbG9yO1xyXG59XHJcblxyXG4ubXhfRmllbGQgbGFiZWwge1xyXG4gICAgdHJhbnNpdGlvbjpcclxuICAgICAgICBmb250LXNpemUgMC4yNXMgZWFzZS1vdXQgMC4xcyxcclxuICAgICAgICBjb2xvciAwLjI1cyBlYXNlLW91dCAwLjFzLFxyXG4gICAgICAgIHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dCAwLjFzLFxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQgMC4xcztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgbWFyZ2luOiA3cHggOHB4O1xyXG4gICAgcGFkZGluZzogMnB4O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIEFsbG93IGNsaWNrcyB0byBmYWxsIHRocm91Z2ggdG8gdGhlIGlucHV0ICovXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTsgLyogMTAwJSBvZiBwYXJlbnQgbWludXMgbWFyZ2luIGFuZCBwYWRkaW5nICovXHJcbn1cclxuXHJcbi5teF9GaWVsZF9sYWJlbEFsd2F5c1RvcExlZnQgbGFiZWwsXHJcbi5teF9GaWVsZCBzZWxlY3QgKyBsYWJlbCAvKiBBbHdheXMgc2hvdyBhIHNlbGVjdCdzIGxhYmVsIG9uIHRvcCB0byBub3QgY29sbGlkZSB3aXRoIHRoZSB2YWx1ZSAqLyxcclxuLm14X0ZpZWxkIGlucHV0OmZvY3VzICsgbGFiZWwsXHJcbi5teF9GaWVsZCBpbnB1dDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSArIGxhYmVsLFxyXG4ubXhfRmllbGQgdGV4dGFyZWE6Zm9jdXMgKyBsYWJlbCxcclxuLm14X0ZpZWxkIHRleHRhcmVhOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pICsgbGFiZWwge1xyXG4gICAgdHJhbnNpdGlvbjpcclxuICAgICAgICBmb250LXNpemUgMC4yNXMgZWFzZS1vdXQgMHMsXHJcbiAgICAgICAgY29sb3IgMC4yNXMgZWFzZS1vdXQgMHMsXHJcbiAgICAgICAgdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0IDBzLFxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQgMHM7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEzcHgpO1xyXG4gICAgcGFkZGluZzogMCAycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xyXG59XHJcblxyXG4ubXhfRmllbGQgaW5wdXQ6Zm9jdXMgKyBsYWJlbCxcclxuLm14X0ZpZWxkIHNlbGVjdDpmb2N1cyArIGxhYmVsLFxyXG4ubXhfRmllbGQgdGV4dGFyZWE6Zm9jdXMgKyBsYWJlbCB7XHJcbiAgICBjb2xvcjogJGFjY2VudC1hbHQ7XHJcbn1cclxuXHJcbi5teF9GaWVsZCBzZWxlY3Q6ZGlzYWJsZWQsXHJcbi5teF9GaWVsZCBzZWxlY3Q6ZGlzYWJsZWQgKyBsYWJlbCxcclxuLm14X0ZpZWxkIGlucHV0OmRpc2FibGVkLFxyXG4ubXhfRmllbGQgaW5wdXQ6ZGlzYWJsZWQgKyBsYWJlbCxcclxuLm14X0ZpZWxkIHRleHRhcmVhOmRpc2FibGVkLFxyXG4ubXhfRmllbGQgdGV4dGFyZWE6ZGlzYWJsZWQgKyBsYWJlbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiAkaW5mby1wbGludGgtZmctY29sb3I7XHJcbn1cclxuXHJcbi5teF9GaWVsZF92YWxpZCB7XHJcbiAgICAmLm14X0ZpZWxkLFxyXG4gICAgJi5teF9GaWVsZDpmb2N1cy13aXRoaW4ge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudDtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0ZpZWxkIGxhYmVsLFxyXG4gICAgJi5teF9GaWVsZDpmb2N1cy13aXRoaW4gbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRmllbGRfaW52YWxpZCB7XHJcbiAgICAmLm14X0ZpZWxkLFxyXG4gICAgJi5teF9GaWVsZDpmb2N1cy13aXRoaW4ge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFsZXJ0O1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfRmllbGQgbGFiZWwsXHJcbiAgICAmLm14X0ZpZWxkOmZvY3VzLXdpdGhpbiBsYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRhbGVydDtcclxuICAgIH1cclxufVxyXG5cclxuLyogQ3VzdG9taXNlIG90aGVyIGNvbXBvbmVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGEgRmllbGQgKi9cclxuXHJcbi5teF9GaWVsZCAubXhfRHJvcGRvd25faW5wdXQge1xyXG4gICAgYm9yZGVyOiBpbml0aWFsO1xyXG4gICAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcclxufVxyXG5cclxuLm14X0ZpZWxkIC5teF9Db3VudHJ5RHJvcGRvd24ge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV9hdmF0YXJzIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3NwYWNlciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2M3B4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0zMHB4OyAvKiBUT0RPOiBVc2UgYSB2YXJpYWJsZSAqL1xyXG5cclxuICAgICAgICAubXhfSVJDTGF5b3V0ICYge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlIHtcclxuICAgICAgICAvKiBXZSByZXVzZSBhIHRpdGxlIGNhc2VkIHRyYW5zbGF0aW9uICovXHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtbGF5b3V0PVwiaXJjXCJdLFxyXG4gICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcclxuICAgICAgICAtLW1heFdpZHRoOiA3MCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1hdmF0YXJTaXplKSArIHZhcigtLWd1dHRlclNpemUpKTtcclxuXHJcbiAgICAgICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3RvZ2dsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMDtcclxuXHJcbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiA5OyAvKiBUT0RPOiBSZW1vdmUgKi9cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvOyAvKiByZWR1Y2UgY2xpY2thYmxlIGFyZWEgKi9cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtZW5kKTsgLyogYXMgdGhlIHBhcmVudCBoYXMgemVybyBtYXJnaW4gKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3NwYWNlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmW2RhdGEtZXhwYW5kZWQ9XCJmYWxzZVwiXSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgY29sdW1uLWdhcDogNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogaWRlYWxseSB3ZSdkIHVzZSBkaXNwbGF5PWNvbnRlbnRzIGhlcmUgZm9yIHRoZSBsYXlvdXQgdG8gYWxsIHdvcmsgcmVnYXJkbGVzcyBvZiB0aGUgKkVMUyBidXQgKi9cclxuICAgICAgICAvKiB0aGF0IGJyZWFrcyBTY3JvbGxQYW5lbCdzIHJlbGlhbmNlIHVwb24gb2Zmc2V0VG9wIHNvIHdlIGhhdmUgdG8gaGF2ZSBhIGJpdCBtb3JlIGZpbmVzc2UuICovXHJcbiAgICAgICAgJltkYXRhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgJiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xM3B4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTQ7XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3NwYWNlciB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9UZXh0dWFsRXZlbnQubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIE1ha2UgYWxsIHN0YXRlIGV2ZW50cyBvbmUgb3JkZXIgc21hbGxlciB0aGFuIHRoZSBvdGhlciBldmVudHMgKi9cclxuICAgIC5teF9FdmVudFRpbGUge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3Vuc3R5bGVkTGlzdCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLm14X1RleHR1YWxFdmVudC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV9zdW1tYXJ5IHtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfYXZhdGFycyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMTJweDtcclxuXHJcbiAgICAubXhfQmFzZUF2YXRhciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuJGJ1dHRvbi1zaXplOiAzMnB4O1xyXG4kYnV0dG9uLWdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuXHJcbjpyb290IHtcclxuICAgIC0taW1hZ2Utdmlldy1wYW5lbC1oZWlnaHQ6IDY4cHg7XHJcbn1cclxuXHJcbi5teF9JbWFnZVZpZXcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLm14X0ltYWdlVmlld19pbWFnZV93cmFwcGVyIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5teF9JbWFnZVZpZXdfaW1hZ2Uge1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gICAgJi5teF9JbWFnZVZpZXdfaW1hZ2VfYW5pbWF0aW5nIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZSAwcztcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0ltYWdlVmlld19pbWFnZV9hbmltYXRpbmdMb2FkaW5nIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZSAwcztcclxuICAgIH1cclxufVxyXG5cclxuLm14X0ltYWdlVmlld19wYW5lbCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogdmFyKC0taW1hZ2Utdmlldy1wYW5lbC1oZWlnaHQpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBhbmltYXRpb24tbmFtZTogbXhfSW1hZ2VWaWV3X3BhbmVsX2tleWZyYW1lcztcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XHJcbn1cclxuXHJcbi5teF9JbWFnZVZpZXdfaW5mb193cmFwcGVyIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICRsaWdodGJveC1mZy1jb2xvcjtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGZsZXgtYmFzaXM6IDA7XHJcbn1cclxuXHJcbi5teF9JbWFnZVZpZXdfaW5mbyB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLm14X0ltYWdlVmlld19pbmZvX3NlbmRlciB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLm14X0ltYWdlVmlld190aXRsZSB7XHJcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWZnLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgZmxleC1iYXNpczogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0ltYWdlVmlld190b29sYmFyIHtcclxuICAgIC0taWNvbi1zaXplOiAyNHB4O1xyXG5cclxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XHJcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgZmxleC1iYXNpczogMDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBnYXA6ICRidXR0b24tZ2FwO1xyXG59XHJcblxyXG4ubXhfSW1hZ2VWaWV3X2J1dHRvbiB7XHJcbiAgICBwYWRkaW5nOiBjYWxjKCgkYnV0dG9uLXNpemUgLSB2YXIoLS1pY29uLXNpemUpKSAvIDIpO1xyXG4gICAgd2lkdGg6IHZhcigtLWljb24tc2l6ZSk7XHJcbiAgICBoZWlnaHQ6IHZhcigtLWljb24tc2l6ZSk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSW1hZ2VWaWV3X2J1dHRvbl9tb3JlIHtcclxuICAgIC0taWNvbi1zaXplOiAyOHB4O1xyXG59XHJcblxyXG4ubXhfSW1hZ2VWaWV3X2J1dHRvbl9jbG9zZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogIzIxMjYyYzsgLyogc2FtZSBvbiBhbGwgdGhlbWVzICovXHJcbn1cclxuXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikge1xyXG4gICAgLm14X0ltYWdlVmlld19pbWFnZV9hbmltYXRpbmcge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSW1hZ2VWaWV3X2ltYWdlX2FuaW1hdGluZ0xvYWRpbmcge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0luZm9Ub29sdGlwX2ljb24ge1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0luZm9Ub29sdGlwX2ljb246OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE3LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9JbmxpbmVTcGlubmVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIG1hcmdpbjogMHB4IDZweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTNweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5LTIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ludGVyYWN0aXZlVG9vbHRpcF93cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDM5OTk7XHJcbn1cclxuXHJcbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXAge1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDUwMDE7XHJcbiAgICBib3gtc2hhZG93OlxyXG4gICAgICAgIDAgMjRweCA4cHggcmdiKDE3IDE3IDI2IC8gNCUpLFxyXG4gICAgICAgIDAgOHB4IDMycHggcmdiKDE3IDE3IDI2IC8gNCUpO1xyXG59XHJcblxyXG4ubXhfSW50ZXJhY3RpdmVUb29sdGlwLm14X0ludGVyYWN0aXZlVG9vbHRpcF93aXRoQ2hldnJvbl90b3Age1xyXG4gICAgdG9wOiAxMHB4OyAvKiA4cHggY2hldnJvbiArIDJweCBzcGFjaW5nICovXHJcbn1cclxuXHJcbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXAubXhfSW50ZXJhY3RpdmVUb29sdGlwX3dpdGhDaGV2cm9uX2xlZnQge1xyXG4gICAgbGVmdDogMTBweDsgLyogOHB4IGNoZXZyb24gKyAycHggc3BhY2luZyAqL1xyXG59XHJcblxyXG4ubXhfSW50ZXJhY3RpdmVUb29sdGlwLm14X0ludGVyYWN0aXZlVG9vbHRpcF93aXRoQ2hldnJvbl9yaWdodCB7XHJcbiAgICByaWdodDogMTBweDsgLyogOHB4IGNoZXZyb24gKyAycHggc3BhY2luZyAqL1xyXG59XHJcblxyXG4ubXhfSW50ZXJhY3RpdmVUb29sdGlwLm14X0ludGVyYWN0aXZlVG9vbHRpcF93aXRoQ2hldnJvbl9ib3R0b20ge1xyXG4gICAgYm90dG9tOiAxMHB4OyAvKiA4cHggY2hldnJvbiArIDJweCBzcGFjaW5nICovXHJcbn1cclxuXHJcbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXBfY2hldnJvbl90b3Age1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogY2FsYyg1MCUgLSA4cHgpO1xyXG4gICAgdG9wOiAtOHB4O1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICRiYWNrZ3JvdW5kO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qIEFkYXB0ZWQgZnJvbSBodHRwczovL2NvZHlob3VzZS5jby9ibG9nL3Bvc3QvY3NzLXJvdW5kZWQtdHJpYW5nbGVzLXdpdGgtY2xpcC1wYXRoICovXHJcbi8qIGJ5IFNlYmFzdGlhbm8gR3VlcnJpZXJvIChAZ3VlcnJpZXJvX3NlKSAqL1xyXG5Ac3VwcG9ydHMgKGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKSkge1xyXG4gICAgLm14X0ludGVyYWN0aXZlVG9vbHRpcF9jaGV2cm9uX3RvcCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDNweDtcclxuICAgICAgICB0b3A6IGNhbGMoLThweCAvIDEuNDE0KTsgLyogc3FydCgyKSBiZWNhdXNlIG9mIHJvdGF0aW9uICovXHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JbnRlcmFjdGl2ZVRvb2x0aXBfY2hldnJvbl9ib3R0b20ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogY2FsYyg1MCUgLSA4cHgpO1xyXG4gICAgYm90dG9tOiAtOHB4O1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRiYWNrZ3JvdW5kO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qIEFkYXB0ZWQgZnJvbSBodHRwczovL2NvZHlob3VzZS5jby9ibG9nL3Bvc3QvY3NzLXJvdW5kZWQtdHJpYW5nbGVzLXdpdGgtY2xpcC1wYXRoICovXHJcbi8qIGJ5IFNlYmFzdGlhbm8gR3VlcnJpZXJvIChAZ3VlcnJpZXJvX3NlKSAqL1xyXG5Ac3VwcG9ydHMgKGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKSkge1xyXG4gICAgLm14X0ludGVyYWN0aXZlVG9vbHRpcF9jaGV2cm9uX2JvdHRvbSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDNweDtcclxuICAgICAgICBib3R0b206IGNhbGMoLThweCAvIDEuNDE0KTsgLyogc3FydCgyKSBiZWNhdXNlIG9mIHJvdGF0aW9uICovXHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9JbnZpdGVSZWFzb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG5cclxuICAgIC5teF9JbnZpdGVSZWFzb25fcmVhc29uIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9JbnZpdGVSZWFzb25fdmlldyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9JbnZpdGVSZWFzb25faGlkZGVuIHtcclxuICAgIC5teF9JbnZpdGVSZWFzb25fcmVhc29uIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ludml0ZVJlYXNvbl92aWV3IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0LDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MYWJlbGxlZENoZWNrYm94IHtcclxuICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MYW5ndWFnZURyb3Bkb3duIHtcclxuICAgIC5teF9Ecm9wZG93bl9vcHRpb24gPiBkaXYge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTWluaUF2YXRhclVwbG9hZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiBtaW4tY29udGVudDtcclxuXHJcbiAgICAubXhfTWluaUF2YXRhclVwbG9hZGVyX2luZGljYXRvciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG5cclxuICAgICAgICByaWdodDogLTZweDtcclxuICAgICAgICBib3R0b206IC02cHg7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcblxyXG4gICAgICAgIC5teF9NaW5pQXZhdGFyVXBsb2FkZXJfY2FtZXJhSWNvbiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTWluaUF2YXRhclVwbG9hZGVyX2lucHV0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1BpbGwge1xyXG4gICAgcGFkZGluZzogJGZvbnQtMXB4IDAuNGVtICRmb250LTFweCAwLjRlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xN3B4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGZvbnQtMTZweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KSAhaW1wb3J0YW50OyAvKiBUbyBvdmVycmlkZSAubWFya2Rvd24tYm9keSAqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBpbGwtYmctY29sb3IgIWltcG9ydGFudDsgLyogVG8gb3ZlcnJpZGUgLm1hcmtkb3duLWJvZHkgKi9cclxuICAgIC8qIEZvciBlbmhhbmNlZCB2aXNpYmlsaXR5IHVuZGVyIGNvbnRyYXN0IGNvbnRyb2wgKi9cclxuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcbiAgICA+ICoge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfVXNlclBpbGxfbWUsXHJcbiAgICAmLm14X0F0Um9vbVBpbGwsXHJcbiAgICAmLm14X0tleXdvcmRQaWxsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSkgIWltcG9ydGFudDsgLyogVG8gb3ZlcnJpZGUgLm1hcmtkb3duLWJvZHkgKi9cclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlsbC1ob3Zlci1iZy1jb2xvciAhaW1wb3J0YW50OyAvKiBUbyBvdmVycmlkZSAubWFya2Rvd24tYm9keSAqL1xyXG4gICAgfVxyXG5cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlsbC1wcmVzcy1iZy1jb2xvciAhaW1wb3J0YW50OyAvKiBUbyBvdmVycmlkZSAubWFya2Rvd24tYm9keSAqL1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfVXNlclBpbGxfbWU6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcihcclxuICAgICAgICAgICAgLS1jcGQtY29sb3ItYmctY3JpdGljYWwtaG92ZXJlZFxyXG4gICAgICAgICkgIWltcG9ydGFudDsgLyogVG8gb3ZlcnJpZGUgLm1hcmtkb3duLWJvZHkgfCBzYW1lIG9uIGJvdGggdGhlbWVzICovXHJcbiAgICB9XHJcblxyXG4gICAgLyogV2UgZG9uJ3Qgd2FudCB0byBpbmRpY2F0ZSBjbGlja2FiaWxpdHkgKi9cclxuICAgICYubXhfQXRSb29tUGlsbDpob3ZlcixcclxuICAgICYubXhfS2V5d29yZFBpbGw6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KSAhaW1wb3J0YW50OyAvKiBUbyBvdmVycmlkZSAubWFya2Rvd24tYm9keSAqL1xyXG4gICAgICAgIGN1cnNvcjogdW5zZXQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlLFxyXG4gICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0wLjNlbTsgLyogT3RoZXJ3aXNlIHRoZSBnYXAgaXMgdG9vIGxhcmdlICovXHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDAuMmVtO1xyXG4gICAgICAgIG1pbi13aWR0aDogJGZvbnQtMTZweDsgLyogZW5zdXJlIHRoZSBhdmF0YXIgaXMgbm90IGNvbXByZXNzZWQgKi9cclxuICAgICAgICB1c2VyLXNlbGVjdDogdGV4dDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9QaWxsX3RleHQge1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcblxyXG4gICAgYSYge1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgLyogVG8gb3ZlcnJpZGUgLm1hcmtkb3duLWJvZHkgKi9cclxuICAgIH1cclxuXHJcbiAgICAubXhfUGlsbF9MaW5rSWNvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmstZXh0ZXJuYWw7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBjb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDFweDtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1BpbGxfVXNlckljb24ge1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9TcGFjZVBpbGwge1xyXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Bvd2VyU2VsZWN0b3Ige1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9Qb3dlclNlbGVjdG9yIC5teF9GaWVsZCBzZWxlY3QsXHJcbi5teF9Qb3dlclNlbGVjdG9yIC5teF9GaWVsZCBpbnB1dCB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG5wcm9ncmVzcy5teF9Qcm9ncmVzc0JhciB7XHJcbiAgICBoZWlnaHQ6IDZweDtcclxuICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBib3JkZXI6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcclxuXHJcbiAgICBAbWl4aW4gUHJvZ3Jlc3NCYXJCb3JkZXJSYWRpdXMgNnB4O1xyXG4gICAgQG1peGluIFByb2dyZXNzQmFyQ29sb3VyIHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XHJcbiAgICBAbWl4aW4gUHJvZ3Jlc3NCYXJCZ0NvbG91ciAkcHJvZ3Jlc3NiYXItYmctY29sb3I7XHJcbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAxcztcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1FSQ29kZSB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTggVmVjdG9yIENyZWF0aW9ucyBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1JlcGx5Q2hhaW4ge1xyXG4gICAgbWFyZ2luOiAwOyAvKiBSZXNldCBkZWZhdWx0IGJsb2NrcXVvdGUgbWFyZ2luICovXHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLXVzZXJuYW1lLWNvbG9yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHJcbiAgICAubXhfUmVwbHlDaGFpbl9zaG93IHtcclxuICAgICAgICAmLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX2lubGluZSB7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIEVuZm9yY2UgJ0luIHJlcGx5IHRvJyB0byBiZSBhIHNpbmdsZSBsaW5lICovXHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIGVhc2UgMC4xNXM7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcik7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9SZXBseUNoYWluX2NvbG9yMSB7XHJcbiAgICAgICAgLS11c2VybmFtZS1jb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQxLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfUmVwbHlDaGFpbl9jb2xvcjIge1xyXG4gICAgICAgIC0tdXNlcm5hbWUtY29sb3I6ICR1c2VybmFtZS12YXJpYW50Mi1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X1JlcGx5Q2hhaW5fY29sb3IzIHtcclxuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDMtY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9SZXBseUNoYWluX2NvbG9yNCB7XHJcbiAgICAgICAgLS11c2VybmFtZS1jb2xvcjogJHVzZXJuYW1lLXZhcmlhbnQ0LWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfUmVwbHlDaGFpbl9jb2xvcjUge1xyXG4gICAgICAgIC0tdXNlcm5hbWUtY29sb3I6ICR1c2VybmFtZS12YXJpYW50NS1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X1JlcGx5Q2hhaW5fY29sb3I2IHtcclxuICAgICAgICAtLXVzZXJuYW1lLWNvbG9yOiAkdXNlcm5hbWUtdmFyaWFudDYtY29sb3I7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jlc2l6ZUhhbmRsZSB7XHJcbiAgICBjdXJzb3I6IHJvdy1yZXNpemU7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHotaW5kZXg6IDEwMDtcclxuXHJcbiAgICAmLm14X1Jlc2l6ZUhhbmRsZS0taG9yaXpvbnRhbCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIC01cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xyXG5cclxuICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9SZXNpemVIYW5kbGUtLXZlcnRpY2FsIHtcclxuICAgICAgICBtYXJnaW46IC01cHggMDtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyogWFhYOiBibGV1cmdoLCB3aGF0IGlzIHRoaXM/IFRoZXNlIGNsYXNzZXMgdG90YWxseSBicmVhayB0aGUgY29tcG9uZW50ICovXHJcbi8qIG5hbWluZyBzY2hlbWU7IGl0J3MgY29tcGxldGVseSB1bmNsZWFyIHdoZXJlIG9yIGhvdyB0aGV5J3JlIGJlaW5nIHVzZWQgKi9cclxuLyogLS1NYXR0aGV3ICovXHJcblxyXG4ubXhfTWFya2Rvd25fQk9MRCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLm14X01hcmtkb3duX0lUQUxJQyB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAvKlxyXG4gICAgLy8gaW50ZXJlc3RpbmdseSwgKm5vdCogdXNpbmcgdGhlIGV4cGxpY2l0IGl0YWxpYyBmb250XHJcbiAgICAvLyB2YXJpYW50IHNlZW1zIHlpZWxkIGJldHRlciByZXN1bHRzLlxyXG5cclxuICAgIC8vIGNvbXBlbnNhdGUgZm9yIE51bml0byBpdGFsaWNzIGJlaW5nIHRlcnJpYmxlXHJcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2ZvbnRzL2lzc3Vlcy8xNzJcclxuICAgIHRyYW5zZm9ybTogc2tld1goLTE0ZGVnKTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICovXHJcbn1cclxuXHJcbi5teF9NYXJrZG93bl9DT0RFIHtcclxuICAgIHBhZGRpbmc6IDAuMmVtIDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmb250LXNpemU6IDg1JTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRydGUtY29kZS1iZy1jb2xvcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxufVxyXG5cclxuLm14X01hcmtkb3duX0hSIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZDogJHJ0ZS1iZy1jb2xvcjtcclxufVxyXG5cclxuLm14X01hcmtkb3duX1NUUklLRVRIUk9VR0gge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbi5teF9FbW9qaSB7XHJcbiAgICAvKiBTaG91bGQgYmUgMS44cmVtIGZvciBvdXIgZGVmYXVsdCBtZXNzYWdlIGJvZGllcywgYW5kIHNjYWxlIHdpdGggdGhlICovXHJcbiAgICAvKiBzdXJyb3VuZGluZyB0ZXh0ICovXHJcbiAgICBmb250LXNpemU6IG1heCgkZm9udC0xOHB4LCAxZW0pO1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21BbGlhc0ZpZWxkIHtcclxuICAgIC8qIGlmIHBhcmVudCBpcyBhIGZsZXggY29udGFpbmVyLCB0aGlzIGFsbG93cyB0aGUgKi9cclxuICAgIC8qIHdpZHRoIHRvIGJlIGFzIHdpZGUgYXMgbmVlZGVkLCBhbmQgbm90IDEwMCUgKi9cclxuICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gICAgbWluLXdpZHRoOiAwO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgIGlucHV0IHtcclxuICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogJGluZm8tcGxpbnRoLWZnLWNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ZpZWxkX3ByZWZpeCxcclxuICAgIC5teF9GaWVsZF9wb3N0Zml4IHtcclxuICAgICAgICBjb2xvcjogJGluZm8tcGxpbnRoLWZnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBwYWRkaW5nOiA5cHggMTBweDtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAubXhfRmllbGRfcG9zdGZpeCB7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIC8qIHRoaXMgYWxsb3dzIHRoZSBkb21haW4gbmFtZSB0byBzaG93ICovXHJcbiAgICAgICAgLyogYXMgbG9uZyBhcyBpdCBkb2Vzbid0IG1ha2UgdGhlIGlucHV0IHNocmluayAqL1xyXG4gICAgICAgIC8qIGlmIGl0J3MgdG9vIGJpZywgaXQgc2hvd3MgYW4gZWxsaXBzaXMgKi9cclxuICAgICAgICAvKiAxODA6IDI4IGZvciBwcmVmaXgsIDE1MiBmb3IgaW5wdXQgKi9cclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE4MHB4KTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NTT0J1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIC5teF9TU09CdXR0b25zX3JvdyArIC5teF9TU09CdXR0b25zX3JvdyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU1NPQnV0dG9uIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuICAgICAgICBzdmcsXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9TU09CdXR0b25fbWluaSB7XHJcbiAgICAgICAgc3ZnLFxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIC8qIDMwcHggcGFyZW50LCAyNHB4IHNlbGYgKi9cclxuICAgICAgICAgICAgcGFkZGluZzogM3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmICsgLm14X1NTT0J1dHRvbl9taW5pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2VhcmNoV2FybmluZyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIDE2cHg7XHJcblxyXG4gICAgPiAqIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG5cclxuICAgID4gaW1nIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NlcnZlclBpY2tlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTE2O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigxNDEsIDE1MSwgMTY1LCAwLjIpO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW4tY29udGVudDtcclxuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG5cclxuICAgID4gaDIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NlcnZlclBpY2tlcl9oZWxwIHtcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICBncmlkLXJvdzogMTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTJweDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NlcnZlclBpY2tlcl9zZXJ2ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkYXV0aHBhZ2UtcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICBncmlkLXJvdzogMjtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXJ2ZXJQaWNrZXJfY2hhbmdlIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICBncmlkLXJvdzogMjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU2VydmVyUGlja2VyX2Rlc2Mge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAyO1xyXG4gICAgICAgIGdyaWQtcm93OiAzO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU2VydmVyUGlja2VyX2hlbHBEaWFsb2cge1xyXG4gICAgLm14X0RpYWxvZ19jb250ZW50IHtcclxuICAgICAgICB3aWR0aDogNDU2cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXR0aW5nc0Ryb3Bkb3duIHtcclxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAubXhfU2V0dGluZ3NEcm9wZG93bl9sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtMXgpIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Ryb3Bkb3duX2lucHV0IHtcclxuICAgICAgICB3aWR0aDogMzYwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXR0aW5nc0ZsYWcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIC5teF9Ub2dnbGVTd2l0Y2gge1xyXG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfU2V0dGluZ3NGbGFnX3RvZ2dsZUluRnJvbnQge1xyXG4gICAgICAgIC5teF9Ub2dnbGVTd2l0Y2gge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1NldHRpbmdzRmxhZ19sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TZXR0aW5nc0ZsYWdfbGFiZWwge1xyXG4gICAgZmxleDogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDRweDtcclxufVxyXG5cclxuLm14X1NldHRpbmdzRmxhZ19taWNyb2NvcHkge1xyXG4gICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgLyogU3VwcG9ydCBjb2RlL3ByZSBlbGVtZW50cyBpbiBzZXR0aW5ncyBmbGFnIGRlc2NyaXB0aW9ucyAqL1xyXG4gICAgcHJlLFxyXG4gICAgY29kZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRtb25vc3BhY2UtZm9udC1mYW1pbHkgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnRlLWNvZGUtYmctY29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzVGFiX21pY3JvY29weV93YXJuaW5nOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwi4pqg77iPIFwiO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TcGlubmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5teF9NYXRyaXhDaGF0X21pZGRsZVBhbmVsIC5teF9TcGlubmVyIHtcclxuICAgIGhlaWdodDogYXV0bztcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLyoqXHJcbiogVGhpcyBjb21wb25lbnQgZXhwZWN0cyB0aGUgcGFyZW50IHRvIHNwZWNpZnkgYSBwb3NpdGl2ZSBwYWRkaW5nIGFuZFxyXG4qIHdpZHRoXHJcbiovXHJcblxyXG4ubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xyXG4gICAgJHJhZGlvLWNpcmNsZS1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcclxuICAgICRhY3RpdmUtcmFkaW8tY2lyY2xlLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gICAgPiAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX3NwYWNlciB7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgZmxleC1ncm93OiAwO1xyXG5cclxuICAgICAgICBoZWlnaHQ6ICRmb250LTE2cHg7XHJcbiAgICAgICAgd2lkdGg6ICRmb250LTE2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAgICAgICAvKiBSZW1vdmUgdGhlIE9TJ3MgcmVwcmVzZW50YXRpb24gKi9cclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG5cclxuICAgICAgICArIGRpdiB7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XHJcblxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZvbnQtMTZweDtcclxuICAgICAgICAgICAgd2lkdGg6ICRmb250LTE2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7IC8qIEZvciB0aGUgaGlnaGxpZ2h0IG9uIGZvY3VzICovXHJcblxyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcmFkaW8tY2lyY2xlLWNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZm9udC0xNnB4O1xyXG5cclxuICAgICAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb250LThweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9udC04cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGZvbnQtOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgICAgICAmICsgZGl2IHtcclxuICAgICAgICAgICAgICAgIEBtaXhpbiB1bnJlYWwtZm9jdXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgICAgICYgKyBkaXYge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLXJhZGlvLWNpcmNsZS1jb2xvcjtcclxuXHJcbiAgICAgICAgICAgICAgICAmID4gZGl2IHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWN0aXZlLXJhZGlvLWNpcmNsZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAvKiBGb3IgZW5oYW5jZWQgdmlzaWJpbGl0eSB1bmRlciBjb250cmFzdCBjb250cm9sICovXHJcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICAgICAgJiArIGRpdixcclxuICAgICAgICAgICAgJiArIGRpdiArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJiArIGRpdiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRyYWRpby1jaXJjbGUtY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Y2hlY2tlZDpkaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICYgKyBkaXYgPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJhZGlvLWNpcmNsZS1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25faW5uZXJMYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiA0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TdHlsZWRSYWRpb0J1dHRvbl9vdXRsaW5lZCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtZGFya2VyLWJnLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG59XHJcblxyXG4ubXhfU3R5bGVkUmFkaW9CdXR0b25fY2hlY2tlZCB7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE3IE1pY2hhZWwgVGVsYXR5bnNraSA8N3QzY2hndXlAZ21haWwuY29tPlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU3ludGF4SGlnaGxpZ2h0IHtcclxuICAgIC8qIGluaGliaXQgaGxqcyBzdHlsaW5nICovXHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogJGxpZ2h0LWZnLWNvbG9yICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9UYWdDb21wb3NlciB7XHJcbiAgICAubXhfVGFnQ29tcG9zZXJfaW5wdXQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDcwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4OyAvKiBvdmVycmlkZSBmcm9tIGJ1dHRvbiBzdHlsZXMgKi9cclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDsgLyogb3ZlcnJpZGUgZGVmYXVsdCBzZXR0aW5nc3RhYiBzdHlsZSAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0ZpZWxkLFxyXG4gICAgICAgIC5teF9GaWVsZCBpbnB1dCxcclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIC8qIFNvIHRoZXkgbG9vayByZWxhdGVkIHRvIGVhY2ggb3RoZXIgYnkgZmVlbGluZyB0aGUgc2FtZSAqL1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9UYWdDb21wb3Nlcl90YWdzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OyAvKiB0aGlzIHBsdXMgMTJweCBmcm9tIHRoZSB0YWdzIG1ha2VzIDI0cHggZnJvbSB0aGUgaW5wdXQgKi9cclxuICAgIH1cclxuXHJcbiAgICAubXhfVGFnIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1RhZyB7XHJcbiAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcblxyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIGdhcDogOHB4O1xyXG4gICAgcGFkZGluZzogOHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgYmFja2dyb3VuZDogJHF1aW5hcnktY29udGVudDtcclxuXHJcbiAgICA+IHN2ZzpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgd2lkdGg6IDFlbTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSk7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9UYWdfZGVsZXRlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiAxLjA2NjY2NmVtOyAvKiAxNnB4OyAqL1xyXG4gICAgICAgIGhlaWdodDogMS4wNjY2NjZlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHN5c3RlbTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuLm14X1RleHRXaXRoVG9vbHRpcF90YXJnZXQge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG59XHJcblxyXG4ubXhfVGV4dFdpdGhUb29sdGlwX3Rvb2x0aXAge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVG9nZ2xlU3dpdGNoIHtcclxuICAgIC0tVG9nZ2xlU3dpdGNoLW1pbi13aWR0aDogJGZvbnQtNDRweDtcclxuXHJcbiAgICB0cmFuc2l0aW9uOlxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLW91dCAwLjFzLFxyXG4gICAgICAgIGJvcmRlci1jb2xvciAwLjJzIGVhc2Utb3V0IDAuMXM7XHJcblxyXG4gICAgd2lkdGg6ICRmb250LTQ0cHg7XHJcbiAgICBoZWlnaHQ6ICRmb250LTIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxLjVyZW07XHJcbiAgICBwYWRkaW5nOiAycHg7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kaXNhYmxlZCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcblxyXG4gICAgJi5teF9Ub2dnbGVTd2l0Y2hfZW5hYmxlZCB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XHJcblxyXG4gICAgICAgICYubXhfVG9nZ2xlU3dpdGNoX29uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAubXhfVG9nZ2xlU3dpdGNoX2JhbGwge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X1RvZ2dsZVN3aXRjaF9vbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcclxuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XHJcblxyXG4gICAgICAgID4gLm14X1RvZ2dsZVN3aXRjaF9iYWxsIHtcclxuICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gJGZvbnQtMjBweCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1RvZ2dsZVN3aXRjaF9iYWxsIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAkZm9udC0yMHB4O1xyXG4gICAgaGVpZ2h0OiAkZm9udC0yMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGZvbnQtMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XHJcbiAgICB0cmFuc2l0aW9uOlxyXG4gICAgICAgIGxlZnQgMC4xNXMgZWFzZS1vdXQgMC4xcyxcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2Utb3V0IDAuMXM7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9WYWxpZGF0aW9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1heC13aWR0aDogMjAwcHg7XHJcbn1cclxuXHJcbi5teF9WYWxpZGF0aW9uX2RldGFpbHMge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4ubXhfVmFsaWRhdGlvbl9kZXNjcmlwdGlvbiArIC5teF9WYWxpZGF0aW9uX2RldGFpbHMge1xyXG4gICAgbWFyZ2luOiAxZW0gMCAwO1xyXG59XHJcblxyXG4ubXhfVmFsaWRhdGlvbl9kZXRhaWwge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X1ZhbGlkYXRpb25fdmFsaWQge1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfVmFsaWRhdGlvbl9pbnZhbGlkIHtcclxuICAgICAgICBjb2xvcjogJGFsZXJ0O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUdWxpciBBc29rYW4gPHR1bGlyQG1hdW5pdW0ubmV0PlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRW1vamlQaWNrZXIge1xyXG4gICAgd2lkdGg6IDM0MHB4O1xyXG4gICAgaGVpZ2h0OiBtaW4oNDUwcHgsIDgwdmgpO1xyXG4gICAgbWF4LWhlaWdodDogODB2aDtcclxuXHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9ib2R5IHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcbiAgICBzY3JvbGxiYXItY29sb3I6IHJnYigwLCAwLCAwLCAwLjIpIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfaGVhZGVyIHtcclxuICAgIHBhZGRpbmc6IDRweCA4cHggMDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVzc2FnZS1hY3Rpb24tYmFyLWJvcmRlci1jb2xvcjtcclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX2FuY2hvciB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpIDA7XHJcbiAgICAvKiBXZSBoYXZlIHRvIGV4cGxpY2l0bHkgaW5oZXJpdCB0aGUgZm9udCBhcyBidXR0b24gYnJvd3NlciBzdHlsZXMgYXJlIGltcGxpY2l0bHkgaWdub3JhbnQgKi9cclxuICAgIGZvbnQ6IGluaGVyaXQ7XHJcbiAgICBmb250LXNpemU6ICRmb250LTIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XHJcblxyXG4gICAgd2lkdGg6IDM2cHg7XHJcbiAgICBoZWlnaHQ6IDM2cHg7XHJcblxyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgJjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgZmlsdGVyOiBvcGFjaXR5KDAuMyk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYWNjZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfYW5jaG9yX3Zpc2libGUge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRhY2NlbnQ7XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9zZWFyY2gge1xyXG4gICAgbWFyZ2luOiA4cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgIGlucHV0IHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMTJweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggMDtcclxuXHJcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX3NlYXJjaF9pY29uIHtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgbWFyZ2luOiA4cHg7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9jYXRlZ29yeSB7XHJcbiAgICBwYWRkaW5nOiAwIDEycHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9jYXRlZ29yeV9sYWJlbCB7XHJcbiAgICB3aWR0aDogMzA0cHg7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKTtcclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX2xpc3Qge1xyXG4gICAgd2lkdGg6IDMwNHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX2l0ZW1fd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgd2lkdGg6IDM4cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpmb2N1cy13aXRoaW4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb2N1cy1iZy1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX2JvZHlfc2hvd0hpZ2hsaWdodCAubXhfRW1vamlQaWNrZXJfaXRlbV93cmFwcGVyIFt0YWJpbmRleD1cIjBcIl0gLm14X0Vtb2ppUGlja2VyX2l0ZW0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJnLWNvbG9yO1xyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LXNpemU6ICRmb250LTIwcHg7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJnLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfaXRlbV9zZWxlY3RlZCB7XHJcbiAgICBjb2xvcjogcmdiKDAsIDAsIDAsIDAuNSk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xyXG4gICAgcGFkZGluZzogNHB4O1xyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfY2F0ZWdvcnlfbGFiZWwsXHJcbi5teF9FbW9qaVBpY2tlcl9wcmV2aWV3X25hbWUge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9mb290ZXIge1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZXNzYWdlLWFjdGlvbi1iYXItYm9yZGVyLWNvbG9yO1xyXG4gICAgbWluLWhlaWdodDogNzJweDtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0Vtb2ppUGlja2VyX3ByZXZpZXdfZW1vamkge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0zMnB4O1xyXG4gICAgcGFkZGluZzogOHB4IDE2cHg7XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9wcmV2aWV3X3RleHQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9uYW1lIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG59XHJcblxyXG4ubXhfRW1vamlQaWNrZXJfc2hvcnRjb2RlIHtcclxuICAgIGNvbG9yOiAkbGlnaHQtZmctY29sb3I7XHJcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuXHJcbiAgICAmOjpiZWZvcmUsXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCI6XCI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9xdWljayB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbn1cclxuXHJcbi5teF9FbW9qaVBpY2tlcl9xdWlja19oZWFkZXIgLm14X0Vtb2ppUGlja2VyX25hbWUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkNcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xvY2F0aW9uUGlja2VyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAvKiB3aGVuIHRoZXJlIGFyZSBlcnJvcnMgbG9hZGluZyB0aGUgbWFwICovXHJcbiAgICAvKiB0aGUgY2FudmFzIGlzIHN0aWxsIGluc2VydGVkICovXHJcbiAgICAvKiBhbmQgY2FuIG92ZXJsYXAgZXJyb3IgbWVzc2FnZS9jbG9zZSBidXR0b25zICovXHJcbiAgICAvKiBoaWRlIGl0ICovXHJcbiAgICAmLm14X0xvY2F0aW9uUGlja2VyX2hhc0Vycm9yIHtcclxuICAgICAgICAubWFwbGlicmVnbC1jYW52YXMtY29udGFpbmVyLFxyXG4gICAgICAgIC5tYXBsaWJyZWdsLWNvbnRyb2wtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI214X0xvY2F0aW9uUGlja2VyX21hcCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogaW5oZXJpdDtcclxuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcclxuICAgICAgICBmbGV4OiAxO1xyXG5cclxuICAgICAgICAubWFwbGlicmVnbC1jdHJsLm1hcGxpYnJlZ2wtY3RybC1ncm91cCxcclxuICAgICAgICAubWFwbGlicmVnbC1jdHJsLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTE2O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1hcGxpYnJlZ2wtY3RybC5tYXBsaWJyZWdsLWN0cmwtZ3JvdXAge1xyXG4gICAgICAgICAgICAvKiBwbGFjZSBiZWxvdyB0aGUgY2xvc2UgYnV0dG9uICovXHJcbiAgICAgICAgICAgIC8qIHBhZGRpbmctMTYgKyAyNHB4IGNsb3NlIGJ1dHRvbiArIHBhZGRpbmctMTAgKi9cclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tYWNjdXJhY3ktY2lyY2xlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYXBsaWJyZWdsLXVzZXItbG9jYXRpb24tZG90IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xvY2F0aW9uUGlja2VyX2Zvb3RlciB7XHJcbiAgICAgICAgZmxleDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTE2O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XHJcblxyXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Mb2NhdGlvblBpY2tlcl9waW5UZXh0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogJHNwYWNpbmctMTY7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDE1cHggcmdiKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy04O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Mb2NhdGlvblBpY2tlcl9zdWJtaXRCdXR0b24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQ4cHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9DYWxsRXZlbnRfd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9DYWxsRXZlbnQge1xyXG4gICAgcGFkZGluZzogMTJweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xyXG4gICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAkc3BhY2luZy04O1xyXG5cclxuICAgID4gLm14X0Jhc2VBdmF0YXIsXHJcbiAgICA+IC5teF9JY29uIHtcclxuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG5cclxuICAgID4gLm14X0ljb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy00IDA7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTGl2ZUNvbnRlbnRTdW1tYXJ5IHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLS1mYWNlcGlsZS1iYWNrZ3JvdW5kOiAkc3lzdGVtO1xyXG59XHJcblxyXG4ubXhfQ2FsbEV2ZW50X3RpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyAvKiBpbiBweCB0byBtYXRjaCB0aGUgYXZhdGFyICovXHJcbn1cclxuXHJcbi5teF9DYWxsRXZlbnRfaW5hY3RpdmUgLm14X0NhbGxFdmVudF90aXRsZSBzdmcge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMTZweDtcclxuICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctODtcclxufVxyXG5cclxuLm14X0NhbGxFdmVudF9hY3RpdmUgLm14X0NhbGxFdmVudF90aXRsZSB7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxufVxyXG5cclxuLm14X0NhbGxFdmVudF9jb2x1bW5zIHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6ICRzcGFjaW5nLTEyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLm14X1RpbWVsaW5lQ2FyZCAubXhfQ2FsbEV2ZW50X2NvbHVtbnMge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgZ2FwOiAkc3BhY2luZy04O1xyXG59XHJcblxyXG4ubXhfQ2FsbEV2ZW50X2RldGFpbHMge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiA2cHg7XHJcbn1cclxuXHJcbi5teF9DYWxsRXZlbnRfYnV0dG9uIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOC0yMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9FdmVudFRpbGVCdWJibGUubXhfQ3JlYXRlRXZlbnQge1xyXG4gICAgbWFyZ2luOiB2YXIoLS1FdmVudFRpbGVCdWJibGVfbWFyZ2luLWJsb2NrKSBhdXRvO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgY29sb3I6ICRoZWFkZXItcGFuZWwtdGV4dC1wcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi8qKiBEaXNhbWJpZ3VhdGVkIHByb2ZpbGUgbmVlZHMgdG8gaGF2ZSBhIGRpZmZlcmVudCBsYXlvdXQgaW4gdGhlIG1lbWJlciB0aWxlICovXHJcbi5teF9NZW1iZXJUaWxlVmlldyAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX214aWQge1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW46bm90KC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9teGlkKSB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgSW4gYSBtZW1iZXIgdGlsZSwgdGhpcyBzcGFuIGVsZW1lbnQgaXMgYSBmbGV4IGNoaWxkIGFuZCBzb1xyXG4gICAgICAgIHdlIG5lZWQgdGhlIGZvbGxvd2luZyBmb3IgdGV4dCBvdmVyZmxvdyB0byB3b3JrLlxyXG4gICAgICAgICoqL1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIC5teF9MZWdhY3lDYWxsRXZlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOiAkc3BhY2luZy00IDA7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46ICRzcGFjaW5nLTQgMDtcclxuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy0xMiAkc3BhY2luZy0yNDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLXBhbmVsLWJnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICB3aWR0aDogNjUlO1xyXG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfaWNvbkJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF9pbmZvIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2luZm9fYmFzaWMge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBnYXA6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgLyogVG8gbWF0Y2ggbXhfTGVnYWN5Q2FsbEV2ZW50ICovXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF9zZW5kZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3R5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF9jb250ZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIGdhcDogJHNwYWNpbmctMTI7IC8qIFNlZSBteF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9idXR0b25zICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDQycHg7IC8qIGF2YXRhciAoMzJweCkgKyBteF9MZWdhY3lDYWxsRXZlbnRfaW5mb19iYXNpYyBtYXJnaW4gKDEwcHgpICovXHJcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2NvbnRlbnRfYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBtaXhpbiBMZWdhY3lDYWxsQnV0dG9uO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkc3BhY2luZy0xMjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF9jb250ZW50X3Rvb2x0aXAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfTGVnYWN5Q2FsbEV2ZW50X25hcnJvdyB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcclxuICAgICAgICAgICAgZ2FwOiAkc3BhY2luZy00ICRzcGFjaW5nLTE2O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDI5MHB4O1xyXG5cclxuICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF9pY29uQnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogMTJweDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X2luZm8ge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0xlZ2FjeUNhbGxFdmVudF90eXBlX2ljb24ge1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4O1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgLm14X0V2ZW50VGlsZV9lMmVJY29uICsgLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIHtcclxuICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgLyogNXB4IChnYXApICsgMTRweCAoZTJlIGljb24gc2l6ZSAqIG1hc2stc2l6ZSkgKyA5cHggKG1hcmdpbi1sZWZ0IG9mIGUyZSBpY29uKSAqL1xyXG4gICAgICAgICAgICByaWdodDogY2FsYyg1cHggKyAxNHB4ICsgOXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVfbGVmdEFsaWduZWRCdWJibGUge1xyXG4gICAgLm14X0xlZ2FjeUNhbGxFdmVudF93cmFwcGVyIHtcclxuICAgICAgICAubXhfTGVnYWN5Q2FsbEV2ZW50IHtcclxuICAgICAgICAgICAgJi5teF9MZWdhY3lDYWxsRXZlbnRfbmFycm93IHtcclxuICAgICAgICAgICAgICAgIGdhcDogJHNwYWNpbmctOCAkc3BhY2luZy00O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfSVJDTGF5b3V0IHtcclxuICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfd3JhcHBlciB7XHJcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICRzcGFjaW5nLTQ7IC8qIGRpc3BsYXkgZ3JlZW4gbGluZSAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVHVsaXIgQXNva2FuIDx0dWxpckBtYXVuaXVtLm5ldD5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01JbWFnZVJlcGx5Qm9keSxcclxuLm14X01TdGlja2VyQm9keV93cmFwcGVyIHtcclxuICAgIC5teF9NSW1hZ2VCb2R5X2Jhbm5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogJHNwYWNpbmctNDtcclxuICAgICAgICBsZWZ0OiAkc3BhY2luZy00O1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tTUJvZHktYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIG1heC13aWR0aDogbWluKDEwMCUsIDM1MHB4KTtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDAsIDAuNik7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01JbWFnZUJvZHlfcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcblxyXG4gICAgICAgIC5teF9CbHVyaGFzaCA+IGNhbnZhcyB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbXgtLWFuaW0tcHVsc2UgMS43NXMgaW5maW5pdGUgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01JbWFnZUJvZHlfdGh1bWJuYWlsX2NvbnRhaW5lciB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tTUJvZHktYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBjb250YWluOiBwYWludDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTUltYWdlQm9keV90aHVtYm5haWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTUltYWdlQm9keV9naWZMYWJlbCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgIGxlZnQ6IDE0cHg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkaW1hZ2Vib2R5LWdpZmxhYmVsO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRpbWFnZWJvZHktZ2lmbGFiZWwtYm9yZGVyO1xyXG4gICAgICAgIGNvbG9yOiAkaW1hZ2Vib2R5LWdpZmxhYmVsLWNvbG9yO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTUltYWdlUmVwbHlCb2R5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBjb2x1bW4tZ2FwOiAkc3BhY2luZy00O1xyXG5cclxuICAgIC5teF9NSW1hZ2VCb2R5X3RodW1ibmFpbF9jb250YWluZXIge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwOyAvKiBQcmV2ZW50IGEgYmxvd291dCAqL1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTUxvY2F0aW9uQm9keSB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLm14X01Mb2NhdGlvbkJvZHlfbWFwIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDQ1MHB4O1xyXG4gICAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgei1pbmRleDogMDsgLyoga2VlcHMgdGhlIGVudGlyZSBtYXAgdW5kZXIgdGhlIG1lc3NhZ2UgYWN0aW9uIGJhciAqL1xyXG5cclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1NQm9keS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEluIHRoZSB0aW1lbGluZSwgd2UgZml0IHRoZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyICovXHJcbi5teF9FdmVudFRpbGVfbGluZSAubXhfTUxvY2F0aW9uQm9keSAubXhfTUxvY2F0aW9uQm9keV9tYXAge1xyXG4gICAgbWF4LXdpZHRoOiA0NTBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIC5teF9FdmVudFRpbGVfbGluZSAubXhfTUxvY2F0aW9uQm9keSAubXhfTUxvY2F0aW9uQm9keV9tYXAge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDQ1MHB4O1xyXG59XHJcblxyXG4ubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUgfiAubXhfTUxvY2F0aW9uQm9keSB7XHJcbiAgICBtYXJnaW4tdG9wOiA2cHg7IC8qIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL21hdHJpeC1vcmcvbWF0cml4LXJlYWN0LXNkay9wdWxsLzg0NDIgKi9cclxufVxyXG5cclxuLm14X1JlcGx5VGlsZSAubXhfTUxvY2F0aW9uQm9keSB7XHJcbiAgICAvKiBQcmV2ZW50IGNsaWNraW5nIGEgbG9jYXRpb24gd2l0aGluIGEgcmVwbHkgKi9cclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4kcG9sbC1tYXgtd2lkdGg6IDU1MHB4O1xyXG5cclxuLm14X01Qb2xsQm9keSB7XHJcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgbWluLXdpZHRoOiAwOyAvKiBPdmVycmlkZSBmaWVsZHNldCBkZWZhdWx0IG1pbi13aWR0aDogbWluLWNvbnRlbnQgKi9cclxuICAgIHdpZHRoOiAxMDAlOyAvKiBFbnN1cmUgZmllbGRzZXQgdGFrZXMgZnVsbCBhdmFpbGFibGUgd2lkdGggKi9cclxuICAgIGJvcmRlcjogbm9uZTsgLyogUmVtb3ZlIGRlZmF1bHQgZmllbGRzZXQgYm9yZGVyICovXHJcbiAgICBwYWRkaW5nOiAwOyAvKiBSZW1vdmUgZGVmYXVsdCBmaWVsZHNldCBwYWRkaW5nICovXHJcblxyXG4gICAgbGVnZW5kIHtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLWxnKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X01Qb2xsQm9keV9lZGl0ZWQge1xyXG4gICAgICAgICAgICBjb2xvcjogJHJvb210b3BpYy1jb2xvcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9NUG9sbEJvZHlfdG90YWxWb3RlcyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5saW5lO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcblxyXG4gICAgICAgIC5teF9TcGlubmVyIHtcclxuICAgICAgICAgICAgZmxleDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBQcmV2ZW50IGNsaWNraW5nIGEgcG9sbCB3aXRoaW4gYSByZXBseSAqL1xyXG4ubXhfUmVwbHlUaWxlIC5teF9NUG9sbEJvZHkge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5teF9NUG9sbEJvZHlfYWxsT3B0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAkc3BhY2luZy0xNjtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTg7XHJcbiAgICBtYXgtd2lkdGg6ICRwb2xsLW1heC13aWR0aDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTVN0aWNrZXJCb2R5X3dyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMTJweCAwcHg7XHJcbn1cclxuXHJcbi5teF9NU3RpY2tlckJvZHlfaGlkZGVuIHtcclxuICAgIG1heC13aWR0aDogMjIwcHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLyogVG8gY2VudGVyIHRoZSB0ZXh0IGluIHRoZSBtaWRkbGUgb2YgdGhlIGZyYW1lICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfTVN0aWNrZXJCb2R5X3BsYWNlaG9sZGVyIHtcclxuICAgIC8qIGNlbnRlcmluZyAqL1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogY2FsYyg1MCUgLSA0MHB4KTtcclxuICAgIHRvcDogY2FsYyg1MCUgLSA0MHB4KTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTWVzc2FnZUFjdGlvbkJhciB7XHJcbiAgICAtLU1lc3NhZ2VBY3Rpb25CYXItc2l6ZS1idXR0b246IDI4cHg7XHJcbiAgICAtLU1lc3NhZ2VBY3Rpb25CYXItc2l6ZS1tYXJnaW46IDNweDtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IGNhbGMoXHJcbiAgICAgICAgLTEgKlxyXG4gICAgICAgICAgICAoXHJcbiAgICAgICAgICAgICAgICB2YXIoLS1NZXNzYWdlQWN0aW9uQmFyLXNpemUtYnV0dG9uKSArIDIgKlxyXG4gICAgICAgICAgICAgICAgICAgICh2YXIoLS1NZXNzYWdlQWN0aW9uQmFyLXNpemUtbWFyZ2luKSArIHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkpXHJcbiAgICAgICAgICAgIClcclxuICAgICk7XHJcbiAgICByaWdodDogOHB4O1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAvKiBFbnN1cmUgdGhlIGFjdGlvbiBiYXIgYXBwZWFycyBhYm92ZSBvdGhlciB0aGluZ3MgbGlrZSB0aGUgcmVhZCBtYXJrZXIgKi9cclxuICAgIC8qIGFuZCBzZW5kZXIgYXZhdGFyIChmb3Igc21hbGwgc2NyZWVucykgKi9cclxuICAgIHotaW5kZXg6IDEwO1xyXG5cclxuICAgIC8qIEFkZHMgYSBwcmV2aW91cyBldmVudCBzYWZlIGFyZWEgc28gdGhhdCB5b3UgY2FuJ3QgYWNjaWRlbnRhbGx5IGhvdmVyIHRoZSAqL1xyXG4gICAgLyogcHJldmlvdXMgZXZlbnQgd2hpbGUgdHJ5aW5nIHRvIG1vdXNlIGludG8gdGhlIGFjdGlvbiBiYXIgb3IgZnJvbSB0aGUgKi9cclxuICAgIC8qIHJlYWN0IGJ1dHRvbiB0byBpdHMgdG9vbHRpcC4gKi9cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLyogdG9vbHRpcCBzYWZlIG1vdXNpbmcgYXJlYSArIHRvb2x0aXAgb3ZlcmhhbmcgKyAqL1xyXG4gICAgICAgIC8qIGFjdGlvbiBiYXIgKyBhY3Rpb24gYmFyIG9mZnNldCBmcm9tIGV2ZW50ICovXHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTBweCArIDQ4cHggKyAxMDAlICsgOHB4KTtcclxuICAgICAgICAvKiBzYWZlIGFyZWEgKyBhY3Rpb24gYmFyICovXHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDIwcHggKyAxMDAlKTtcclxuICAgICAgICB0b3A6IC0xMnB4O1xyXG4gICAgICAgIGxlZnQ6IC01OHB4O1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGN1cnNvcjogaW5pdGlhbDtcclxuXHJcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lLWxlbmd0aCAqL1xyXG4gICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVxyXG4gICAgICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlXHJcbiAgICAgICAgICAgIH4gLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3Vuc3R5bGVkTGlzdFxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2luZm86Zmlyc3Qtb2YtdHlwZVxyXG4gICAgICAgICAgICAmIHtcclxuICAgICAgICAgICAgLyogaW1wcm92ZSBjbGlja2FiaWxpdHkgb2YgXCJjb2xsYXBzZVwiIGxpbmsgYnV0dG9uIG9uIGJ1YmJsZSBsYXlvdXQgYnkgcmVkdWNpbmcgd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMgKi9cclxuICAgICAgICAgICAgLyogbXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlIH46IHRvIGFwcGx5IHJ1bGVzIHRvIGFjdGlvbiBiYXIgd2hlbiBcImNvbGxhcHNlXCIgYnV0dG9uIGlzIGF2YWlsYWJsZSAqL1xyXG4gICAgICAgICAgICAvKiBteF9FdmVudFRpbGVfaW5mbzpmaXJzdC1vZi10eXBlOiB0byBhcHBseSBydWxlcyB0byB0aGUgaW5mbyBldmVudCB0aWxlIGp1c3QgdW5kZXIgXCJjb2xsYXBzZVwiIGJ1dHRvbiAqL1xyXG4gICAgICAgICAgICAvKiBUT0RPOiB1c2UgYSBuZXcgY2xhc3MgbmFtZSBpbnN0ZWFkICovXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfaW5mbyAubXhfVmlld1NvdXJjZUV2ZW50IH4gJiB7XHJcbiAgICAgICAgICAgIC8qIGltcHJvdmUgY2xpY2thYmlsaXR5IG9mIHZpZXcgc291cmNlIGV2ZW50IHRvZ2dsZSBidXR0b24gYnkgcmVtb3ZpbmcgdmVydGljYWwgc2FmZSBhcmVhICovXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9UZXh0dWFsRXZlbnQge1xyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21WaWV3X3NlYXJjaFJlc3VsdHNQYW5lbCAmIHtcclxuICAgICAgICBvcGFjaXR5OiB1bnNldDsgLyogVW5zZXQgdGhlIG9wYWNpdHkgdmFsdWUgc3BlY2lmaWVkIGFib3ZlIG9uIHRoZSBzZWFyY2ggcmVzdWx0cyBwYW5lbCAqL1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVGV4dHVhbEJvZHlfdXJsUHJldmlld3Mge1xyXG4gICAgLyogTGV0IHNoYXJlZC1jb21wb25lbnRzIG93biBwcmV2aWV3IGxpbmsgY29sb3VycyBpbnN0ZWFkIG9mIHRoZSBhcHAtd2lkZSBhbmNob3IgY29sb3VyLiAqL1xyXG4gICAgYTp3aGVyZSg6bm90KFtkYXRhLWtpbmRdKSk6aG92ZXIsXHJcbiAgICBhOndoZXJlKDpub3QoW2RhdGEta2luZF0pKTpsaW5rLFxyXG4gICAgYTp3aGVyZSg6bm90KFtkYXRhLWtpbmRdKSk6dmlzaXRlZCB7XHJcbiAgICAgICAgY29sb3I6IHJldmVydC1sYXllcjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNiBFbGVtZW50IENyZWF0aW9ucyBMdGQuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi5teF9UaHJlYWRBY3Rpb25CYXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgdG9wOiBjYWxjKC0xICogKDI4cHggKyAyICogKDNweCArIHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkpKSk7XHJcbiAgICByaWdodDogOHB4O1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAvKiBFbnN1cmUgdGhlIGFjdGlvbiBiYXIgYXBwZWFycyBhYm92ZSBvdGhlciB0aGluZ3MgbGlrZSB0aGUgcmVhZCBtYXJrZXIgKi9cclxuICAgIC8qIGFuZCBzZW5kZXIgYXZhdGFyIChmb3Igc21hbGwgc2NyZWVucykgKi9cclxuICAgIHotaW5kZXg6IDEwO1xyXG5cclxuICAgIC8qIEFkZHMgYSBwcmV2aW91cyBldmVudCBzYWZlIGFyZWEgc28gdGhhdCB5b3UgY2FuJ3QgYWNjaWRlbnRhbGx5IGhvdmVyIHRoZSAqL1xyXG4gICAgLyogcHJldmlvdXMgZXZlbnQgd2hpbGUgdHJ5aW5nIHRvIG1vdXNlIGludG8gdGhlIGFjdGlvbiBiYXIgb3IgZnJvbSB0aGUgKi9cclxuICAgIC8qIHJlYWN0IGJ1dHRvbiB0byBpdHMgdG9vbHRpcC4gKi9cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLyogdG9vbHRpcCBzYWZlIG1vdXNpbmcgYXJlYSArIHRvb2x0aXAgb3ZlcmhhbmcgKyAqL1xyXG4gICAgICAgIC8qIGFjdGlvbiBiYXIgKyBhY3Rpb24gYmFyIG9mZnNldCBmcm9tIGV2ZW50ICovXHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTBweCArIDQ4cHggKyAxMDAlICsgOHB4KTtcclxuICAgICAgICAvKiBzYWZlIGFyZWEgKyBhY3Rpb24gYmFyICovXHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDIwcHggKyAxMDAlKTtcclxuICAgICAgICB0b3A6IC0xMnB4O1xyXG4gICAgICAgIGxlZnQ6IC01OHB4O1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGN1cnNvcjogaW5pdGlhbDtcclxuXHJcbiAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lLWxlbmd0aCAqL1xyXG4gICAgICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVxyXG4gICAgICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlXHJcbiAgICAgICAgICAgIH4gLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3Vuc3R5bGVkTGlzdFxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2luZm86Zmlyc3Qtb2YtdHlwZVxyXG4gICAgICAgICAgICAmIHtcclxuICAgICAgICAgICAgLyogaW1wcm92ZSBjbGlja2FiaWxpdHkgb2YgXCJjb2xsYXBzZVwiIGxpbmsgYnV0dG9uIG9uIGJ1YmJsZSBsYXlvdXQgYnkgcmVkdWNpbmcgd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMgKi9cclxuICAgICAgICAgICAgLyogbXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdG9nZ2xlIH46IHRvIGFwcGx5IHJ1bGVzIHRvIGFjdGlvbiBiYXIgd2hlbiBcImNvbGxhcHNlXCIgYnV0dG9uIGlzIGF2YWlsYWJsZSAqL1xyXG4gICAgICAgICAgICAvKiBteF9FdmVudFRpbGVfaW5mbzpmaXJzdC1vZi10eXBlOiB0byBhcHBseSBydWxlcyB0byB0aGUgaW5mbyBldmVudCB0aWxlIGp1c3QgdW5kZXIgXCJjb2xsYXBzZVwiIGJ1dHRvbiAqL1xyXG4gICAgICAgICAgICAvKiBUT0RPOiB1c2UgYSBuZXcgY2xhc3MgbmFtZSBpbnN0ZWFkICovXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfaW5mbyAubXhfVmlld1NvdXJjZUV2ZW50IH4gJiB7XHJcbiAgICAgICAgICAgIC8qIGltcHJvdmUgY2xpY2thYmlsaXR5IG9mIHZpZXcgc291cmNlIGV2ZW50IHRvZ2dsZSBidXR0b24gYnkgcmVtb3ZpbmcgdmVydGljYWwgc2FmZSBhcmVhICovXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5LCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9FdmVudFRpbGVCdWJibGUubXhfY3J5cHRvRXZlbnQge1xyXG4gICAgbWFyZ2luOiB2YXIoLS1FdmVudFRpbGVCdWJibGVfbWFyZ2luLWJsb2NrKSBhdXRvO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUG9sbEhpc3RvcnlfY29udGVudCB7XHJcbiAgICBoZWlnaHQ6IDYwMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5teF9Qb2xsSGlzdG9yeV9oZWFkZXIubXhfSGVhZGluZ19oMiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0xNjtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1BvbGxIaXN0b3J5TGlzdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgbWF4LWhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLm14X1BvbGxIaXN0b3J5TGlzdF9saXN0IHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbi1ibG9jazogMDtcclxuICAgIHBhZGRpbmctaW5saW5lOiAwO1xyXG4gICAgZmxleDogMSAxIDA7XHJcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogJHNwYWNpbmctMjA7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy02NDtcclxuICAgIG1hcmdpbjogJHNwYWNpbmctMzIgMDtcclxuXHJcbiAgICAmLm14X1BvbGxIaXN0b3J5TGlzdF9saXN0X0VOREVEIHtcclxuICAgICAgICBnYXA6ICRzcGFjaW5nLTMyO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUG9sbEhpc3RvcnlMaXN0X25vUmVzdWx0cyB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBwYWRkaW5nOiAwICRzcGFjaW5nLTY0O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG5cclxuICAgIC5teF9Qb2xsSGlzdG9yeUxpc3RfbG9hZE1vcmVQb2xscyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTY7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Qb2xsSGlzdG9yeUxpc3RfbG9hZGluZyB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC8vIGNlbnRlciBpbiBhbGwgZnJlZSBzcGFjZVxyXG4gICAgLy8gd2hlbiB0aGVyZSBhcmUgbm8gcmVzdWx0c1xyXG4gICAgJi5teF9Qb2xsSGlzdG9yeUxpc3Rfbm9SZXN1bHRzWWV0IHtcclxuICAgICAgICBtYXJnaW46IGF1dG8gYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLm14X1BvbGxIaXN0b3J5TGlzdF9sb2FkTW9yZVBvbGxzIHtcclxuICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0Jhc2VDYXJkIHtcclxuICAgIC0tQmFzZUNhcmRfRXZlbnRUaWxlX2xpbmUtcGFkZGluZy1ibG9jazogMnB4O1xyXG4gICAgLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmU6IDM2cHg7XHJcbiAgICAtLUJhc2VDYXJkX2hlYWRlci1idXR0b24tc2l6ZTogMjhweDtcclxuXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktbWQpO1xyXG5cclxuICAgIC5teF9CYXNlQ2FyZF9oZWFkZXIge1xyXG4gICAgICAgIGhlaWdodDogNjRweDtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgLyogY2hhbmdpbmcgdGhlIGNvbG9yIGZyb20gJHNlcGFyYXRvciB0byB0cmFuc3BhcmVudCBhcyBpdCBpc1xyXG4gICAgICAgICAgIHRoZSBiZXN0IHZpc3VhbCBvdXRwdXQgZHVyaW5nIHRoZSB0cmFuc2l0aW9uIHBlcmlvZC4gVGhpcyB3aWxsIGJlXHJcbiAgICAgICAgICAgcmVpbnRyb2R1Y2VkIGF0IGEgbGF0ZXIgc3RhZ2UuICovXHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgJHNlcGFyYXRvcjtcclxuXHJcbiAgICAgICAgLm14X0Jhc2VDYXJkX2hlYWRlcl9zcGFjZXIge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA0NHB4O1xyXG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXNlbWlib2xkKTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcblxyXG4gICAgICAgICAgICAubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlX2hlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlX2J1dHRvbi0tb3B0aW9uIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigtLUJhc2VDYXJkX2hlYWRlci1idXR0b24tc2l6ZSkgLSA0cHgpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLUJhc2VDYXJkX2hlYWRlci1idXR0b24tc2l6ZSkgLSA0cHgpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4O1xyXG5cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9BdXRvSGlkZVNjcm9sbGJhciB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9CYXNlQ2FyZF9mb290ZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy00O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3NlY29uZGFyeSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNDEsIDE1MSwgMTY1LCAwLjIpO1xyXG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2Rpc2FibGVkIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Db250ZXh0dWFsTWVudV93cmFwcGVyLm14X0Jhc2VDYXJkX2hlYWRlcl90aXRsZSB7XHJcbiAgICAubXhfQ29udGV4dHVhbE1lbnUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG5cclxuICAgICAgICBzcGFuOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICAgIGJvcmRlcjogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCAyNHB4IHJnYigwLCAwLCAwLCAwLjEpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Db250ZXh0dWFsTWVudV9jaGV2cm9uX3RvcCB7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICByaWdodDogMjJweDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgYm9yZGVyOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAtOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0VtcHR5U3RhdGUge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogNTZweDtcclxuICAgICAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIC8qIEJsb29tIHVzaW5nIG1hZ2ljIG51bWJlcnMgZGlyZWN0bHkgb3V0IG9mIEZpZ21hICovXHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgd2lkdGg6IDY0MnB4O1xyXG4gICAgICAgIGhlaWdodDogNzc1cHg7XHJcbiAgICAgICAgcmlnaHQ6IC0yNTMuNzdweDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDQ5Ljk1JSA0OS45NSUgYXQgNTAlIDUwJSwgcmdiKDEzLCAxODksIDEzOSwgMC4xMikgMCUsIHJnYigxOCwgMTE1LCAyMzUsIDApIDEwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC04OS42OWRlZyk7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0VuY3J5cHRpb25JbmZvX3NwaW5uZXIge1xyXG4gICAgLm14X1NwaW5uZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9FeHRlbnNpb25zQ2FyZCB7XHJcbiAgICAtLWNwZC1zZXBhcmF0b3Itc3BhY2luZzogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxuICAgIC0tQWRkRXh0ZW5zaW9uLW92ZXJsYXA6IC03NnB4O1xyXG4gICAgLm14X0F1dG9IaWRlU2Nyb2xsYmFyIHtcclxuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICAgICAgICAvKiBTdHlsaW5nIGZvciB0aGUgXCJBZGQgZXh0ZW5zaW9uc1wiIGJ1dHRvbiAqL1xyXG4gICAgICAgICYgPiBidXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V4dGVuc2lvbnNDYXJkX2NvbnRhaW5lciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctMjAgdmFyKC0tY3BkLXNwYWNlLTR4KSAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FeHRlbnNpb25zQ2FyZF9CdXR0b24ge1xyXG4gICAgICAgIC8qIHRoaXMgYnV0dG9uIGlzIHNwZWNpYWwgc28gd2UgaGF2ZSB0byBvdmVycmlkZSBzb21lIG9mIHRoZSBvcmlnaW5hbCBzdHlsaW5nICovXHJcbiAgICAgICAgLyogYXMgd2Ugd2lsbCBiZSBhcHBseWluZyBpdCBpbiBpdHMgY2hpbGRyZW4gKi9cclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAubXhfV2lkZ2V0QXZhdGFyIHtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXh0ZW5zaW9uc0NhcmRfaWNvbl9hcHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS0xMngpIHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FeHRlbnNpb25zQ2FyZF9hcHBfcGluVG9nZ2xlLFxyXG4gICAgICAgIC5teF9FeHRlbnNpb25zQ2FyZF9hcHBfb3B0aW9ucyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8qIHRvIGdpdmUgYmlnZ2VyIGludGVyYWN0aXZlIHpvbmUgKi9cclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB2YXIoLS1jcGQtc3BhY2UtMngpOyAvKiBlcXVhbCB0byBwYWRkaW5nLXRvcCBvZiBwYXJlbnQgKi9cclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE0MSwgMTUxLCAxNjUsIDAuMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FeHRlbnNpb25zQ2FyZF9hcHBfcGluVG9nZ2xlIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FeHRlbnNpb25zQ2FyZF9hcHBfb3B0aW9ucyB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAzMnB4OyAvKiAyNCArIDggKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXh0ZW5zaW9uc0NhcmRfQnV0dG9uX3Bpbm5lZCB7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0V4dGVuc2lvbnNDYXJkX2FwcF9waW5Ub2dnbGUgc3ZnIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiB1bnNldDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgdG9wOiB2YXIoLS1jcGQtc3BhY2UtMngpOyAvKiByZS1hbGlnbiBiYXNlZCBvbiB0aGUgaGVpZ2h0IGNoYW5nZSAqL1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLyogcGFzcyB0aHJvdWdoIHRvIHRoZSByZWFsIGJ1dHRvbiAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBTZXQgbGF5b3V0IGZvciBldmVyeW9uZSBidXR0b24gKi9cclxuICAgIGFbZGF0YS1raW5kPVwicHJpbWFyeVwiXSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTEweCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0VtcHR5U3RhdGU6OmJlZm9yZSB7XHJcbiAgICAgICAgLyogT3ZlcmxhcCB0aGUgQWRkIGV4dGVuc2lvbnMgYnV0dG9uICovXHJcbiAgICAgICAgdG9wOiB2YXIoLS1BZGRFeHRlbnNpb24tb3ZlcmxhcCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0VtcHR5U3RhdGUge1xyXG4gICAgICAgIC8qIFN0b3AgZW1wdHkgc3RhdGUgc2Nyb2xsaW5nICovXHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyB2YXIoLS1BZGRFeHRlbnNpb24tb3ZlcmxhcCkpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUGlubmVkTWVzc2FnZXNDYXJkIHtcclxuICAgIC0tdW5waW4taGVpZ2h0OiA3NnB4O1xyXG5cclxuICAgIC5teF9QaW5uZWRNZXNzYWdlc0NhcmRfd3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgICAgIC5teF9QaW5uZWRNZXNzYWdlc0NhcmRfU2VwYXJhdG9yIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAvKiBPdmVycmlkZSBkZWZhdWx0IGNvbXBvdW5kIHZhbHVlICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1ibG9jazogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Bpbm5lZE1lc3NhZ2VzQ2FyZF93cmFwcGVyX3VucGluX2FsbCB7XHJcbiAgICAgICAgLyogUmVtb3ZlIHRoZSB1bnBpbiBhbGwgYnV0dG9uIGhlaWdodCBhbmQgdGhlIHRvcCBhbmQgYm90dG9tIHBhZGRpbmcgICovXHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS11bnBpbi1oZWlnaHQpIC0gY2FsYyh2YXIoLS1jcGQtc3BhY2UtNHgpICogMikpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9QaW5uZWRNZXNzYWdlc0NhcmRfdW5waW4ge1xyXG4gICAgICAgIC8qIE1ha2UgaXQgZmxvYXQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgdW5waW4gcGFuZWwgKi9cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogdmFyKC0tdW5waW4taGVpZ2h0KTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMjRweCAwIHJnYigyNywgMjksIDM0LCAwLjEpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9ib2R5IHtcclxuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0LCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9vbVN1bW1hcnlDYXJkIHtcclxuICAgIC0tY3BkLXNlcGFyYXRvci1pbnNldDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIC0tY3BkLXNlcGFyYXRvci1zcGFjaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG5cclxuICAgIC5teF9Sb29tU3VtbWFyeUNhcmRfY29udGFpbmVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0yMCB2YXIoLS1jcGQtc3BhY2UtNHgpIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF9yb29tTmFtZSxcclxuICAgIC5teF9Sb29tU3VtbWFyeUNhcmRfYWxpYXMge1xyXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tU3VtbWFyeUNhcmRfYWxpYXMge1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tU3VtbWFyeUNhcmRfdG9waWMge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTJweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuXHJcbiAgICAgICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpY19ib3gge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VtbWFyeUNhcmRfdG9waWNfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVN1bW1hcnlDYXJkX3RvcGljX2VkaXQge1xyXG4gICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpY19jaGV2cm9uIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X1Jvb21TdW1tYXJ5Q2FyZF90b3BpY19jb2xsYXBzZWQge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9Sb29tU3VtbWFyeUNhcmRfdG9waWNfY2hldnJvbiB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21TdW1tYXJ5Q2FyZF9iYWRnZXMge1xyXG4gICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtNHgpIDA7XHJcbn1cclxuXHJcbi5teF9Sb29tU3VtbWFyeUNhcmRfc2VhcmNoIHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIG1pbi13aWR0aDogMDtcclxuXHJcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiB1bnNldDsgLyogb3ZlcnJpZGUgX2NvbW1vbi5wY3NzIHdoaWNoIGluaGliaXRzIHRoaXMgKi9cclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21TdW1tYXJ5Q2FyZF9yb29tTmFtZSB7XHJcbiAgICBtYXJnaW46ICRzcGFjaW5nLTEyIDAgJHNwYWNpbmctNDtcclxufVxyXG5cclxuLm14X1Jvb21TdW1tYXJ5Q2FyZF9ib3R0b21PcHRpb25zIHtcclxuICAgIG1hcmdpbjogMCAwIHZhcigtLWNwZC1zcGFjZS04eCk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxLTIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1RocmVhZFBhbmVsIHtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuXHJcbiAgICAubXhfVGhyZWFkUGFuZWxIZWFkZXIge1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9UaHJlYWRQYW5lbF92ZXJ0aWNhbF9zZXBhcmF0b3Ige1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9UaHJlYWRQYW5lbF9kcm9wZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCAkc3BhY2luZy00IDNweCAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfQXV0b0hpZGVTY3JvbGxiYXIsXHJcbiAgICAubXhfUm9vbVZpZXdfbWVzc2FnZVBhbmVsU3Bpbm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcclxuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIHNldCBnYXAgYmV0d2VlbiB0aGUgdGhyZWFkIHRpbGUgYW5kIHRoZSByaWdodCBib3JkZXIgKi9cclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAubXhfTWVzc2FnZUFjdGlvbkJhciB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IC0zNnB4OyAvKiAycHggYWJvdmUgRXZlbnRUaWxlICovXHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwOyAvKiBTZWUgX0V2ZW50VGlsZS5wY3NzICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIEZvciBzdHlsZSBydWxlcyBvZiBFdmVudFRpbGUgaW4gYSB0aHJlYWQsIHNlZSBfRXZlbnRUaWxlLnBjc3MgKi9cclxuICAgICYubXhfVGhyZWFkVmlldyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgLm14X1RocmVhZFZpZXdfdGltZWxpbmVQYW5lbFdyYXBwZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7IC8qIGRvbid0IGRpc3BsYWNlIHRoZSBjb21wb3NlciAqL1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gICAgICAgICAgICAubXhfRmlsZURyb3BUYXJnZXQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTWVzc2FnZUNvbXBvc2VyX3NlbmRNZXNzYWdlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gTWFrZSB1c2Ugb2YgdGhlIHNwYWNlIGFib3ZlIHRoZSBjb21wb3NlciBidXR0b25zIHRvb1xyXG4gICAgICAgIC5teF9BdXRvY29tcGxldGUge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTQwcHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm14X1RocmVhZFZpZXdfbmFycm93IC5teF9BdXRvY29tcGxldGUge1xyXG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTA4cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVZpZXdfbWVzc2FnZVBhbmVsIHtcclxuICAgICAgICAmLm14X1Jvb21WaWV3X21lc3NhZ2VMaXN0V3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21WaWV3X21lc3NhZ2VMaXN0V3JhcHBlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2cHgpOyAvKiA4cHggLSAycHggKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tVmlld19lbXB0eSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVZpZXdfTWVzc2FnZUxpc3Qge1xyXG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAkc3BhY2luZy04O1xyXG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogJHNwYWNpbmctODtcclxuICAgICAgICBjb250ZW50LXZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZSxcclxuICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeSB7XHJcbiAgICAgICAgLyogQWNjb3VudCBmb3Igc2Nyb2xsYmFyIHdoZW4gaG92ZXJpbmcgKi9cclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgICAgICAgLm14X1RpbWVsaW5lU2VwYXJhdG9yIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2NsYW1wOmhvdmVyIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Jhc2VDYXJkX2Zvb3RlciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGdhcDogNHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDJweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGlua19pbmxpbmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0NvbnRleHR1YWxNZW51X3dyYXBwZXIge1xyXG4gICAgLm14X1RocmVhZFBhbmVsX0hlYWRlcl9GaWx0ZXJPcHRpb25JdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweCAzMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVudC1zZWxlY3RlZC1jb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbYXJpYS1jaGVja2VkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMTRweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW46bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSwgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVGltZWxpbmVDYXJkIHtcclxuICAgIC5teF9UaW1lbGluZUNhcmRfdGltZWxpbmUge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBvZmZzZXQgcGFyZW50IGZvciBqdW1wIHRvIGJvdHRvbSBidXR0b24gKi9cclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTmV3Um9vbUludHJvIHtcclxuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpO1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FdmVudFRpbGVfY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9FdmVudFRpbGUge1xyXG4gICAgICAgIC5teF9UaHJlYWRTdW1tYXJ5IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4O1xyXG5cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZXNzYWdlLWFjdGlvbi1iYXItYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmW2RhdGEtbGF5b3V0PVwiaXJjXCJdLFxyXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgICAgIC0tVGltZWxpbmVDYXJkX1JlYWRSZWNlaXB0R3JvdXAtaW5zZXQtYmxvY2stc3RhcnQ6IC02cHg7XHJcbiAgICAgICAgICAgIC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQ6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XHJcblxyXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfbGluZSxcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZV9saW5lLXBhZGRpbmctYmxvY2spIHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpOyAvKiBlbnN1cmUgdGltZXN0YW1wIGlzIG5vdCBoaWRkZW4gKi9cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5teF9FdmVudFRpbGVfaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8qIEluZm8gZXZlbnRzIHNob3VsZCBoYXZlIHRoZSBzYW1lIHNpemUgYXMgc3RhdGUgZXZlbnRzLCB0aG9zZVxyXG4gICAgICAgICAgICAgICAgICogYXJlIHVzdWFsbHkgd3JhcHBlZCBpbiBhIGdlbmVyaWMgZXZlbnQgbGlzdCBzdW1tYXJ5ICovXHJcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IC0zcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IHZhcigtLVRpbWVsaW5lQ2FyZF9SZWFkUmVjZWlwdEdyb3VwLWluc2V0LWJsb2NrLXN0YXJ0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlLFxyXG4gICAgICAgICAgICAubXhfVGhyZWFkU3VtbWFyeSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpKTsgLyogaW5zdGVhZCBvZiAkbGVmdC1ndXR0ZXIgKi9cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1JlcGx5VGlsZSAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZTogYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUmVhY3Rpb25zUm93IHtcclxuICAgICAgICAgICAgICAgIC8qIFNlZTogdmFyKC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLWVuZCkgZm9yIFJlYWN0aW9uc1JvdyBvbiBfRXZlbnRUaWxlLnBjc3MgKi9cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfVGhyZWFkU3VtbWFyeSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWluKGNhbGMoMTAwJSAtIDM2cHgpLCA2MDBweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0ge1xyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhcixcclxuICAgICAgICAgICAgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xyXG4gICAgICAgICAgICAvKiBSZWFkIHJlY2VpcHQgZ3JvdXAgb24gY29tcGFjdCBtb2Rlcm4gbGF5b3V0ICovXHJcbiAgICAgICAgICAgIC8qIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBteF9UaW1lbGluZUNhcmQgaXMgYSBjaGlsZCBlbGVtZW50IHdyYXBwZWQgYnkgbXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0LCAqL1xyXG4gICAgICAgICAgICAvKiB3aGljaCBzcGVjaWZpZXMgdGhlIGRlZmF1bHQgcG9zaXRpb24gb2YgbXhfUmVhZFJlY2VpcHRHcm91cCBvbiBjb21wYWN0IG1vZGVybiBsYXlvdXQuICovXHJcbiAgICAgICAgICAgIC5teF9NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQgJiAubXhfUmVhZFJlY2VpcHRHcm91cCB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IHZhcigtLVRpbWVsaW5lQ2FyZF9SZWFkUmVjZWlwdEdyb3VwLWluc2V0LWJsb2NrLXN0YXJ0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiBhdXRvOyAvKiBlbmFibGUgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciAqL1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcclxuICAgICAgICAgICAgICAgIC8qIDFweDogYm9yZGVyIHdpZHRoICovXHJcbiAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBjYWxjKHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpICsgMXB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1JlYWN0aW9uc1JvdyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGRpc3BsYXkgb24gaG92ZXIgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogYXV0byA1cHg7XHJcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkge1xyXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0sXHJcbiAgICAgICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgICAgICAgICAubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlfdW5zdHlsZWRMaXN0ID4gLm14X0V2ZW50VGlsZV9pbmZvIC5teF9FdmVudFRpbGVfYXZhdGFyIH4gLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1NZXNzYWdlVGltZXN0YW1wLXdpZHRoKTsgLyogZW5zdXJlIHRpbWVzdGFtcCBpcyBub3QgaGlkZGVuICovXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1dob0lzVHlwaW5nVGlsZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMnB4OyAvKiB1bmRvIHBhZGRpbmcgb24gdGhlIG1lc3NhZ2UgbGlzdCAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9XaG9Jc1R5cGluZ1RpbGVfYXZhdGFycyB7XHJcbiAgICAgICAgZmxleC1iYXNpczogNDhweDsgLyogMTIgKHBhZGRpbmcgb24gbWVzc2FnZSBsaXN0KSArIDM2IChwYWRkaW5nIG9uIGV2ZW50IGxpbmVzKSAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeV91bnN0eWxlZExpc3QsIC8qIFJSIG5leHQgdG8gYSBtZXNzYWdlIG9uIHRoZSBldmVudCBsaXN0IHN1bW1hcnkgKi9cclxuICAgIC5teF9Sb29tVmlld19NZXNzYWdlTGlzdCB7XHJcbiAgICAgICAgLyogUlIgbmV4dCB0byBhIG1lc3NhZ2Ugb24gdGhlIG1lc3NzZ2UgbGlzdCAqL1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cCB7XHJcbiAgICAgICAgICAgICAgICAvKiA2cHg6IHNjcm9sbCBiYXIgd2lkdGggKG1hZ2ljIG51bWJlcikgKi9cclxuICAgICAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1jb2xvbi1zcGFjZS1hZnRlciAqL1xyXG4gICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogY2FsYyhcclxuICAgICAgICAgICAgICAgICAgICAtMSAqIHZhcigtLVJlYWRSZWNlaXB0R3JvdXBfRXZlbnRCdWJibGVUaWxlLXNwYWNpbmctZW5kKSArIHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpICsgNnB4XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIHtcclxuICAgICAgICAgICAgICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcclxuICAgICAgICAgICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAtNHB4OyAvKiBhbGlnbiB3aXRoIFJSIG91dHNpZGUgb2YgaW5mbyB0aWxlICovXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Vc2VySW5mby5teF9CYXNlQ2FyZCB7XHJcbiAgICAvKiBVc2VySW5mbyBoYXMgYSBjaXJjdWxhciBpbWFnZSBhdCB0aGUgdG9wIHNvIGl0IGZpdHMgYmV0d2VlbiB0aGUgYmFjayAmIGNsb3NlIGJ1dHRvbnMgKi9cclxuICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXNtKTtcclxuXHJcbiAgICAubXhfVXNlckluZm9fY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIDAgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICBtYXJnaW46IDAgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuXHJcbiAgICAgICAgJiArIC5teF9Vc2VySW5mb19jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHNlcGFyYXRvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1VzZXJJbmZvX21lbWJlckRldGFpbHNDb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21UaWxlX3RpdGxlQ29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTU0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21UaWxlX2JhZGdlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tVGlsZV90aXRsZSB7XHJcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Vc2VySW5mb19hdmF0YXIge1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTEyeCkgdmFyKC0tY3BkLXNwYWNlLTR4KSAwIHZhcigtLWNwZC1zcGFjZS00eCk7XHJcblxyXG4gICAgICAgIC5teF9Vc2VySW5mb19hdmF0YXJfdHJhbnNpdGlvbiB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzO1xyXG5cclxuICAgICAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplIHNvIHRoYXQgdGhlIGxldHRlciBpc24ndCB0aW55ICovXHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDRyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9CYXNlQXZhdGFyLFxyXG4gICAgICAgICAgICAubXhfQmFzZUF2YXRhciBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctNCAwO1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1VzZXJJbmZvX2hlYWRlciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTh4KTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVXNlckluZm9fcHJvZmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMjBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVXNlckluZm9fcHJvZmlsZV9uYW1lIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMzBweDtcclxuXHJcbiAgICAgICAgICAgIC8qIGxpbWl0IHRvIDIgbGluZXMsIHNob3cgYW4gZWxsaXBzaXMgaWYgaXQgb3ZlcmZsb3dzICovXHJcbiAgICAgICAgICAgIC8qIHRoaXMgbG9va3Mgd2Via2l0IHNwZWNpZmljIGJ1dCBpcyBzdXBwb3J0ZWQgYnkgRmlyZWZveCA2OCsgKi9cclxuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuXHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVXNlckluZm9fcHJvZmlsZV9teGlkIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Vc2VySW5mb19wcm9maWxlU3RhdHVzIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1VzZXJJbmZvX3RpbWV6b25lIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiogT3ZlcnJpZGVzIGZvciB0aGUgY29weSB0byBjbGlwYm9hcmQgYnV0dG9uICoqL1xyXG4gICAgICAgIC5teF9Db3B5YWJsZVRleHQge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0NvcHlhYmxlVGV4dF9jb3B5QnV0dG9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiB1bnNldDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0NvcHlhYmxlVGV4dF9jb3B5QnV0dG9uOjpiZWZvcmUge1xyXG4gICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnktYWxwaGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfVXNlckluZm9fdGltZXpvbmUge1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTF4KSAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9QcmVzZW5jZUxhYmVsIHtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1VzZXJJbmZvX3ZlcmlmaWNhdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcblxyXG4gICAgICAgIC5teF9Vc2VySW5mb192ZXJpZmllZF9iYWRnZSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogNjhweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgLm14X1VzZXJJbmZvX3ZlcmlmaWVkX2ljb24ge1xyXG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9Vc2VySW5mb192ZXJpZmllZF9sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Vc2VySW5mb192ZXJpZmljYXRpb25fdW5hdmFpbGFibGUge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1VzZXJJbmZvX21lbWJlckRldGFpbHMge1xyXG4gICAgICAgIC5teF9Vc2VySW5mb19wcm9maWxlRmllbGQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbjogNnB4IDA7XHJcblxyXG4gICAgICAgICAgICAubXhfVXNlckluZm9fcm9sZURlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvKiB0cnkgdG8gbWFrZSBpdCB0aGUgc2FtZSBoZWlnaHQgYXMgdGhlIGRyb3Bkb3duICovXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDExcHggMCAxMnB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9GaWVsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1VzZXJJbmZvX2ZpZWxkIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVXNlckluZm9fc3RhdHVzTWVzc2FnZSB7XHJcbiAgICAgICAgJHN0YXR1c051bWJlck9mTGluZXM6IDM7XHJcblxyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxcmVtICogJHN0YXR1c051bWJlck9mTGluZXMpO1xyXG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogJHN0YXR1c051bWJlck9mTGluZXM7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQXV0b0hpZGVTY3JvbGxiYXIge1xyXG4gICAgICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfVXNlckluZm9fc21hbGxBdmF0YXIge1xyXG4gICAgICAgIC5teF9Vc2VySW5mb19hdmF0YXIge1xyXG4gICAgICAgICAgICAubXhfVXNlckluZm9fYXZhdGFyX3RyYW5zaXRpb24ge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MnB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9CYXNlQXZhdGFyIHtcclxuICAgICAgICAgICAgICAgIC8qIE92ZXJyaWRlIHRoZSBjYWxjdWxhdGVkIGZvbnQtc2l6ZSBzbyB0aGF0IHRoZSBsZXR0ZXIgaXNuJ3QgdGlueSAqL1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVmVyaWZpY2F0aW9uUGFuZWxfdmVyaWZpZWRfc2VjdGlvbixcclxuLm14X1ZlcmlmaWNhdGlvblBhbmVsX3JlY2lwcm9jYXRlX3NlY3Rpb24ge1xyXG4gICAgLyogY2VudGVyIHRoZSBiaWcgc2hpZWxkIGljb24gKi9cclxuICAgIC5teF9FMkVJY29uIHtcclxuICAgICAgICAvKiBPdmVycmlkZSBnZW5lcmFsIHVzZXIgaW5mbyBtYXJnaW4gKi9cclxuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVXNlckluZm8ubXhfQmFzZUNhcmQge1xyXG4gICAgLm14X1VzZXJJbmZvX2NvbnRhaW5lcjpub3QoLm14X1VzZXJJbmZvX3NlcGFyYXRvcikge1xyXG4gICAgICAgID4gZGl2ID4gcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVmVyaWZpY2F0aW9uUGFuZWxfdmVyaWZ5QnlFbW9qaUJ1dHRvbixcclxuICAgICAgICAubXhfVXNlckluZm9fd2lkZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FbmNyeXB0aW9uSW5mb19zcGlubmVyLFxyXG4gICAgICAgIC5teF9WZXJpZmljYXRpb25TaG93U2FzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3Bpbm5lcixcclxuICAgICAgICAubXhfVmVyaWZpY2F0aW9uU2hvd1NhcyB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF9xckNvZGUge1xyXG4gICAgICAgIHBhZGRpbmc6IDRweCA0cHggMCA0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLyogT3ZlcnJpZGUgZ2VuZXJhbCB1c2VyIGluZm8gbWFyZ2luICovXHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgY2FudmFzIHtcclxuICAgICAgICAgICAgLyogb3ZlcnJpZGUgaGVpZ2h0IGFuZCB3aWR0aCB3aGljaCBhcmUgc2V0IG9uIHRoZSBlbGVtZW50IGRpcmVjdGx5ICovXHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfVmVyaWZpY2F0aW9uUGFuZWxfcmVjaXByb2NhdGVfc2VjdGlvbiB7XHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogU3BlY2lhbCBjYXNlIHN0eWxpbmcgZm9yIEVuY3J5cHRpb25QYW5lbCBpbiBhIE1vZGFsIGRpYWxvZyAqL1xyXG4ubXhfRGlhbG9nLFxyXG4ubXhfQ29tcGxldGVTZWN1cml0eV9ib2R5IHtcclxuICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX3N0YXJ0T3B0aW9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgID4gLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2VfYmV0d2VlblRleHQge1xyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX3N0YXJ0T3B0aW9uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1wYW5lbC1iZy1jb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMxMHB4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgICBjYW52YXMsXHJcbiAgICAgICAgICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF9RUlBoYXNlX25vUVIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1ZlcmlmaWNhdGlvblBhbmVsX1FSUGhhc2VfaGVscFRleHQge1xyXG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIEVuY3J5cHRpb25QYW5lbCB3aGVuIHZlcmlmaWNhdGlvbiBpcyBkb25lICovXHJcbiAgICAubXhfVmVyaWZpY2F0aW9uUGFuZWxfdmVyaWZpZWRfc2VjdGlvbiB7XHJcbiAgICAgICAgLyogcmlnaHQgYWxpZ24gdGhlIFwiR290IGl0XCIgYnV0dG9uICovXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF9yZWNpcHJvY2F0ZV9zZWN0aW9uIHtcclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9WZXJpZmljYXRpb25QYW5lbF9yZWNpcHJvY2F0ZUJ1dHRvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1dpZGdldENhcmQge1xyXG4gICAgLm14X0FwcFRpbGVGdWxsV2lkdGgge1xyXG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BbGlhc1NldHRpbmdzX2xvY2FsQWRkcmVzc2VzIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG5cclxuICAgIC8qIGxpc3Qtc3R5bGUgZG9lc24ndCBkbyBpdCBmb3Igd2Via2l0ICovXHJcbiAgICAmOjotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfUm9vbUxpc3RQYW5lbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4vKiBQTFgtMDEyOiB0b3AgdXNlciBiYXIgaG9zdGluZyB0aGUgYXZhdGFyL1VzZXJNZW51IChQcm9maWxlIC8gU2V0dGluZ3MgLyBTaWduIG91dCkuXHJcbiAgIFRoZSBNaWRuaWdodCByZWRlc2lnbiByZW1vdmVkIHRoZSBTcGFjZXMgcmFpbCB0aGF0IHVzZWQgdG8gaG9zdCB0aGlzLCBzbyB3ZSBtb3VudFxyXG4gICBpdCBhdCB0aGUgdG9wIG9mIHRoZSByb29tIGxpc3QuICovXHJcbi5teF9Sb29tTGlzdFBhbmVsX3VzZXJCYXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6IDU2cHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggNHB4IDEycHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4vKiBUaGUgc2hhcmVkIFVzZXJNZW51IHdyYXBwZXIgbGF5cyB0aGUgYXZhdGFyICsgKG9wdGlvbmFsKSBkaXNwbGF5bmFtZSBpbiBhIHJvdy5cclxuICAgSW5zaWRlIHRoZSByb29tIGxpc3QgaXQgc2hvdWxkIHJlYWQgYXMgYSB0aWR5LCB0YXBwYWJsZSBpZGVudGl0eSBjaGlwLiAqL1xyXG4ubXhfUm9vbUxpc3RQYW5lbF91c2VyQmFyIC5teF9Vc2VyTWVudSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLm14X1Jvb21MaXN0UGFuZWxfdXNlckJhciAubXhfVXNlck1lbnUgPiBkaXY6Zmlyc3QtY2hpbGQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogYXZhdGFyIHRyaWdnZXIgYnV0dG9uIC0+IGhvdmVyIGFmZm9yZGFuY2UgKi9cclxuLm14X1Jvb21MaXN0UGFuZWxfdXNlckJhciAubXhfVXNlck1lbnUgYnV0dG9uOmhvdmVyIHtcclxuICAgIG9wYWNpdHk6IDAuOTI7XHJcbn1cclxuXHJcbi8qIHRoZSBkaXNwbGF5bmFtZSByZW5kZXJlZCB0byB0aGUgcmlnaHQgb2YgdGhlIGF2YXRhciAoZXhwYW5kZWQgbW9kZSkgKi9cclxuLm14X1Jvb21MaXN0UGFuZWxfdXNlckJhciAubXhfVXNlck1lbnUgPiBzcGFuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgY29sb3I6IHZhcigtLXBseC10ZXh0LCAjZmZmZmZmKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgbWF4LXdpZHRoOiAyMDBweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0FwcHNEcmF3ZXIge1xyXG4gICAgLS1taW5XaWR0aDogMjQwcHg7IC8qIFRPRE8gdGhpcyBzaG91bGQgYmUgMzAwcHggYnV0IHRoYXQncyB0b28gbGFyZ2UgKi9cclxuXHJcbiAgICBtYXJnaW46IHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpO1xyXG4gICAgLyogVGhlIGxlZnQgc2lkZSBnYXAgaXMgZnVsbHkgaGFuZGxlZCBieSB0aGlzIG1hcmdpbi4gVG8gcHJvaGliaXQgYmxlZWRpbmcgb24gd2Via2l0IGJyb3dzZXIuICovXHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCkgLyAyKTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7IC8qIE5vIGJvdHRvbSBtYXJnaW4gZm9yIHRoZSBjb3JyZWN0IGdhcCB0byB0aGUgQ2FsbFZpZXcgYmVsb3cuICovXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gICAgLm14X0FwcHNEcmF3ZXJfcmVzaXplciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0FwcHNEcmF3ZXJfcmVzaXplcl9jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC5teF9BcHBzRHJhd2VyX3Jlc2l6ZXJfY29udGFpbmVyX2hhbmRsZSB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbnMtcmVzaXplO1xyXG5cclxuICAgICAgICAgICAgLyogT3ZlcnJpZGUgc3R5bGVzIGZyb20gbGlicmFyeSwgbWFraW5nIHRoZSB3aG9sZSBhcmVhIHRoZSB0YXJnZXQgYXJlYSAqL1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIC8qIFRoaXMgaXMgcG9zaXRpb25lZCBkaXJlY3RseSBiZWxvdyBmcmFtZSAqL1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogNTAlICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIGZyb20gbGlicmFyeSAqL1xyXG5cclxuICAgICAgICAgICAgLyogV2UgdGhlbiByZW5kZXIgdGhlIHBpbGwgaGFuZGxlIGluIGFuIDo6YWZ0ZXIgdG8ga2VlcCBpdCBpbiB0aGUgaGFuZGxlJ3MgKi9cclxuICAgICAgICAgICAgLyogYXJlYSB3aXRob3V0IGJlaW5nIGEgbWFzc2l2ZSBsaW5lIGFjcm9zcyB0aGUgc2NyZWVuICovXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLyogVG9nZXRoZXIsIHRoZXNlIG1ha2UgdGhlIGJhciA2NHB4IHdpZGUgKi9cclxuICAgICAgICAgICAgICAgIC8qIFRoZXNlIGFyZSBhbHNvIG92ZXJyaWRkZW4gZnJvbSB0aGUgbGlicmFyeSAqL1xyXG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAzMnB4KTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDMycHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5teF9BcHBzRHJhd2VyX3Jlc2l6ZXJfY29udGFpbmVyX2hhbmRsZTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUmVzaXplSGFuZGxlLS1ob3Jpem9udGFsOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDNweDtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xyXG5cclxuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4OyAvKiB0byBtYXRjaCB3aWR0aCBvZiB0aGUgb25lcyBvbiByb29tbGlzdCAqL1xyXG4gICAgICAgICAgICB3aWR0aDogNHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfQXBwVGlsZSB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBtaW4td2lkdGg6IHZhcigtLW1pbldpZHRoKTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FwcHNEcmF3ZXItLW1heGltaXNlZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY29udGFpbmVyLWdhcC13aWR0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9BcHBzRHJhd2VyLS1yZXNpemluZyAubXhfQXBwVGlsZV9wZXJzaXN0ZWRXcmFwcGVyIHtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQXBwc0RyYXdlci0tMmFwcHMgLm14X0FwcFRpbGUge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLW1pbldpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubXhfQXBwc0RyYXdlci0tM2FwcHMgLm14X0FwcFRpbGUge1xyXG4gICAgICAgIHdpZHRoOiAzMyU7XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHZhcigtLW1pbldpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0FwcHNDb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuXHJcbiAgICAubXhfQXBwVGlsZTpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tY29udGFpbmVyLWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAwIDAgMTBweDtcclxuICAgIH1cclxuICAgIC5teF9BcHBUaWxlOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiB2YXIoLS1jb250YWluZXItYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMTBweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9SZXNpemVIYW5kbGUtLWhvcml6b250YWwge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9BcHBUaWxlIHtcclxuICAgIGJvcmRlcjogdmFyKC0tY29udGFpbmVyLWJvcmRlci13aWR0aCkgc29saWQgJHdpZGdldC1tZW51LWJhci1iZy1jb2xvcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aWRnZXQtbWVudS1iYXItYmctY29sb3I7XHJcbn1cclxuXHJcbi5teF9BcHBUaWxlRnVsbFdpZHRoIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IC8qIHRvIG92ZXJyaWRlIHRoZSBpbmxpbmUgc3R5bGUgc2V0IGJ5IHRoZSByZXNpemVyICovXHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiB2YXIoLS1jb250YWluZXItYm9yZGVyLXdpZHRoKSBzb2xpZCAkd2lkZ2V0LW1lbnUtYmFyLWJnLWNvbG9yO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2lkZ2V0LW1lbnUtYmFyLWJnLWNvbG9yO1xyXG59XHJcblxyXG4ubXhfQXBwVGlsZV9taW5pIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ubXhfQXBwVGlsZSAubXhfQXBwVGlsZV9wZXJzaXN0ZWRXcmFwcGVyLFxyXG4ubXhfQXBwVGlsZUZ1bGxXaWR0aCAubXhfQXBwVGlsZV9wZXJzaXN0ZWRXcmFwcGVyLFxyXG4ubXhfQXBwVGlsZV9taW5pIC5teF9BcHBUaWxlX3BlcnNpc3RlZFdyYXBwZXIge1xyXG4gICAgZmxleDogMTtcclxufVxyXG5cclxuLm14X0FwcFRpbGVfcGVyc2lzdGVkV3JhcHBlciBkaXYge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9BcHBUaWxlTWVudUJhciB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2lkZ2V0LW1lbnUtYmFyLWJnLWNvbG9yO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDZweDtcclxuXHJcbiAgICAubXhfQXBwVGlsZU1lbnVCYXJfdGl0bGUge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbiAgICAgICAgLm14X1dpZGdldEF2YXRhciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDlweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9BcHBUaWxlTWVudUJhcl93aWRnZXRzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5teF9BcHBUaWxlTWVudUJhcl93aWRnZXRzX2J1dHRvbiB7XHJcbiAgICAgICAgICAgIC0tc2l6ZTogMjRweDsgLyogU2l6ZSBvZiB0aGUgYnV0dG9uLiBJdHMgaGVpZ2h0IGFuZCB3aWR0aCB2YWx1ZXMgc2hvdWxkIGJlIHNhbWUgKi9cclxuXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA0cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcclxuICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWFjdGlvbnM7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfSWNvbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBSdWxlcyBhZGRlZCB0byB0aGlzIHNlbGVjdG9yIHN0eWxlIGFwcFRpbGVCb2R5IGdlbmVyYWxseSAqL1xyXG4ubXhfQXBwVGlsZUJvZHkge1xyXG4gICAgLyogQXBwbHkgdG8gZXZlcnkgdmFyaWFudCBvZiBhcHBUaWxlQm9keSAqL1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuICAgIC8qIGNvbnN0IGxvYWRpbmdFbGVtZW50ICovXHJcbiAgICAvKiBOb3RlIHRoZSBsb2FkaW5nIHNwaW5uZXIgYW5kIHRoZSBtZXNzYWdlIG5leHQgdG8gaXQgYXJlIG5vdCBhbHdheXMgaW5jbHVkZWQgaW4gbXhfQXBwVGlsZUJvZHktLWxvYWRpbmcgKi9cclxuICAgIC5teF9BcHBUaWxlQm9keV9mYWRlSW5TcGlubmVyIHtcclxuICAgICAgICAvKiBwbGFjZSBzcGlubmVyIGFuZCB0aGUgbWVzc2FnZSBhdCB0aGUgY2VudGVyIG9mIG14X0FwcFRpbGVCb2R5ICovXHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgLyogbWVzc2FnZSBuZXh0IHRvIHRoZSBzcGlubmVyICovXHJcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYmFja3dhcmRzO1xyXG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMjAwbXM7XHJcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiA1MDBtcztcclxuICAgICAgICBhbmltYXRpb24tbmFtZTogbXhfQXBwVGlsZUJvZHlfZmFkZUluU3Bpbm5lckFuaW1hdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FwcFRpbGVCb2R5LS1sYXJnZSxcclxuICAgICYubXhfQXBwVGlsZUJvZHktLW1pbmkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfQXBwVGlsZUJvZHktLWxhcmdlIHtcclxuICAgICAgICAtLUFwcFRpbGVCb2R5LWhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdpZGdldC1ib2R5LWJnLWNvbG9yO1xyXG5cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FwcFRpbGVCb2R5LS1sb2FkaW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAvKiBtYXRjaCBiZyBvZiBib3JkZXIgc28gdGhhdCB0aGUgY3V0IGNvcm5lcnMgaGF2ZSB0aGUgcmlnaHQgZmlsbCAqL1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aWRnZXQtYm9keS1iZy1jb2xvciAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0FwcFRpbGVCb2R5LS1jYWxsIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICB9XHJcbiAgICAmLm14X0FwcFRpbGVCb2R5LS1jYWxsLm14X0FwcFRpbGVCb2R5LS1taW5pIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIGFwcFRpbGVCb2R5IGlzIGVtYmVkZGVkIHRvIFBlcnNpc3RlZEVsZW1lbnQgb3V0c2lkZSBvZiBteF9BcHBUaWxlLFxyXG4gICBzbyBydWxlcyB0byBzdHlsZSBhcHBUaWxlQm9keSBnZW5lcmFsbHkgc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCBoZXJlLiAqL1xyXG4ubXhfQXBwVGlsZSAubXhfQXBwVGlsZUJvZHktLWxhcmdlLFxyXG4ubXhfQXBwVGlsZUZ1bGxXaWR0aCAubXhfQXBwVGlsZUJvZHktLWxhcmdlLFxyXG4ubXhfQXBwVGlsZV9taW5pIC5teF9BcHBUaWxlQm9keS0tbWluaSB7XHJcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG14X0FwcFRpbGVCb2R5X2ZhZGVJblNwaW5uZXJBbmltYXRpb24ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbiIsIi5teF9BdXRvY29tcGxldGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgei1pbmRleDogMTAwMTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcclxuICAgIG92ZXJmbG93OiBjbGlwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBib3gtc2hhZG93OiAwcHggLTE2cHggMzJweCAkY29tcG9zZXItc2hhZG93LWNvbG9yO1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlX1Byb3ZpZGVyU2VjdGlvbiB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnktaGFpcmxpbmUtY29sb3I7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyogYSBcImJsb2NrXCIgY29tcGxldGlvbiB0YWtlcyB1cCBhIHdob2xlIGxpbmUgKi9cclxuLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uX2Jsb2NrIHtcclxuICAgIG1pbi1oZWlnaHQ6IDM0cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgcGFkZGluZzogMCAxMnB4O1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9ibG9jayAqIHtcclxuICAgIG1hcmdpbjogMCAzcHg7XHJcbn1cclxuXHJcbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9waWxsIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycmVtO1xyXG4gICAgaGVpZ2h0OiAkZm9udC0zNHB4O1xyXG4gICAgcGFkZGluZzogMC40cmVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fcGlsbCA+ICoge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjNyZW07XHJcbn1cclxuXHJcbi8qIHN0eWxpbmcgZm9yIGNvbW1vbiBjb21wbGV0aW9uIGVsZW1lbnRzICovXHJcbi5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9zdWJ0aXRsZSB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fZGVzY3JpcHRpb24ge1xyXG4gICAgY29sb3I6IGdyYXk7XHJcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fY29udGFpbmVyX3BpbGwge1xyXG4gICAgbWFyZ2luOiAxMnB4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcblxyXG5AY29udGFpbmVyIHJvb212aWV3IChoZWlnaHQgPj0gMHB4KSB7XHJcbiAgICAubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fY29udGFpbmVyX3BpbGwge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDQwY3FoO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fY29udGFpbmVyX3RydW5jYXRlIHtcclxuICAgIC5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl90aXRsZSxcclxuICAgIC5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9zdWJ0aXRsZSxcclxuICAgIC5teF9BdXRvY29tcGxldGVfQ29tcGxldGlvbl9kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgLyogRWxsaXBzaXMgZm9yIGxvbmcgbmFtZXMvc3VidGl0bGVzL2Rlc2NyaXB0aW9ucyAqL1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIH1cclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZV9Db21wbGV0aW9uLnNlbGVjdGVkLFxyXG4ubXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb246aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJHNlbGVjdGVkLWNvbG9yO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuLm14X0F1dG9jb21wbGV0ZV9wcm92aWRlcl9uYW1lIHtcclxuICAgIG1hcmdpbjogMTJweDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIG9wYWNpdHk6IDAuNDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfQXV4UGFuZWwge1xyXG4gICAgbWluLXdpZHRoOiAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMHB4IGF1dG87XHJcblxyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyIHtcclxuICAgIC8qIFRoZXNlIGFyZSBzZXQgaW4gSmF2YXNjcmlwdCAqL1xyXG4gICAgLS1hdmF0YXItbGV0dGVyOiBcIlwiO1xyXG4gICAgLS1hdmF0YXItYmFja2dyb3VuZDogdW5zZXQ7XHJcbiAgICAtLWF2YXRhci1jb2xvcjogdW5zZXQ7XHJcbiAgICAtLXBsYWNlaG9sZGVyOiBcIlwiO1xyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXRFbXB0eSA+IDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiB2YXIoLS1wbGFjZWhvbGRlcik7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIEBrZXlmcmFtZXMgdmlzdWFsYmVsbCB7XHJcbiAgICAgICAgZnJvbSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2aXN1YWwtYmVsbC1iZy1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdG8ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dF9lcnJvciB7XHJcbiAgICAgICAgYW5pbWF0aW9uOiAwLjJzIHZpc3VhbGJlbGw7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0IHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cclxuICAgICAgICAvKiBGb3JjZSBjYXJldCBub2RlcyB0byBiZSBzZWxlY3RlZCBpbiBmdWxsIHNvIHRoYXQgdGhleSBjYW4gYmUgKi9cclxuICAgICAgICAvKiBuYXZpZ2F0ZWQgdGhyb3VnaCBpbiBhIHNpbmdsZSBrZXlwcmVzcyAqL1xyXG4gICAgICAgIC5jYXJldE5vZGUge1xyXG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogYWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dF9zaG91bGRTaG93UGlsbEF2YXRhciB7XHJcbiAgICAgICAgICAgIHNwYW4ubXhfVXNlclBpbGwsXHJcbiAgICAgICAgICAgIHNwYW4ubXhfUm9vbVBpbGwsXHJcbiAgICAgICAgICAgIHNwYW4ubXhfU3BhY2VQaWxsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBhbGw7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHVuc2V0OyAvKiBXZSBkb24ndCB3YW50IGluZGljYXRlIGNsaWNrYWJpbGl0eSAqL1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAvKiBXZSBkb24ndCB3YW50IGluZGljYXRlIGNsaWNrYWJpbGl0eSB8IFRvIG92ZXJyaWRlIHRoZSBvdmVycmlkaW5nIG9mIC5tYXJrZG93bi1ib2R5ICovXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBpbGwtYmctY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvKiBhdmF0YXIgcHN1ZWRvIGVsZW1lbnQgKi9cclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHZhcigtLWF2YXRhci1sZXR0ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9udC0xNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogJGZvbnQtMTZweDsgLyogZW5zdXJlIHRoZSBhdmF0YXIgaXMgbm90IGNvbXByZXNzZWQgKi9cclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb250LTE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDAuMjRyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXZhdGFyLWJhY2tncm91bmQpLCAkYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYXZhdGFyLWNvbG9yLCAkYXZhdGFyLWluaXRpYWwtY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZm9udC0xNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb250LTE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMC00cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXRfZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAvKiBJZ25vcmUgYWxsIHVzZXIgaW5wdXQgdG8gYXZvaWQgYWNjaWRlbnRhbGx5IHRyaWdnZXJpbmcgdGhlIGNvbXBvc2VyICovXHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfQXV0b0NvbXBsZXRlV3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgIH1cclxufVxyXG4iLCIubXhfSm9pblJ1bGVEaWFsb2cge1xyXG4gICAgLm14X0pvaW5SdWxlRGlhbG9nQnV0dG9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBjb2x1bW4tZ2FwOiA1cHg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0UyRUljb24ge1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICBtYXJnaW46IDAgOXB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FMkVJY29uLm14X0UyRUljb25faW5saW5lIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0UyRUljb25WaWV3IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9FMkVJY29uVmlld193YXJuaW5nIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcclxufVxyXG5cclxuLm14X0UyRUljb25WaWV3X3ZlcmlmaWVkIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9FZGl0TWVzc2FnZUNvbXBvc2VyIHtcclxuICAgIC0tRWRpdE1lc3NhZ2VDb21wb3Nlci1wYWRkaW5nLWlubGluZTogM3B4O1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvKiBkaXNhYmxlIG92ZXJmbG93ICovXHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGdhcDogNXB4O1xyXG4gICAgcGFkZGluZzogM3B4IHZhcigtLUVkaXRNZXNzYWdlQ29tcG9zZXItcGFkZGluZy1pbmxpbmUpO1xyXG5cclxuICAgIC5teF9CYXNpY01lc3NhZ2VDb21wb3Nlcl9pbnB1dCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4ICRwcmltYXJ5LWhhaXJsaW5lLWNvbG9yO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9FZGl0TWVzc2FnZUNvbXBvc2VyX2J1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcC1yZXZlcnNlOyAvKiBkaXNwbGF5IFwiU2F2ZVwiIG92ZXIgXCJDYW5jZWxcIiAqL1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogYXV0bztcclxuXHJcbiAgICAgICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMHB4OyAvKiBtYWdpYyBudW1iZXIgdG8gYWxpZ24gdGhlIGVkZ2Ugb2YgdGhlIGJ1dHRvbiB3aXRoIHRoZSBpbnB1dCBhcmVhICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRW1vamlCdXR0b24ge1xyXG4gICAgQG1peGluIGNvbXBvc2VyQnV0dG9uIDUwJSwgdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KSwgdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xyXG59XHJcblxyXG4ubXhfRW1vamlCdXR0b25faGlnaGxpZ2h0IHtcclxuICAgIEBtaXhpbiBjb21wb3NlckJ1dHRvbkhpZ2hMaWdodDtcclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl93eXNpd3lnIHtcclxuICAgIC5teF9FbW9qaUJ1dHRvbiB7XHJcbiAgICAgICAgQG1peGluIGNvbXBvc2VyQnV0dG9uIDVweCwgJHRlcnRpYXJ5LWNvbnRlbnQsICRwYW5lbHM7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tVmlld19ib2R5W2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcclxuICAgIC5teF9Sb29tVmlld190aW1lbGluZSxcclxuICAgIC5teF9Sb29tVmlld19zdGF0dXNBcmVhLFxyXG4gICAgLm14X01lc3NhZ2VDb21wb3NlciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0sXHJcbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAtLWF2YXRhclNpemU6IDMycHg7XHJcbiAgICAtLWd1dHRlclNpemU6IDExcHg7XHJcbiAgICAtLWNvcm5lclJhZGl1czogMTJweDtcclxuICAgIC0tbWF4V2lkdGg6IDcwJTtcclxuXHJcbiAgICAvKiBGb3IgYm90aCBldmVudCB0aWxlIGFuZCBldmVudCBsaXN0IHN1bW1hcnkgKi9cclxuICAgIC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLXN0YXJ0OiA0OXB4O1xyXG4gICAgLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtZW5kOiA2MHB4O1xyXG5cclxuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLUV2ZW50VGlsZV9idWJibGUtbWFyZ2luLWlubGluZS1zdGFydCk7XHJcbiAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLWVuZCk7XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1zdGFydDogLTlweDtcclxuICAgIC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtZW5kOiAtMTJweDtcclxuICAgIC0tRXZlbnRUaWxlX2J1YmJsZV9nYXAtaW5saW5lOiA1cHg7XHJcblxyXG4gICAgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xyXG4gICAgICAgIHdpZHRoOiB1bnNldDsgLyogQ2FuY2VsIHRoZSBkZWZhdWx0IHdpZHRoICovXHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9UaHJlYWRTdW1tYXJ5IHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoLm14X0V2ZW50VGlsZV9pbmZvKSAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJGJhY2tncm91bmQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDZweDtcclxuICAgICAgICB6LWluZGV4OiA5O1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAkYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0V2ZW50VGlsZV9oaWdobGlnaHQge1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZXZlbnQtaGlnaGxpZ2h0LWJnLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbnQtaGlnaGxpZ2h0LWJnLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGV2ZW50YnViYmxlLWJnLWhvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBGb3IgcmVwbGllcyAqL1xyXG4gICAgLm14X0V2ZW50VGlsZSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IC0xcHg7XHJcbiAgICAgICAgYm90dG9tOiAtMXB4O1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1FdmVudFRpbGVfYnViYmxlLW1hcmdpbi1pbmxpbmUtc3RhcnQpKTtcclxuICAgICAgICByaWdodDogY2FsYygtMSAqIHZhcigtLUV2ZW50VGlsZV9idWJibGUtbWFyZ2luLWlubGluZS1lbmQpKTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICYubXhfRXZlbnRUaWxlX3NlbGVjdGVkIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZXZlbnRidWJibGUtYmctaG92ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJGV2ZW50YnViYmxlLWJnLWhvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSxcclxuICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgLS1FdmVudEJ1YmJsZVRpbGVfbGluZS1tYXgtd2lkdGg6IDcwJTtcclxuXHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tRXZlbnRCdWJibGVUaWxlX2xpbmUtbWF4LXdpZHRoKTsgLyogQWxpZ24gbWVzc2FnZSBidWJibGUgYW5kIGRpc3BsYXlOYW1lICovXHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7IC8qIGZpeGVkIGxpbmUgaGVpZ2h0IHRvIHByZXZlbnQgZW1vamkgZnJvbSBiZWluZyB0YWxsZXIgdGhhbiB0ZXh0ICovXHJcbiAgICB9XHJcblxyXG4gICAgLyogb3RoZXIgdXNlcnMgcHJvZmlsZSBvbiBidWJibGUgbGF5b3V0ICovXHJcbiAgICA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogZGlzcGxheSBteGlkICovXHJcblxyXG4gICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9kaXNwbGF5TmFtZSB7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIHRydW5jYXRlIGxvbmcgZGlzcGxheSBuYW1lcyAqL1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogNXB4O1xyXG5cclxuICAgICAgICAgICAgLyogRm9yIFJUTCBkaXNwbGF5TmFtZSAqL1xyXG4gICAgICAgICAgICB1bmljb2RlLWJpZGk6IGVtYmVkO1xyXG4gICAgICAgICAgICBkaXJlY3Rpb246IGx0cjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9teGlkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDsgLyogQWxpZ24gbXhpZCB3aXRoIHRydW5jYXRlZCBkaXNwbGF5TmFtZVxyXG4gICAgICAgICAgICAgICAgaW5zaWRlIG14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBpbnNpZGUgbXhfUm9vbVZpZXdfTWVzc2FnZUxpc3QsIG91dHNpZGUgb2YgbXhfUmVwbHlUaWxlICovXHJcbiAgICAvKiAob24gdGhlIG1haW4gcGFuZWwgYW5kIHRoZSBjaGF0IHBhbmVsIHdpdGggYSBtYXhpbWl6ZWQgd2lkZ2V0KSAqL1xyXG4gICAgPiAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUsXHJcbiAgICAvKiBpbnNpZGUgYSB0aHJlYWQsIG91dHNpZGUgb2YgbXhfUmVwbHlUaWxlICovXHJcbiAgICAubXhfRXZlbnRUaWxlX3NlbmRlckRldGFpbHMgPiAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgbGVmdDogMnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZUFjdGlvbkJhciB7XHJcbiAgICAgICAgdG9wOiAtMjhweDtcclxuICAgICAgICB6LWluZGV4OiA5OyAvKiBhYm92ZSB0aGUgYXZhdGFyICovXHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lZGlhQm9keSB7XHJcbiAgICAgICAgLyogbGVhdmUgc3BhY2UgZm9yIHRoZSB0aW1lc3RhbXAgKi9cclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ltYWdlQm9keSB7XHJcbiAgICAgICAgLm14X0ltYWdlQm9keV9jb250YWluZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYygxLjhyZW0gKyB2YXIoLS1ndXR0ZXJTaXplKSArIHZhcigtLWd1dHRlclNpemUpKTtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiBjYWxjKDEuOHJlbSArIHZhcigtLWd1dHRlclNpemUpICsgdmFyKC0tZ3V0dGVyU2l6ZSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTGVnYWN5Q2FsbEV2ZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcclxuXHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9mb290ZXIge1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTEtNXgpIDA7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZTogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtc3RhcnQpIHZhcigtLUV2ZW50VGlsZV9idWJibGVfbGluZS1tYXJnaW4taW5saW5lLWVuZCk7XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLXNlbGY9XCJmYWxzZVwiXSB7XHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XHJcblxyXG4gICAgICAgICAgICAubXhfSW1hZ2VCb2R5IC5teF9JbWFnZUJvZHlfY29udGFpbmVyLFxyXG4gICAgICAgICAgICAubXhfSW1hZ2VCb2R5OjpiZWZvcmUsXHJcbiAgICAgICAgICAgIC5teF9NVmlkZW9Cb2R5IC5teF9NVmlkZW9Cb2R5X2NvbnRhaW5lcixcclxuICAgICAgICAgICAgLm14X01lZGlhQm9keSxcclxuICAgICAgICAgICAgLm14X01Mb2NhdGlvbkJvZHlfbWFwLFxyXG4gICAgICAgICAgICAubXhfTUJlYWNvbkJvZHkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cykgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICBsZWZ0OiAtMzZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcclxuICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKFxyXG4gICAgICAgICAgICAgICAgMTAwJSAtIHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItc2l6ZS1idXR0b24pIC0gMiAqIHZhcigtLU1lc3NhZ2VBY3Rpb25CYXItc2l6ZS1tYXJnaW4pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBpbml0aWFsOyAvKiBSZXNldCB0aGUgZGVmYXVsdCB2YWx1ZSAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RocmVhZFN1bW1hcnkge1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tZ3V0dGVyU2l6ZSkpO1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9SZWFjdGlvbnNSb3csXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9mb290ZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAtLWJhY2tncm91bmRDb2xvcjogJGV2ZW50YnViYmxlLW90aGVycy1iZztcclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtc2VsZj1cInRydWVcIl0ge1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XHJcblxyXG4gICAgICAgICAgICAubXhfSW1hZ2VCb2R5IC5teF9JbWFnZUJvZHlfY29udGFpbmVyLFxyXG4gICAgICAgICAgICAubXhfSW1hZ2VCb2R5OjpiZWZvcmUsXHJcbiAgICAgICAgICAgIC5teF9NVmlkZW9Cb2R5IC5teF9NVmlkZW9Cb2R5X2NvbnRhaW5lcixcclxuICAgICAgICAgICAgLm14X01lZGlhQm9keSxcclxuICAgICAgICAgICAgLm14X01Mb2NhdGlvbkJvZHlfbWFwLFxyXG4gICAgICAgICAgICAubXhfTUJlYWNvbkJvZHkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX3N0aWNrZXIge1xyXG4gICAgICAgICAgICAvKiBhbGlnbiB0aW1lc3RhbXAgd2l0aCB0aG9zZSBpbnNpZGUgYnViYmxlcyAqL1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVGhyZWFkU3VtbWFyeSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKC0xICogdmFyKC0tZ3V0dGVyU2l6ZSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9SZXBseVRpbGUgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfZm9vdGVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9SZWFjdGlvbnNSb3cge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgICAgICAgPiA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogLTE7IC8qIE1vdmluZyB0aGUgXCJhZGQgcmVhY3Rpb24gYnV0dG9uXCIgYmVmb3JlIHRoZSByZWFjdGlvbnMgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICB0b3A6IC0xOXB4OyAvKiBoZWlnaHQgb2YgdGhlIHNlbmRlciBibG9jayAqL1xyXG4gICAgICAgICAgICByaWdodDogLTM4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTWVkaWFCb2R5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGV2ZW50YnViYmxlLXNlbGYtYmc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTWVzc2FnZUFjdGlvbkJhciB7XHJcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAtLWJhY2tncm91bmRDb2xvcjogJGV2ZW50YnViYmxlLXNlbGYtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDVweCB2YXIoLS1FdmVudFRpbGVfYnViYmxlX2dhcC1pbmxpbmUpO1xyXG4gICAgICAgIG1hcmdpbi1ibG9jazogMDtcclxuICAgICAgICBtYXJnaW4taW5saW5lOiB2YXIoLS1FdmVudFRpbGVfYnViYmxlX2xpbmUtbWFyZ2luLWlubGluZS1zdGFydCkgdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtZW5kKTtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1jb3JuZXJSYWRpdXMpO1xyXG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1jb3JuZXJSYWRpdXMpO1xyXG5cclxuICAgICAgICAvKiB0aGUgc2VsZWN0b3IgaGVyZSBpcyBxdWl0ZSB3ZWlyZCBiZWNhdXNlIHRpbWVzdGFtcHMgY2FuIGFwcGVhciBsaW5rZWQgJiB1bmxpbmtlZCBhbmQgaW4gZGlmZmVyZW50IHBsYWNlcyAqL1xyXG4gICAgICAgIC8qIGluIHRoZSBET00gZGVwZW5kaW5nIG9uIHRoZSBzcGVjaWZpYyByZW5kZXJpbmcgY29udGV4dCAqL1xyXG4gICAgICAgID4gYSwgLyogbGlua2VkIHRpbWVzdGFtcCBlbGVtZW50ICovXHJcbiAgICAgICAgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcGFkZGluZzogNHB4IDhweDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgei1pbmRleDogMzsgLyogYWJvdmUgbWVkaWEgYW5kIGxvY2F0aW9uIHNoYXJlIG1hcHMgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX21lZGlhTGluZSB7XHJcbiAgICAgICAgICAgIC8qIFRPRE86IFVzZSBhIGNvbW1vbiBjbGFzcyBuYW1lIGluc3RlYWQgKi9cclxuICAgICAgICAgICAgLm14X01GaWxlQm9keSxcclxuICAgICAgICAgICAgLm14X01BdWRpb0JvZHkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiBhdm9pZCBvdmVyZmxvdyAqL1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfTVZvaWNlTWVzc2FnZUJvZHkge1xyXG4gICAgICAgICAgICAgICAgLyogYWxsb3cgdGhlIGV2ZW50IHRvIGJlIGNvbGxhcHNlZCwgdGhpcyBjYXVzZXMgdGhlIHdhdmVmb3JtIHRvIGdldCBjcm9wcGVkICovXHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8qIHdlIHB1dCB0aGUgdGltZXN0YW1wcyBmb3IgbWVkaWEgKG90aGVyIHRoYW4gc3RpY2tlcnMpIGF0b3AgdGhlIG1lZGlhICovXHJcbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX2ltYWdlIHtcclxuICAgICAgICAgICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1NQm9keS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICAvKiBIYXJkY29kZWQgY29sb3VycyBiZWNhdXNlIGl0J3MgdGhlIHNhbWUgb24gYWxsIHRoZW1lcyAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAwLCAwLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweCA0cHggMHB4IDRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfc3RpY2tlciB7XHJcbiAgICAgICAgICAgID4gYSwgLyogbGlua2VkIHRpbWVzdGFtcCBlbGVtZW50ICovXHJcbiAgICAgICAgICAgIC5teF9NZXNzYWdlQWN0aW9uQmFyICsgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xyXG4gICAgICAgICAgICAgICAgLyogcG9zaXRpb24gdGltZXN0YW1wcyBmb3Igc3RpY2tlcnMgdG8gdGhlIHJpZ2h0IG9mIHRoZSB1bi1idWJibGVkIHN0aWNrZXIgKi9cclxuICAgICAgICAgICAgICAgIHJpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9NU3RpY2tlckJvZHlfd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfSW1hZ2VCb2R5IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBub2luc3BlY3Rpb24gQ3NzUmVwbGFjZVdpdGhTaG9ydGhhbmRTYWZlbHkgKi9cclxuICAgICAgICAubXhfSW1hZ2VCb2R5IC5teF9JbWFnZUJvZHlfY29udGFpbmVyLFxyXG4gICAgICAgIC5teF9NVmlkZW9Cb2R5IC5teF9NVmlkZW9Cb2R5X2NvbnRhaW5lcixcclxuICAgICAgICAubXhfTWVkaWFCb2R5IHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1jb3JuZXJSYWRpdXMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7IC8qIGtlZXAgaXQgYXQgZnVsbCBzaXplICovXHJcblxyXG4gICAgICAgICAgICAvKiBLZWVwIGhlaWdodCBlcXVhbCB0byB0ZXh0IGZvciBzaGllbGQgYWxpZ25tZW50LCBhZGRpdGlvbmFsIDJweCBiZWNhdXNlIG9mIDFweCBwYWRkaW5nIG9uIHRleHQgKi9cclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCRmb250LTE4cHggKyAycHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCgubXhfRXZlbnRUaWxlX25vQnViYmxlKTpub3QoLm14X0V2ZW50VGlsZV9hbGlnbmVkQmV0d2VlbkJ1YmJsZXMpXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lOm5vdCgubXhfRXZlbnRUaWxlX21lZGlhTGluZSkge1xyXG4gICAgICAgIC8qIG1ha2UgdGhlIHRvcCBhbmQgYm90dG9tIHBhZGRpbmcgMXB4IHNtYWxsZXIgc28gdGhhdCB3ZSBjYW4gcGFkXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfY29udGVudCBieSAxcHggKi9cclxuICAgICAgICAvKiB0byBhdm9pZCBhbnRpLXphbGdvIGN1dHRpbmcgb2ZmIG91ciBsYXJnZXIgdGhhbiB0ZXh0IGVtb2ppcy4gKi9cclxuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWd1dHRlclNpemUpIC0gMXB4KTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyAvKiBzcGFjZSBmb3IgdGhlIHRpbWVzdGFtcCAqL1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmRDb2xvcik7XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfY29udGVudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9FdmVudFRpbGVfY29udGludWF0aW9uW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuXHJcbiAgICAgICAgLm14X0ltYWdlQm9keSAubXhfSW1hZ2VCb2R5X2NvbnRhaW5lcixcclxuICAgICAgICAubXhfTVZpZGVvQm9keSAubXhfTVZpZGVvQm9keV9jb250YWluZXIsXHJcbiAgICAgICAgLm14X0ltYWdlQm9keTo6YmVmb3JlLFxyXG4gICAgICAgIC5teF9NZWRpYUJvZHksXHJcbiAgICAgICAgLm14X01Mb2NhdGlvbkJvZHlfbWFwLFxyXG4gICAgICAgIC5teF9NQmVhY29uQm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5teF9FdmVudFRpbGVfbGFzdEluU2VjdGlvbltkYXRhLXNlbGY9XCJmYWxzZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XHJcblxyXG4gICAgICAgIC5teF9JbWFnZUJvZHkgLm14X0ltYWdlQm9keV9jb250YWluZXIsXHJcbiAgICAgICAgLm14X01WaWRlb0JvZHkgLm14X01WaWRlb0JvZHlfY29udGFpbmVyLFxyXG4gICAgICAgIC5teF9JbWFnZUJvZHk6OmJlZm9yZSxcclxuICAgICAgICAubXhfTWVkaWFCb2R5LFxyXG4gICAgICAgIC5teF9NTG9jYXRpb25Cb2R5X21hcCxcclxuICAgICAgICAubXhfTUJlYWNvbkJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1jb3JuZXJSYWRpdXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb25bZGF0YS1zZWxmPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG5cclxuICAgICAgICAubXhfSW1hZ2VCb2R5IC5teF9JbWFnZUJvZHlfY29udGFpbmVyLFxyXG4gICAgICAgIC5teF9NVmlkZW9Cb2R5IC5teF9NVmlkZW9Cb2R5X2NvbnRhaW5lcixcclxuICAgICAgICAubXhfSW1hZ2VCb2R5OjpiZWZvcmUsXHJcbiAgICAgICAgLm14X01lZGlhQm9keSxcclxuICAgICAgICAubXhfTUxvY2F0aW9uQm9keV9tYXAsXHJcbiAgICAgICAgLm14X01CZWFjb25Cb2R5IHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5teF9FdmVudFRpbGVfbGFzdEluU2VjdGlvbltkYXRhLXNlbGY9XCJ0cnVlXCJdIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWNvcm5lclJhZGl1cyk7XHJcblxyXG4gICAgICAgIC5teF9JbWFnZUJvZHkgLm14X0ltYWdlQm9keV9jb250YWluZXIsXHJcbiAgICAgICAgLm14X01WaWRlb0JvZHkgLm14X01WaWRlb0JvZHlfY29udGFpbmVyLFxyXG4gICAgICAgIC5teF9JbWFnZUJvZHk6OmJlZm9yZSxcclxuICAgICAgICAubXhfTWVkaWFCb2R5LFxyXG4gICAgICAgIC5teF9NTG9jYXRpb25Cb2R5X21hcCxcclxuICAgICAgICAubXhfTUJlYWNvbkJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tY29ybmVyUmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9FdmVudFRpbGVfbm9TZW5kZXIge1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgdG9wOiAtMTlweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWhhcy1yZXBseT1cInRydWVcIl0ge1xyXG4gICAgICAgID4gLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9SZXBseUNoYWluIHtcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICA+IGEsIC8qIGxpbmtlZCB0aW1lc3RhbXAgZWxlbWVudCAqL1xyXG4gICAgICAgICAgICAgICAgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBnYXA6IHZhcigtLWd1dHRlclNpemUpO1xyXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01Qb2xsQm9keSB7XHJcbiAgICAgICAgd2lkdGg6IDU1MHB4OyAvKiB0byBwcmV2ZW50IHRpbWVzdGFtcCBvdmVybGFwcGluZyBzdW1tYXJ5IHRleHQgKi9cclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIHByZXZlbnQgb3ZlcmZsb3dpbmcgYSByZXBseSB0aWxlICovXHJcblxyXG4gICAgICAgIC5teF9NUG9sbEJvZHlfdG90YWxWb3RlcyB7XHJcbiAgICAgICAgICAgIC8qIGFsaWduIHN1bW1hcnkgdGV4dCB3aXRoIGNvcm5lciB0aW1lc3RhbXAgKi9cclxuICAgICAgICAgICAgcGFkZGluZzogNHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfRXZlbnRUaWxlX2JhZCB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogU3BlY2lhbCBsYXlvdXQgc2NlbmFyaW8gZm9yIFwiVW5hYmxlIFRvIERlY3J5cHQgKFVURClcIiBldmVudHMgKi9cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlOlxyXG4gICAgICAgICAgICAgICAgXCJyZXBseSByZXBseVwiIGF1dG9cclxuICAgICAgICAgICAgICAgIFwic2hpZWxkIGJvZHlcIiBhdXRvXHJcbiAgICAgICAgICAgICAgICAvIGF1dG8gMWZyO1xyXG5cclxuICAgICAgICAgICAgLm14X1Vua25vd25Cb2R5LFxyXG4gICAgICAgICAgICAubXhfUmVwbHlDaGFpbl93cmFwcGVyLFxyXG4gICAgICAgICAgICAubXhfVmlld1NvdXJjZUV2ZW50IHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDsgLyogUHJldmVudCBhIGdyaWQgYmxvd291dCAqL1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBzaGllbGQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Vua25vd25Cb2R5LFxyXG4gICAgICAgICAgICAubXhfRGVjcnlwdGlvbkZhaWx1cmVCb2R5IHtcclxuICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogYm9keTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1JlcGx5Q2hhaW5fd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWFyZWE6IHJlcGx5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIHtcclxuICAgICAgICAgICAgLyogXCJVbmFibGUgVG8gRGVjcnlwdFwiIGxheW91dCBmb3IgaGlkZGVuIGV2ZW50cyAqL1xyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAwIDlweDsgLyogOXB4OiBtYXJnaW4gdmFsdWUgb2YgRTJFIGljb24gKi9cclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlOlxyXG4gICAgICAgICAgICAgICAgICAgIFwic2hpZWxkIHNvdXJjZVwiIGF1dG9cclxuICAgICAgICAgICAgICAgICAgICAvIGF1dG8gMWZyO1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9WaWV3U291cmNlRXZlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogc291cmNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9NVGV4dEJvZHkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTGVnYWN5Q2FsbEV2ZW50X3dyYXBwZXIsXHJcbiAgICAubXhfQ2FsbEV2ZW50X3dyYXBwZXIge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfRXZlbnRUaWxlX2FsaWduZWRCZXR3ZWVuQnViYmxlcyB7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyhcclxuICAgICAgICAgICAgdmFyKC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLXN0YXJ0KSArIHZhcigtLUV2ZW50VGlsZV9idWJibGVfbGluZS1tYXJnaW4taW5saW5lLXN0YXJ0KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IGNhbGMoXHJcbiAgICAgICAgICAgIHZhcigtLUV2ZW50VGlsZV9idWJibGUtbWFyZ2luLWlubGluZS1lbmQpICsgdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtZW5kKVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX25vQnViYmxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcclxuICAgIC0tYmFja2dyb3VuZENvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2xpbmUubXhfRXZlbnRUaWxlX2Vtb3RlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyAvKiBhbGlnbiB3aXRoIGJ1YmJsZXMgdGV4dCAqL1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgLyogbGlua2VkIHRpbWVzdGFtcCBlbGVtZW50ICovXHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgYm90dG9tOiB1bnNldDtcclxuICAgICAgICAgICAgdG9wOiB1bnNldDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyAvKiB1bmRvIGl0YWxpYyBhYm92ZSAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X01FbW90ZUJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lcltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcclxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfbGVmdEFsaWduZWRCdWJibGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgLm14X0V2ZW50VGlsZV9saW5lID4gYSB7XHJcbiAgICAgICAgLyogaGlkZSB0aGlzIHRpbWVzdGFtcCBhcyB0aGUgdGlsZSB3aWxsIHJlbmRlciBpdHMgb3duICovXHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfYnViYmxlQ29udGFpbmVyW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdLFxyXG4ubXhfRXZlbnRUaWxlLm14X0V2ZW50VGlsZV9sZWZ0QWxpZ25lZEJ1YmJsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcclxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mb1tkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgIC5teF9FdmVudFRpbGVfbGluZSxcclxuICAgIC5teF9FdmVudFRpbGVfaW5mbyB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8qIFByZXNlcnZlIGFsaWdubWVudCB3aXRoIGxlZnQgZWRnZSBvZiB0ZXh0IGluIGJ1YmJsZXMgKi9cclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lcltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcclxuLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfbGVmdEFsaWduZWRCdWJibGVbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0sXHJcbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2luZm9bZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0sXHJcbi5teF9HZW5lcmljRXZlbnRMaXN0U3VtbWFyeVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXVtkYXRhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xyXG4gICAgLS1iYWNrZ3JvdW5kQ29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgLS1ndXR0ZXJTaXplOiAwO1xyXG5cclxuICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9nYXAtaW5saW5lKTsgLyogU2FtZSBzcGFjaW5nIGJldHdlZW4gRTJFIGljb24gYW5kIGEgaGlkZGVuIGV2ZW50ICovXHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcclxuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwOyAvKiBteF9FdmVudFRpbGVfYXZhdGFyIGhhcyBtYXJnaW4taW5saW5lLWVuZCwgc28gbWFyZ2luIGlzIG5vdCBuZWVkZWQgaGVyZSAqL1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgID4gYSwgLyogbGlua2VkIHRpbWVzdGFtcCBlbGVtZW50ICovXHJcbiAgICAgICAgLm14X01lc3NhZ2VBY3Rpb25CYXIgKyAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBsZWZ0OiAtNzdweDtcclxuICAgICAgICAgICAgYm90dG9tOiB1bnNldDtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgLm14X01lc3NhZ2VUaW1lc3RhbXAsXHJcbiAgICAgICAgICAgICYubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnlbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgIC8qIEF2b2lkIG92ZXJmbG93IG9mIGV2ZW50IGluZm8gYnkgY2FuY2VsbGluZyB3aWR0aCBzZXR0aW5ncyAqL1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogaW5jcmVhc2UgbWFyZ2luIGJldHdlZW4gRUxTIGFuZCB0aGUgbmV4dCBFdmVudCB0byBub3QgaGF2ZSBvdXIgdXNlciBhdmF0YXIgb3ZlcmxhcCB0aGUgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvbiAqL1xyXG4gICAgJltkYXRhLWV4cGFuZGVkPVwiZmFsc2VcIl0gKyAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cInRydWVcIl0ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWV4cGFuZGVkPVwidHJ1ZVwiXSAubXhfRXZlbnRUaWxlX2luZm8ge1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCAwO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuXHJcbiAgICAgICAgLm14X01lc3NhZ2VBY3Rpb25CYXIge1xyXG4gICAgICAgICAgICAvKiBSZXNldCAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdW2RhdGEtc2VsZj1cImZhbHNlXCJdIC5teF9NZXNzYWdlQWN0aW9uQmFyICovXHJcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogaW5pdGlhbDtcclxuICAgICAgICAgICAgaW5zZXQtaW5saW5lLWVuZDogNDhweDsgLyogYWxpZ24gd2l0aCB0aGF0IG9mIHJpZ2h0LWNvbHVtbiBidWJibGVzICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cCB7XHJcbiAgICAgICAgICAgIC8qIG1hdGNoIGFsaWdubWVudCB0byBSUnMgb2YgY2hhdCBidWJibGVzICovXHJcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGNhbGMoLTEgKiB2YXIoLS1SZWFkUmVjZWlwdEdyb3VwX0V2ZW50QnViYmxlVGlsZS1zcGFjaW5nLWVuZCkgKyA2MHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7IC8qIG1hdGNoIGFsaWdubWVudCBvZiB0aGUgaG92ZXIgYmFja2dyb3VuZCB0byB0aGF0IG9mIGNoYXQgYnViYmxlcyAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZV90aWxlRXJyb3JbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0gLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8qIHJlc3RvcmUgdGhlIGNlbnRlcmluZyAqL1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4kbGVmdC1ndXR0ZXI6IDY0cHg7XHJcblxyXG4ubXhfRXZlbnRUaWxlIHtcclxuICAgIC0tRXZlbnRUaWxlX2NvbnRlbnQtbWFyZ2luLWlubGluZS1lbmQ6IDM0cHg7XHJcbiAgICAtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctYmxvY2stc3RhcnQ6IDFweDtcclxuICAgIC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1ibG9jay1lbmQ6IDNweDtcclxuICAgIC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQ6ICRsZWZ0LWd1dHRlcjtcclxuICAgIC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtbGluZS1oZWlnaHQ6ICRmb250LTIycHg7XHJcbiAgICAtLUV2ZW50VGlsZV9UaHJlYWRTdW1tYXJ5LWxpbmUtaGVpZ2h0OiBjYWxjKDIgKiAkZm9udC0xMnB4KTtcclxuXHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGNsZWFyOiBib3RoOyAvKiBUT0RPOiBjaGVjayBpZiB0aGlzIGlzIG5lY2Vzc2FyeSAqL1xyXG4gICAgcGFkZGluZy10b3A6IDE4cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJi5teF9FdmVudFRpbGVfaW5mbyB7XHJcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2JvZHkge1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUmVhZFJlY2VpcHRHcm91cF9jb250YWluZXIgc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9jb250ZW50IHtcclxuICAgICAgICAmLm14X0VkaXRNZXNzYWdlQ29tcG9zZXIsXHJcbiAgICAgICAgJi5teF9FZGl0V3lzaXd5Z0NvbXBvc2VyIHtcclxuICAgICAgICAgICAgLyogTWFrZSBzdXJlIHRoZSBmb3JtYXR0aW5nIGJhciBpcyB2aXNpYmxlICovXHJcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX3NlYXJjaEhpZ2hsaWdodCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICBjb2xvcjogJGFjY2VudC1mZy1jb2xvcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDJweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudC1mZy1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lc3NhZ2VUaW1lc3RhbXBfbGF0ZUljb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMTAwJTtcclxuICAgICAgICB0b3A6IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZUJ1YmJsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJsb2NrOiB2YXIoLS1FdmVudFRpbGVCdWJibGVfbWFyZ2luLWJsb2NrKTtcclxuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9JbWFnZUJvZHkge1xyXG4gICAgICAgIC5teF9JbWFnZUJvZHlfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLyogb24gZXZlcnkgbGF5b3V0ICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9SZWFjdGlvbnNSb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiAkc3BhY2luZy00O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9SZXBseUNoYWluLS1leHBhbmRlZCB7XHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9ib2R5IHtcclxuICAgICAgICAgICAgLyogIWltcG9ydGFudCBuZWVkZWQgdG8gb3ZlcnJpZGUgLm14X1JlcGx5VGlsZSAubXhfRXZlbnRUaWxlX2NvbnRlbnQgLm14X0V2ZW50VGlsZV9ib2R5ICovXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfY29sbGFwc2VkQ29kZUJsb2NrIHtcclxuICAgICAgICAgICAgLyogIWltcG9ydGFudCBuZWVkZWQgZHVlIHRvIC5teF9SZXBseVRpbGUgLm14X0V2ZW50VGlsZV9jb250ZW50IC5teF9FdmVudFRpbGVfcHJlX2NvbnRhaW5lciA+IHByZSAqL1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVZpZXdfc2VhcmNoUmVzdWx0c1BhbmVsICYge1xyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2NvbnRleHR1YWwge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfRXZlbnRUaWxlX2J1YmJsZUNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxMDBweDtcclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDM7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgLyogb3ZlcnJpZGUgZGVmYXVsdCBwYWRkaW5nIG9mIG14X0V2ZW50VGlsZV9saW5lIHNvIHRoYXQgd2UgY2FuIGJlIGNlbnRlcmVkICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgICAgICAvKiBUbyBhdm9pZCBidWJibGUgZXZlbnRzIGJlaW5nIGhpZ2hsaWdodGVkICovXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9FdmVudFRpbGVfaXNFZGl0aW5nIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWxheW91dD1cImlyY1wiXSxcclxuICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgLS1zZWxlY3RlZC1tZXNzYWdlLWJvcmRlci13aWR0aDogNHB4O1xyXG5cclxuICAgICAgICAvKiBUT0RPOiBhZGp1c3QgdGhlIHZhbHVlcyBmb3IgSVJDIGxheW91dCAqL1xyXG4gICAgICAgIC0tRXZlbnRUaWxlLWJveC1zaGFkb3ctb2Zmc2V0LXg6IGNhbGMoNTBweCArIHZhcigtLXNlbGVjdGVkLW1lc3NhZ2UtYm9yZGVyLXdpZHRoKSk7XHJcbiAgICAgICAgLS1FdmVudFRpbGUtYm94LXNoYWRvdy1zcHJlYWQtcmFkaXVzOiAtNTBweDtcclxuICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfSW1hZ2VCb2R5IHtcclxuICAgICAgICAgICAgLm14X0ltYWdlQm9keV9jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJGZvbnQtNDRweDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogJGZvbnQtNDRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfcmVwbHkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfcmVwbHkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XHJcblxyXG4gICAgICAgICAgICAvKiBIYWNrIHRvIHN0b3AgdGhlIGhlaWdodCBvZiB0aGlzIHB1c2hpbmcgdGhlIG1lc3NhZ2VzIGFwYXJ0LlxyXG4gICAgICAgICAgICAgICBSZXBsYWNlcyBtYXJnaW4tdG9wOiAtNnB4LiBUaGlzIGludGVyYWN0cyBiZXR0ZXIgd2l0aCBhIHJlYWRcclxuICAgICAgICAgICAgICAgbWFya2VyIGJlaW5nIGluIGJldHdlZW4uIENvbnRlbnQgb3ZlcmZsb3dzLiAqL1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2hpZ2hsaWdodCxcclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9oaWdobGlnaHQgLm1hcmtkb3duLWJvZHkge1xyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW50LWhpZ2hsaWdodC1iZy1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpmb2N1cy12aXNpYmxlOmZvY3VzLXdpdGhpbixcclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9hY3Rpb25CYXJGb2N1c2VkLFxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2lzRWRpdGluZyxcclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9zZWxlY3RlZCB7XHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbnQtc2VsZWN0ZWQtY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIHRoaXMgaXMgdXNlZCBmb3IgdGhlIHRpbGUgZm9yIHRoZSBldmVudCB3aGljaCBpcyBzZWxlY3RlZCB2aWEgdGhlIFVSTC4gKi9cclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9pc0VkaXRpbmcsXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICA+IC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgICAgICAvKiBUT0RPOiB1bHRpbWF0ZWx5IHdlIHByb2JhYmx5IHdhbnQgc29tZSB0cmFuc2l0aW9uIG9uIGhlcmUuICovXHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCB2YXIoLS1FdmVudFRpbGUtYm94LXNoYWRvdy1vZmZzZXQteCkgMCAwIHZhcigtLUV2ZW50VGlsZS1ib3gtc2hhZG93LXNwcmVhZC1yYWRpdXMpXHJcbiAgICAgICAgICAgICAgICAgICAgdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9pbmZvIHtcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfY29udGludWF0aW9uIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbnQtc2VsZWN0ZWQtY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSxcclxuICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgLm14X0V2ZW50VGlsZUJ1YmJsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUmVwbHlDaGFpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0ge1xyXG4gICAgICAgIC0tRXZlbnRUaWxlX2lyY19saW5lLXBhZGRpbmctYmxvY2s6IDFweDtcclxuXHJcbiAgICAgICAgLyogYWRkIC0tcmlnaHQtcGFkZGluZyB2YWx1ZSBvZiBNZXNzYWdlVGltZXN0YW1wIG9ubHkgKi9cclxuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZGVjbGFyYXRpb24tY29sb24tc3BhY2UtYWZ0ZXIgKi9cclxuICAgICAgICAtLUV2ZW50VGlsZV9pcmNfbGluZV9pbmZvLW1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoXHJcbiAgICAgICAgICAgIHZhcigtLW5hbWUtd2lkdGgpICsgdmFyKC0taWNvbi13aWR0aCkgKyAxICogdmFyKC0tcmlnaHQtcGFkZGluZylcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG5cclxuICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tTWVzc2FnZVRpbWVzdGFtcC13aWR0aCk7IC8qIGVuc3VyZSBzcGFjZSBmb3IgRXZlbnRUaWxlIHdpdGhvdXQgdGltZXN0YW1wICovXHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1yaWdodC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyLFxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0taXJjLWxpbmUtaGVpZ2h0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyLFxyXG4gICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSxcclxuICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24sXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9tc2dPcHRpb24ge1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIC8qIE5lZWQgdG8gdXNlIGltcG9ydGFudCB0byBvdmVycmlkZSB0aGUganMgY2FsY3VsYXRlZCB2YWx1ZXMuICovXHJcbiAgICAgICAgICAgID4gLm14X0Jhc2VBdmF0YXIsXHJcbiAgICAgICAgICAgID4gLm14X0Jhc2VBdmF0YXIgPiAqIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoJGZvbnQtMTVweCAtIDJweCkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIHdpZHRoOiB2YXIoLS1uYW1lLXdpZHRoKTtcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7IC8qIG92ZXJyaWRlIG14X0V2ZW50VGlsZSA+ICogKi9cclxuXHJcbiAgICAgICAgICAgID4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX2Rpc3BsYXlOYW1lIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9teGlkIHtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGNvbGxhcHNlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8qIE92ZXJyaWRlIHRoZSBpbmhlcml0ZWQgbWFyZ2luLiAqL1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuXHJcbiAgICAgICAgICAgICAgICA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9kaXNwbGF5TmFtZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRldmVudC1zZWxlY3RlZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggMCAwIDhweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy04O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlX214aWQge1xyXG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXZlbnQtc2VsZWN0ZWQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uLFxyXG4gICAgICAgICAgICAubXhfVGV4dHVhbEV2ZW50LFxyXG4gICAgICAgICAgICAubXhfVmlld1NvdXJjZUV2ZW50LFxyXG4gICAgICAgICAgICAubXhfTVRleHRCb2R5IHtcclxuICAgICAgICAgICAgICAgIC8qIGFkZCBhIDFweCBwYWRkaW5nIHRvcCBhbmQgYm90dG9tIGJlY2F1c2Ugb3VyIGxhcmdlclxyXG4gICAgICAgICAgICAgICAgZW1vamkgZm9udCBvdGhlcndpc2UgZ2V0cyBjcm9wcGVkIGJ5IGFudGktemFsZ28gKi9cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLUV2ZW50VGlsZV9pcmNfbGluZS1wYWRkaW5nLWJsb2NrKSAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24sXHJcbiAgICAgICAgICAgIC5teF9UZXh0dWFsRXZlbnQsXHJcbiAgICAgICAgICAgIC5teF9NVGV4dEJvZHkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUmVwbHlUaWxlIHtcclxuICAgICAgICAgICAgICAgIC5teF9NVGV4dEJvZHkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OyAvKiBFbmFibGUgLXdlYmtpdC1saW5lLWNsYW1wICovXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZSxcclxuICAgICAgICAubXhfRXZlbnRUaWxlX3JlcGx5IHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfcmVwbHkge1xyXG4gICAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcclxuICAgICAgICAgICAgb3JkZXI6IDU7XHJcblxyXG4gICAgICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cCB7XHJcbiAgICAgICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogLTAuM3JlbTsgLyogKHZhcigtLWlyYy1saW5lLWhlaWdodCkgLSBhdmF0YXIgaGVpZ2h0KSAvIDIgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1JlcGx5Q2hhaW4ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRWRpdE1lc3NhZ2VDb21wb3Nlcl9idXR0b25zIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZUJ1YmJsZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbGVmdDogdmFyKC0tRXZlbnRUaWxlX2lyY19saW5lX2luZm8tbWFyZ2luLWlubGluZS1zdGFydCk7XHJcblxyXG4gICAgICAgICAgICAmLm14X2NyeXB0b0V2ZW50IHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUmVwbHlUaWxlIC5teF9FdmVudFRpbGVCdWJibGUge1xyXG4gICAgICAgICAgICBsZWZ0OiB1bnNldDsgLyogQ2FuY2VsIHRoZSB2YWx1ZSBzcGVjaWZpZWQgYWJvdmUgZm9yIHRoZSB0aWxlIGluc2lkZSBSZXBseVRpbGUgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2lzRWRpdGluZyA+IC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgIC5teF9FZGl0TWVzc2FnZUNvbXBvc2VyIHtcclxuICAgICAgICAgICAgICAgIC8qIGFkZCBzcGFjZSBmb3IgdGhlIHN0cm9rZSBvbiBib3gtc2hhZG93ICovXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyhcclxuICAgICAgICAgICAgICAgICAgICB2YXIoLS1zZWxlY3RlZC1tZXNzYWdlLWJvcmRlci13aWR0aCkgKyB2YXIoLS1FZGl0TWVzc2FnZUNvbXBvc2VyLXBhZGRpbmctaW5saW5lKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfaW5mbyB7XHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IHZhcigtLUV2ZW50VGlsZV9pcmNfbGluZV9pbmZvLW1hcmdpbi1pbmxpbmUtc3RhcnQpO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1yaWdodC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLUV2ZW50VGlsZV9pcmNfbGluZS1wYWRkaW5nLWJsb2NrKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLUV2ZW50VGlsZV9pcmNfbGluZV9pbmZvLW1hcmdpbi1pbmxpbmUtc3RhcnQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfVmlld1NvdXJjZUV2ZW50LCAvKiBGb3IgaGlkZGVuIGV2ZW50cyAqL1xyXG4gICAgICAgICAgICAubXhfVGV4dHVhbEV2ZW50IHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1pcmMtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9lbW90ZSB7XHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgICAgIC8qIGFkZCAtLXJpZ2h0LXBhZGRpbmcgdmFsdWUgb2YgTWVzc2FnZVRpbWVzdGFtcCBvbmx5ICovXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1uYW1lLXdpZHRoKSArIHZhcigtLWljb24td2lkdGgpICsgMSAqIHZhcigtLXJpZ2h0LXBhZGRpbmcpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9mb290ZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNwZC1zcGFjZS0xLTV4KSAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgdG9wOiAxNHB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAkc3BhY2luZy04O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfcmVwbHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1ibG9jay1zdGFydCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWJsb2NrLWVuZCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtbGluZS1oZWlnaHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9lMmVJY29uIHtcclxuICAgICAgICAgICAgaW5zZXQ6IDAgMCAwIDQ0cHg7XHJcblxyXG4gICAgICAgICAgICAvKiBLZWVwIGhlaWdodCBlcXVhbCB0byB0ZXh0IGZvciBhbGlnbm1lbnQgKi9cclxuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1saW5lLWhlaWdodCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9tc2dPcHRpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMTBweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwIHtcclxuICAgICAgICAgICAgICAgIC8qIFRoaXMgYWxpZ25zIHRoZSBhdmF0YXIgd2l0aCB0aGUgbGFzdCBsaW5lIG9mIHRoZSAqL1xyXG4gICAgICAgICAgICAgICAgLyogbWVzc2FnZS4gV2Ugd2FudCB0byBtb3ZlIGl0IG9uZSBsaW5lIHVwICovXHJcbiAgICAgICAgICAgICAgICAvKiBTZWUgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1ncm91cF0gLm14X0V2ZW50VGlsZV9saW5lIGluIF9FdmVudFRpbGUuc2NzcyAqL1xyXG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IGNhbGMoLSRmb250LTIycHggLSAzcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RocmVhZFN1bW1hcnksXHJcbiAgICAgICAgLm14X1RocmVhZFN1bW1hcnlfaWNvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbGVmdC1ndXR0ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2Zvb3RlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTF4KSB2YXIoLS1FdmVudFRpbGVfZ3JvdXBfbGluZS1zcGFjaW5nLWlubGluZS1zdGFydCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGxlZnQtZ3V0dGVyO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRsZWZ0LWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiA5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21WaWV3X3RpbWVsaW5lX3JyX2VuYWJsZWQgJiB7XHJcbiAgICAgICAgICAgICRpbmxpbmUtZW5kLW1hcmdpbjogODBweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9UaHJlYWRTdW1tYXJ5LFxyXG4gICAgICAgICAgICAubXhfVGhyZWFkU3VtbWFyeV9pY29uLFxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaW5saW5lLWVuZC1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAkZm9udC0xNHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfVGhyZWFkU3VtbWFyeSB7XHJcbiAgICAgICAgICAgICAgICAvKiBsZWF2ZSBzcGFjZSBvbiBib3RoIGxlZnQgJiByaWdodCBndXR0ZXJzICovXHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1pbihjYWxjKDEwMCUgLSAkbGVmdC1ndXR0ZXIgLSAkaW5saW5lLWVuZC1tYXJnaW4pLCA2MDBweCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8qIG9uIEVMUyB3ZSBuZWVkIHRoZSBtYXJnaW4gdG8gYWxsb3cgaW50ZXJhY3Rpb24gd2l0aCB0aGUgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvbiAqL1xyXG4gICAgICAgICAgICAvKiB3aGljaCBpcyBub3JtYWxseSBpbiB0aGUgUlIgZ3V0dGVyICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8ge1xyXG4gICAgICAgICAgICAkc3BhY2luZy1ibG9jay1zdGFydDogM3B4O1xyXG4gICAgICAgICAgICAkc3BhY2luZy1ibG9jay1lbmQ6IDJweDtcclxuXHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIsXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmctYmxvY2stc3RhcnQgMCAkc3BhY2luZy1ibG9jay1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgICAgIHRvcDogaW5pdGlhbDtcclxuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1zdGFydDogJGxlZnQtZ3V0dGVyO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogJHNwYWNpbmctYmxvY2stc3RhcnQgJHNwYWNpbmctYmxvY2stZW5kO1xyXG4gICAgICAgICAgICAgICAgLyogMjBweDogYXZhdGFyIGFyZWEgKi9cclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctaW5saW5lLXN0YXJ0KSArIDIwcHgpO1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX3NlbGVjdGVkIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgICAgICAvKiBUT0RPOiBjaGVjayBpZiB0aGlzIHdvdWxkIGJlIG5lY2Vzc2FyeTsgKi9cclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLUV2ZW50VGlsZV9ncm91cF9saW5lLXNwYWNpbmctaW5saW5lLXN0YXJ0KSArIDIwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgICAgIC8qIE90aGVyIGhhbGYgb2YgdGhlIGd1dHRlciBpcyBwcm92aWRlZCBieSBtYXJnaW4tYm90dG9tIG9uIHRoZSBsYXN0IHRpbGVcclxuICAgICAgICBvZiB0aGUgc2VjdGlvbiAqL1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ3V0dGVyU2l6ZSkgLyAyKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tRXZlbnRUaWxlX2J1YmJsZS1tYXJnaW4taW5saW5lLXN0YXJ0KTtcclxuXHJcbiAgICAgICAgLyogUmVzZXQgZGVmYXVsdCB2YWx1ZXMuIFRPRE86IHJlbW92ZSAqL1xyXG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbXNnT3B0aW9uIHtcclxuICAgICAgICAgICAgLm14X1JlYWRSZWNlaXB0R3JvdXAge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgaW5zZXQtYmxvY2stc3RhcnQ6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAgICAgLyogYXMgY2xvc2UgdG8gcmlnaHQgZ3V0dGVyIHdpdGhvdXQgY2xpcHBpbmcgYXMgcG9zc2libGUgKi9cclxuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6IGNhbGMoLTEgKiB2YXIoLS1SZWFkUmVjZWlwdEdyb3VwX0V2ZW50QnViYmxlVGlsZS1zcGFjaW5nLWVuZCkpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIChFdmVudFRpbGVMaW5lLmxpbmUtaGVpZ2h0IC0gUmVhZFJlY2VpcHRHcm91cC5oZWlnaHQpIC8gMiAqL1xyXG4gICAgICAgICAgICAgICAgLyogdGhpcyBjZW50ZXJzIHRoZSBSZWFkUmVjZWlwdEdyb3VwIGlmIHdl4oCZdmUgZ290IGEgc2luZ2xlIGxpbmUgKi9cclxuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLWVuZDogY2FsYygoJGZvbnQtMThweCAtIDI0cHgpIC8gMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm14X0V2ZW50VGlsZUJ1YmJsZSB7XHJcbiAgICAgICAgICAgIC8qIFRpbWVzdGFtcHMgYXJlIGluc2lkZSB0aGUgdGlsZSwgc28gdGhlIHdpZHRoIGNhbiBiZSBsZXNzIGNvbnN0cmFpbmVkICovXHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2xhc3RJblNlY3Rpb24ge1xyXG4gICAgICAgICAgICAvKiBPdGhlciBoYWxmIG9mIHRoZSBndXR0ZXIgaXMgcHJvdmlkZWQgYnkgbWFyZ2luLXRvcCBvbiB0aGUgZmlyc3RcclxuICAgICAgICAgICAgdGlsZSBvZiB0aGUgc2VjdGlvbiAqL1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWd1dHRlclNpemUpIC8gMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfR2VuZXJpY0V2ZW50TGlzdFN1bW1hcnkge1xyXG4gICAgJltkYXRhLWxheW91dD1cImlyY1wiXSxcclxuICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIC5teF9SZWRhY3RlZEJvZHkge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTsgLyogcmVtb3ZlIHNwYWNpbmcgYmV0d2VlbiBsaW5lcyAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtbGF5b3V0PVwiaXJjXCJdIHtcclxuICAgICAgICAvKiBBcHBseSBvbmx5IGNvbGxhcHNlZCBldmVudHMgYmxvY2sgKi9cclxuICAgICAgICA+IC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgIC8qIGFkZCAtLXJpZ2h0LXBhZGRpbmcgdmFsdWUgb2YgTWVzc2FnZVRpbWVzdGFtcCBhbmQgYXZhdGFyIG9ubHkgKi9cclxuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLWNvbG9uLXNwYWNlLWFmdGVyICovXHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYyhcclxuICAgICAgICAgICAgICAgIHZhcigtLW5hbWUtd2lkdGgpICsgdmFyKC0taWNvbi13aWR0aCkgKyB2YXIoLS1NZXNzYWdlVGltZXN0YW1wLXdpZHRoKSArIDIgKiB2YXIoLS1yaWdodC1wYWRkaW5nKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGxlZnQtZ3V0dGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5X3Vuc3R5bGVkTGlzdCA+IC5teF9FdmVudFRpbGVfaW5mbyAubXhfRXZlbnRUaWxlX2F2YXRhciB+IC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgIC8qIG92ZXJyaWRlIHBhZGRpbmctbGVmdCAkbGVmdC1ndXR0ZXIgKi9cclxuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtc3BhY2luZy1pbmxpbmUtc3RhcnQpICsgMjBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xyXG4gICAgLypcclxuICAgIGFsbCB0aGUgb3ZlcmZsb3cteTogaGlkZGVuOyBhcmUgdG8gdHJhcCBaYWxnb3MgLVxyXG4gICAgYnV0IHRoZXkgaW50cm9kdWNlIGFuIGltcGxpY2l0IG92ZXJmbG93LXg6IGF1dG8uXHJcbiAgICBzbyBtYWtlIHRoYXQgZXhwbGljaXRseSBoaWRkZW4gdG9vIHRvIGF2b2lkIHJhbmRvbVxyXG4gICAgaG9yaXpvbnRhbCBzY3JvbGxiYXJzIG9jY2FzaW9uYWxseSBhcHBlYXJpbmcsIGxpa2UgaW5cclxuICAgIGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vdmVjdG9yLXdlYi9pc3N1ZXMvMTE1NFxyXG4gICAgKi9cclxuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tRXZlbnRUaWxlX2NvbnRlbnQtbWFyZ2luLWlubGluZS1lbmQpO1xyXG5cclxuICAgIC5tYXJrZG93bi1ib2R5IHtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDsgLyogaW5oZXJpdCB0aGUgY29sb3VyIGZyb20gdGhlIGRhcmsgb3IgbGlnaHQgdGhlbWUgYnkgZGVmYXVsdCAoYnV0IG5vdCBmb3IgY29kZSBibG9ja3MpICovXHJcbiAgICAgICAgZmxleDogMTtcclxuXHJcbiAgICAgICAgcHJlLFxyXG4gICAgICAgIGNvZGUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJG1vbm9zcGFjZS1mb250LWZhbWlseSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29kZTpub3QocHJlICopIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlubGluZWNvZGUtYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGlubGluZWNvZGUtYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIC8qIFRoZSBob3Jpem9udGFsIHBhZGRpbmcgaXMgYWRkZWQgYnkgZ2l0aHViLW1hcmtkb3duLWNzcyAubWFya2Rvd24tYm9keSAqL1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy0yIDA7XHJcbiAgICAgICAgICAgIC8qIEF2b2lkIGlubGluZSBjb2RlIGJsb2NrcyB0byBiZSBzdGlja2VkIHdoZW4gb24gbXVsdGlwbGUgbGluZXMgKi9cclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTIycHg7XHJcbiAgICAgICAgICAgIC8qIEF2b2lkIHRoZSBib3JkZXIgdG8gYmUgZ2x1ZWQgdG8gdGhlIG90aGVyIHdvcmRzICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvZGUge1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IC8qIGRvbid0IGNvbGxhcHNlIHNwYWNlcyBpbiBpbmxpbmUgY29kZSBibG9ja3MgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHByZSB7XHJcbiAgICAgICAgICAgIC8qIGhhdmUgdG8gdXNlIG92ZXJsYXkgcmF0aGVyIHRoYW4gYXV0byBvdGhlcndpc2UgTGludXggYW5kIFdpbmRvd3MgKi9cclxuICAgICAgICAgICAgLyogQ2hyb21lIGdldHMgdmVyeSBjb25mdXNlZCBhYm91dCB2ZXJ0aWNhbCBzcGFjaW5nOiAqL1xyXG4gICAgICAgICAgICAvKiBodHRwczovL2dpdGh1Yi5jb20vdmVjdG9yLWltL3ZlY3Rvci13ZWIvaXNzdWVzLzc1NCAqL1xyXG4gICAgICAgICAgICBvdmVyZmxvdy14OiBvdmVybGF5O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG5cclxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAgICAgY29kZSB7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlOyAvKiB3ZSB3YW50IGNvZGUgYmxvY2tzIHRvIGJlIHNjcm9sbGFibGUgYW5kIG5vdCB3cmFwICovXHJcblxyXG4gICAgICAgICAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgxLFxyXG4gICAgICAgIGgyLFxyXG4gICAgICAgIGgzLFxyXG4gICAgICAgIGg0LFxyXG4gICAgICAgIGg1LFxyXG4gICAgICAgIGg2IHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBNYWtlIGgxIGFuZCBoMiB0aGUgc2FtZSBzaXplIGFzIGgzLiAqL1xyXG4gICAgICAgIGgxLFxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50OyAvKiBvdmVycmlkZSBHRk0gKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudC1hbHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBibG9ja3F1b3RlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYmxvY2txdW90ZS1iYXItY29sb3I7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLypcclxuICAgICAgICAvLyBhY3R1YWxseSwgcmVtb3ZpbmcgdGhlIEl0YWxpYyBUVEYgcHJvdmlkZXNcclxuICAgICAgICAvLyBiZXR0ZXIgcmVzdWx0cyBzZWVtaW5nbHlcclxuXHJcbiAgICAgICAgLy8gY29tcGVuc2F0ZSBmb3IgTnVuaXRvIGl0YWxpY3MgYmVpbmcgdGVycmlibGVcclxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2ZvbnRzL2lzc3Vlcy8xNzI2XHJcbiAgICAgICAgZW0ge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0xNGRlZyk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgKi9cclxuXHJcbiAgICAgICAgLyogU3VwcG9ydCBhcmJpdHJhcmlseSBsYXJnZSBtYXJrZXIgbnVtYmVycyAqL1xyXG4gICAgICAgIG9sIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMC41ZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBPdmVycmlkZSBuZXN0ZWQgbGlzdHMgYmVpbmcgbG93ZXItcm9tYW4gKi9cclxuICAgICAgICBvbCBvbCxcclxuICAgICAgICB1bCBvbCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogcmV2ZXJ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogTWFrZSBsaXN0IHR5cGUgZGlzYyB0byBtYXRjaCByaWNoIHRleHQgZWRpdG9yICovXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBvdmVycmlkZSBzdHlsZXMgZnJvbSB0aGUgYmFzZSBtYXJrZG93biBDU1MgdGhhdCBwdXQgbWFya2Rvd24gY29udGVudCBvbiBpdHMgb3duIGxpbmUsXHJcbiAgICAgICAgICAgYXMgdGhpcyBpc24ndCB3aGF0IHdlIHdhbnQgZm9yIHJpY2h0ZXh0IGVtb3RlIGNvbnRlbnQuXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFNwb2lsZXIgc3R1ZmYgKi9cclxuLm14X0V2ZW50VGlsZV9zcG9pbGVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAvKiBjbGVhciBidXR0b24gc3R5bGVzICovXHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX3Nwb2lsZXJfcmVhc29uIHtcclxuICAgICAgICBjb2xvcjogJGV2ZW50LXRpbWVzdGFtcC1jb2xvcjtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTExcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9zcG9pbGVyX2NvbnRlbnQge1xyXG4gICAgICAgIGZpbHRlcjogYmx1cig1cHgpIHNhdHVyYXRlKDAuMSkgc2VwaWEoMSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLnZpc2libGUgPiAubXhfRXZlbnRUaWxlX3Nwb2lsZXJfY29udGVudCB7XHJcbiAgICAgICAgZmlsdGVyOiBub25lO1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiBhdXRvO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlX2JpZ0Vtb2ppIHtcclxuICAgIGZvbnQtc2l6ZTogNDhweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA1N3B4O1xyXG5cclxuICAgIC5teF9FbW9qaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVfZTJlSWNvbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTRweDtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlX2JvZHkge1xyXG4gICAgYTpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJlIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZTpob3ZlciAmLFxyXG4gICAgICAgIC5teF9FdmVudFRpbGU6Zm9jdXMtdmlzaWJsZTpmb2N1cy13aXRoaW4gJiB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBzZWxlY3RvciB3cm9uZ2x5IGFwcGxpZXMgdG8gcGlsbCBhdmF0YXJzIGJ1dCB0aG9zZSBoYXZlIGV4cGxpY2l0IHdpZHRoL2hlaWdodCBwYXNzZWQgYXQgYSBoaWdoZXIgc3BlY2lmaWNpdHkgKi9cclxuICAgICYubWFya2Rvd24tYm9keSBpbWcge1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0IHRvcDtcclxuXHJcbiAgICAgICAgLyogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgY29sb3JzIG9mIHRoZSAnZ2l0aHViLW1hcmtkb3duLWNzcycgbGlicmFyeVxyXG4gICAgICAgICgjZmZmIGZvciBsaWdodCB0aGVtZSwgIzAwMCBmb3IgZGFyayB0aGVtZSkgdG8gbWF0Y2ggdGhlIGluaGVyaXRlZCB0aGVtZSAqL1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2NsYW1wICYge1xyXG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcclxuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9wcmVfY29udGFpbmVyIHtcclxuICAgICAgICAvKiBGb3IgY29ycmVjdCBwb3NpdGlvbmluZyBvZiBfY29weUJ1dHRvbiAoU2VlIFRleHR1YWxCb2R5KSAqL1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgJjpmb2N1cy13aXRoaW4sXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfY29sbGFwc2VkQ29kZUJsb2NrIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzB2aDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTEyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctMTI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBJbnNlcnRlZCBhZGphY2VudCB0byA8cHJlPiBibG9ja3MsIChTZWUgVGV4dHVhbEJvZHkpICovXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9idXR0b24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgcmlnaHQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX2J1dHRvbkJvdHRvbSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDMzcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtZXNzYWdlLWFjdGlvbi1iYXItZmctY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVfbGluZU51bWJlcnMge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW46IDAgMC41ZW0gMCAtMS41ZW07XHJcbiAgICBjb2xvcjogZ3JheTtcclxuXHJcbiAgICAmIHNwYW4ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlX2J1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVfdGlsZUVycm9yIHtcclxuICAgIGNvbG9yOiByZWQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLyogUmVtb3ZlIHNvbWUgb2YgdGhlIGRlZmF1bHQgdGlsZSBwYWRkaW5nIHNvIHRoYXQgdGhlIGVycm9yIGlzIGNlbnRlcmVkICovXHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctNCAkc3BhY2luZy04O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRXZlbnRUaWxlOmhvdmVyIC5teF9UaHJlYWRBY3Rpb25CYXIsXHJcbi5teF9FdmVudFRpbGUubXhfRXZlbnRUaWxlX2FjdGlvbkJhckZvY3VzZWQgLm14X1RocmVhZEFjdGlvbkJhcixcclxuW2RhdGEtd2hhdGlucHV0PVwia2V5Ym9hcmRcIl0gLm14X0V2ZW50VGlsZTpmb2N1cy13aXRoaW4gLm14X1RocmVhZEFjdGlvbkJhcixcclxuLm14X0V2ZW50VGlsZTpmb2N1cy12aXNpYmxlOmZvY3VzLXdpdGhpbiAubXhfVGhyZWFkQWN0aW9uQmFyIHtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVbZGF0YS1zaGFwZT1cIlRocmVhZHNMaXN0XCJdLFxyXG4ubXhfRXZlbnRUaWxlW2RhdGEtc2hhcGU9XCJOb3RpZmljYXRpb25cIl0ge1xyXG4gICAgLS10b3BPZmZzZXQ6ICRzcGFjaW5nLTEyO1xyXG4gICAgLS1sZWZ0T2Zmc2V0OiA0OHB4O1xyXG4gICAgJGJvcmRlclJhZGl1czogOHB4O1xyXG4gICAgJHBhZGRpbmc6ICRzcGFjaW5nLTg7XHJcbiAgICAkaHJIZWlnaHQ6IDFweDtcclxuICAgICRub3RpZmljYXRpb24tZG90LXNpemU6IDhweDsgLyogbm90aWZpY2F0aW9uIGRvdCBuZXh0IHRvIHRoZSB0aW1lc3RhbXAgKi9cclxuXHJcbiAgICBtYXJnaW46IGNhbGModmFyKC0tdG9wT2Zmc2V0KSArICRockhlaWdodCkgMCB2YXIoLS10b3BPZmZzZXQpOyAvKiBpbmNsdWRlIHRoZSBoZWlnaHQgb2YgaG9yaXpvbnRhbCBsaW5lICovXHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXM7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZmxvdzogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgJjo6YWZ0ZXIsXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICAkaW5zZXQtYmxvY2stc3RhcnQ6IGF1dG87XHJcbiAgICAgICAgJGluc2V0LWlubGluZS1lbmQ6IGNhbGMoLTEgKiB2YXIoLS1jcGQtc3BhY2UtMngpKTtcclxuICAgICAgICAkaW5zZXQtYmxvY2stZW5kOiBjYWxjKC0xICogdmFyKC0tdG9wT2Zmc2V0KSAtICRockhlaWdodCk7IC8qIGV4Y2x1ZGUgdGhlIGhlaWdodCBvZiBob3Jpem9udGFsIGxpbmUgKi9cclxuICAgICAgICAkaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWxlZnRPZmZzZXQpICsgJHBhZGRpbmcpO1xyXG4gICAgICAgIGluc2V0OiAkaW5zZXQtYmxvY2stc3RhcnQgJGluc2V0LWlubGluZS1lbmQgJGluc2V0LWJsb2NrLWVuZCAkaW5zZXQtaW5saW5lLXN0YXJ0O1xyXG5cclxuICAgICAgICBoZWlnaHQ6ICRockhlaWdodDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBkaXNhYmxlIHRoZSBtZXNzYWdlIGFjdGlvbiBiYXIgb24gaG92ZXIgKi9cclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGluc2V0OiAwO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBlbnN1cmVzIHRoZSB0aXRsZSBmb3IgdGhlIHNlbmRlciBuYW1lIGNhbiBiZSBjb3JyZWN0bHkgZGlzcGxheWVkICovXHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLW5vdGlmaWNhdGlvbj1cInRvdGFsXCJdOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyb29tLWljb24tdW5yZWFkLWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgICZbZGF0YS1ub3RpZmljYXRpb249XCJoaWdobGlnaHRcIl06OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0O1xyXG4gICAgfVxyXG5cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiB1bnNldDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgaW5zZXQ6ICRwYWRkaW5nIGF1dG8gYXV0byAkcGFkZGluZztcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX2RldGFpbHMge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcblxyXG4gICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9kaXNwbGF5TmFtZSxcclxuICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGVfbXhpZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9kaXNwbGF5TmFtZSB7XHJcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZV9teGlkIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1sZWZ0T2Zmc2V0KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgIHdpZHRoOiB1bnNldDsgLyogQ2FuY2VsIHRoZSBkZWZhdWx0IHdpZHRoICovXHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogZW5zdXJlIGNvcnJlY3Qgb3ZlcmZsb3cgYmVoYXZpb3IgKi9cclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgLyogdG8gZW5zdXJlIGl0J3MgZW5kLWFsaWduZWQgZXZlbiBpZiBpdCdzIHRoZSBvbmx5IGVsZW1lbnQgb2YgaXRzIHBhcmVudCAqL1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyogVGhyZWFkc0xpc3QgaGFzIGFsd2F5cyBncm91cCBsYXlvdXQgKi9cclxuICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXTpob3ZlciB7XHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgLyogZG9uJ3Qgc2hvdyB0aGUgdmVyaWZpY2F0aW9uIGxlZnQgc3Ryb2tlIGluIHRoZSB0aHJlYWQgbGlzdCAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZVtkYXRhLXNoYXBlPVwiVGhyZWFkc0xpc3RcIl0ge1xyXG4gICAgLm14X1RocmVhZFBhbmVsX3JlcGxpZXMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG5cclxuICAgICAgICA+IHN2ZyB7XHJcbiAgICAgICAgICAgIEBtaXhpbiBUaHJlYWRTdW1tYXJ5SWNvbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9UaHJlYWRQYW5lbF9yZXBsaWVzX2Ftb3VudCB7XHJcbiAgICAgICAgICAgIEBtaXhpbiBUaHJlYWRSZXBsaWVzQW1vdW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1RocmVhZFN1bW1hcnlfaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctODtcclxuXHJcbiAgICA+IHN2ZyB7XHJcbiAgICAgICAgQG1peGluIFRocmVhZFN1bW1hcnlJY29uO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgIH1cclxuXHJcbiAgICBhJiB7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogRm9yIHN0eWxlIHJ1bGVzIG9mIFRocmVhZFZpZXcsIHNlZSBfVGhyZWFkUGFuZWwucGNzcyAqL1xyXG4ubXhfVGhyZWFkVmlldyB7XHJcbiAgICAtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1zdGFydDogNTZweDsgLyogNTZweDogNjRweCAtIDhweCAocGFkZGluZykgKi9cclxuICAgIC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLWVuZDogOHB4OyAvKiBzYW1lIGFzIHBhZGRpbmcgKi9cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfcm9vbU5hbWUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogaGFuZGxpbmcgZm9yIGhpZGRlbiBldmVudHMgKGUuZyByZWFjdGlvbnMpIGluIHRoZSB0aHJlYWQgdmlldyAqL1xyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8ge1xyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAvKiBBbGlnbiB3aXRoIGhpZGRlbiBldmVudCBjb250ZW50ICovXHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9zZWxlY3RlZCAubXhfRXZlbnRUaWxlX2xpbmUsXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgICAgICAkbGluZS1oZWlnaHQ6ICRmb250LTEycHg7XHJcblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfY29udGVudCxcclxuICAgICAgICAgICAgICAgIC5teF9SZWRhY3RlZEJvZHkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmW2RhdGEtbGF5b3V0PVwiaXJjXCJdLFxyXG4gICAgICAgICAgICAmW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8qIDE0cHg6IGF2YXRhciB3aWR0aCwgNHB4OiBhbGlnbiB3aXRoIHRleHQgKi9cclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKHZhcigtLU1lc3NhZ2VUaW1lc3RhbXAtd2lkdGgpICsgMTRweCAtIDRweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTsgLyogcG9zaXRpb24gYWJvdmUgdGhlIGhvdmVyIHN0eWxpbmcgKi9cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubXhfTWVzc2FnZVRpbWVzdGFtcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7IC8qIEFsaWduIHdpdGggYXZhdGFyICovXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5teF9FdmVudFRpbGVfc2VsZWN0ZWQgLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X1JlZGFjdGVkQm9keSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDE0cHg6IGF2YXRhciB3aWR0aCwgNnB4OiAyMHB4IC0gMTRweCAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKDE0cHggKyA2cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJltkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYubXhfRXZlbnRUaWxlX3NlbGVjdGVkIC5teF9FdmVudFRpbGVfbGluZSxcclxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50LFxyXG4gICAgICAgICAgICAgICAgICAgIC5teF9SZWRhY3RlZEJvZHkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLVRocmVhZFZpZXdfZ3JvdXBfc3BhY2luZy1zdGFydCkgKyAxNHB4ICsgNnB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0sXHJcbiAgICAgICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogJHNwYWNpbmctMTY7XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2xpbmUsXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfZm9vdGVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctZW5kKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZV9saW5lLXBhZGRpbmctYmxvY2spO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIEFkZCBwYWRkaW5nIHRvIGFsaWduIG1lc3NhZ2UgdGV4dCB3aXRoIHN1bW1hcnkgdGV4dCAqL1xyXG4gICAgICAgICAgICAgICAgLyogU2VlOiAubXhfRXZlbnRUaWxlW2RhdGEtbGF5b3V0PVwiZ3JvdXBcIl0gLm14X0V2ZW50VGlsZV9saW5lICovXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLXN0YXJ0KTtcclxuXHJcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICYubXhfRWRpdE1lc3NhZ2VDb21wb3NlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwOyAvKiBhbGlnbiBzdGFydCBvZiBmaXJzdCBsZXR0ZXIgd2l0aCB0aGF0IG9mIHRoZSBldmVudCBib2R5ICovXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2Zvb3RlciB7XHJcbiAgICAgICAgICAgICAgICAvKiBBbGlnbiB3aXRoIG1lc3NhZ2UgdGV4dCBhbmQgc3VtbWFyeSB0ZXh0ICovXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctc3RhcnQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jay1zdGFydDogMDsgLyogQ2FuY2VsIHBhZGRpbmctYmxvY2stc3RhcnQgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJltkYXRhLWxheW91dD1cImdyb3VwXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX3NlbmRlckRldGFpbHMge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBnYXA6ICRzcGFjaW5nLTE2OyAvKiBnYXAgYmV0d2VlbiB0aGUgYXZhdGFyIGFuZCB0aGUgc2VuZGVyIElEICovXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJHNwYWNpbmctODtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9NZXNzYWdlVGltZXN0YW1wIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgLyogZm9yIElSQyBsYXlvdXQgKi9cclxuICAgICAgICAgICAgICAgIHRvcDogMnB4OyAvKiBBbGlnbiB3aXRoIG14X0V2ZW50VGlsZV9jb250ZW50ICovXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJidWJibGVcIl0ge1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiB2YXIoLS1CYXNlQ2FyZF9FdmVudFRpbGUtc3BhY2luZy1pbmxpbmUpO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGluc2V0LWlubGluZTogY2FsYygtMSAqIHZhcigtLUJhc2VDYXJkX0V2ZW50VGlsZS1zcGFjaW5nLWlubGluZSkpO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogYXV0bzsgLyogZW5hYmxlIGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgKi9cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1JlYWN0aW9uc1JvdyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGRpc3BsYXkgb24gaG92ZXIgKi9cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLm14X0V2ZW50VGlsZV9tZWRpYUxpbmUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1FdmVudEJ1YmJsZVRpbGVfbGluZS1tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmW2RhdGEtc2VsZj1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZS5teF9FdmVudFRpbGVfbWVkaWFMaW5lIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgdmFyKC0tRXZlbnRUaWxlX2J1YmJsZV9saW5lLW1hcmdpbi1pbmxpbmUtZW5kKSAwIDA7IC8qIGFsaWduIHdpdGggbm9ybWFsIG1lc3NhZ2VzICovXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0dlbmVyaWNFdmVudExpc3RTdW1tYXJ5IHtcclxuICAgICAgICAmW2RhdGEtbGF5b3V0PVwiaXJjXCJdLFxyXG4gICAgICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgICAgID4gLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1UaHJlYWRWaWV3X2dyb3VwX3NwYWNpbmctc3RhcnQpOyAvKiBhbGlnbiBzdW1tYXJ5IHRleHQgd2l0aCBtZXNzYWdlIHRleHQgKi9cclxuICAgICAgICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tVGhyZWFkVmlld19ncm91cF9zcGFjaW5nLWVuZCk7IC8qIGFsaWduIHN1bW1hcnkgdGV4dCB3aXRoIG1lc3NhZ2UgdGV4dCAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBDYXNjYWRpbmcgLSBjb21wYWN0IG1vZGVybiBsYXlvdXQgb24gdGhlIG1haW4gdGltZWxpbmUgYW5kIHRoZSByaWdodCBwYW5lbCAqL1xyXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IHtcclxuICAgIC5teF9FdmVudFRpbGVbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXRfZ3JvdXAtcGFkZGluZy10b3A6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQtdG9wLWF2YXRhcjogMnB4O1xyXG4gICAgICAgIC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2xpbmUtc3BhY2luZy1ibG9jazogMHB4O1xyXG5cclxuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2dyb3VwLXBhZGRpbmctdG9wKTtcclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfcmVwbHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXRfbGluZS1zcGFjaW5nLWJsb2NrKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9SZXBseUNoYWluIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctNDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfRXZlbnRUaWxlX2luZm8ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgLyogc2FtZSBhcyB0aGUgcGFkZGluZyBmb3Igbm9uLWNvbXBhY3QgLm14X0V2ZW50VGlsZS5teF9FdmVudFRpbGVfaW5mbyAqL1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEzcHg7XHJcblxyXG4gICAgICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24sXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfYXZhdGFyIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jazogdmFyKC0tTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0X2xpbmUtc3BhY2luZy1ibG9jayk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSxcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfZW1vdGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctODsgLyogYWRkIGEgYml0IG1vcmUgc3BhY2UgZm9yIGVtb3RlcyBzbyB0aGF0IGF2YXRhcnMgZG9uJ3QgY29sbGlkZSAqL1xyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgdG9wOiB2YXIoLS1NYXRyaXhDaGF0X3VzZUNvbXBhY3RMYXlvdXQtdG9wLWF2YXRhcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9FdmVudFRpbGVfbGluZSxcclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X0V2ZW50VGlsZV9jb250aW51YXRpb24ge1xyXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lLFxyXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9yZXBseSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dF9saW5lLXNwYWNpbmctYmxvY2spO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBDYXNjYWRpbmcgLSBhcHBseSB6ZXJvIHBhZGRpbmcgdG8gZXZlcnkgZWxlbWVudCBpbmNsdWRpbmcgbXhfRXZlbnRUaWxlX2Vtb3RlICovXHJcbiAgICAgICAgJi5teF9FdmVudFRpbGVfY29udGludWF0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dF9saW5lLXNwYWNpbmctYmxvY2spO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9hdmF0YXIge1xyXG4gICAgICAgICAgICB0b3A6IHZhcigtLU1hdHJpeENoYXRfdXNlQ29tcGFjdExheW91dC10b3AtYXZhdGFyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfZTJlSWNvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0Rpc2FtYmlndWF0ZWRQcm9maWxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xM3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9tc2dPcHRpb24ge1xyXG4gICAgICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cCB7XHJcbiAgICAgICAgICAgICAgICAvKiBUaGlzIGFsaWducyB0aGUgYXZhdGFyIHdpdGggdGhlIGxhc3QgbGluZSBvZiB0aGUgKi9cclxuICAgICAgICAgICAgICAgIC8qIG1lc3NhZ2UuIFdlIHdhbnQgdG8gbW92ZSBpdCBvbmUgbGluZSB1cCAtIDJyZW0gKi9cclxuICAgICAgICAgICAgICAgIGluc2V0LWJsb2NrLXN0YXJ0OiAtMnJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9jb250ZW50IC5tYXJrZG93bi1ib2R5IHtcclxuICAgICAgICAgICAgcCxcclxuICAgICAgICAgICAgdWwsXHJcbiAgICAgICAgICAgIG9sLFxyXG4gICAgICAgICAgICBkbCxcclxuICAgICAgICAgICAgYmxvY2txdW90ZSxcclxuICAgICAgICAgICAgcHJlLFxyXG4gICAgICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy00OyAvKiAxLzQgb2YgdGhlIG5vbi1jb21wYWN0IG1hcmdpbi1ib3R0b20gKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0V2ZW50VGlsZV9kZXRhaWxzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogc3RyZXRjaDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBnYXA6ICRzcGFjaW5nLTg7XHJcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tbGVmdE9mZnNldCk7XHJcbiAgICAubXhfRXZlbnRUaWxlX3RydW5jYXRlZCB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FdmVudFRpbGVfZm9vdGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4vKiBNZWRpYSBxdWVyeSBmb3IgbW9iaWxlIFVJICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgIC5teF9FdmVudFRpbGVfY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBSb2JpbiBUb3duc2VuZCA8cm9iaW5Acm9iaW4udG93bj5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0V2ZW50VGlsZUJ1YmJsZS5teF9IaXN0b3J5VGlsZSB7XHJcbiAgICBtYXJnaW46IHZhcigtLUV2ZW50VGlsZUJ1YmJsZV9tYXJnaW4tYmxvY2spIGF1dG87XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBjb2xvcjogJGhlYWRlci1wYW5lbC10ZXh0LXByaW1hcnktY29sb3I7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbjpyb290IHtcclxuICAgIC0taXJjLWxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG59XHJcblxyXG4ubXhfSVJDTGF5b3V0IHtcclxuICAgIC0tbmFtZS13aWR0aDogODBweDsgLyogY2YuIGlyY0Rpc3BsYXlOYW1lV2lkdGggb24gU2V0dGluZ3MudHN4ICovXHJcbiAgICAtLWljb24td2lkdGg6IDE0cHg7XHJcbiAgICAtLWxpbmUtaGVpZ2h0OiB2YXIoLS1pcmMtbGluZS1oZWlnaHQpO1xyXG4gICAgLS1yaWdodC1wYWRkaW5nOiA1cHg7XHJcblxyXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KSAhaW1wb3J0YW50O1xyXG5cclxuICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTmV3Um9vbUludHJvIHtcclxuICAgICAgICA+IGgyIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7IC8qIENhbmNlbCB2YXIoLS1pcmMtbGluZS1oZWlnaHQpICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9SZXBseUNoYWluIHtcclxuICAgICAgICAubXhfRGlzYW1iaWd1YXRlZFByb2ZpbGUge1xyXG4gICAgICAgICAgICB3aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBvcmRlcjogdW5zZXQ7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiB1bnNldDsgLyogVW5zZXQgZmxleC1zaHJpbmsgdG8gcHJldmVudCBsb25nIGRpc3BsYXkgbmFtZSBibG93b3V0ICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2Vtb3RlIHtcclxuICAgICAgICAgICAgPiAubXhfRXZlbnRUaWxlX2F2YXRhciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogaW5pdGlhbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X01lc3NhZ2VUaW1lc3RhbXAge1xyXG4gICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIGFkZGluZyB0aGUgaWNvbiBiYWNrIGluIHRoZSBkb2N1bWVudCBmbG93XHJcbiAgICAgICAgICogaWYgaXQncyBub3QgcHJlc2VudCwgdGhlcmUncyBubyB1bndhbnRlZCB3YXN0ZWQgc3BhY2VcclxuICAgICAgICAgKi9cclxuICAgICAgICAubXhfRXZlbnRUaWxlX2UyZUljb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Byb2ZpbGVSZXNpemVyIHtcclxuICAgICAgICAtLXJlc2l6ZXItd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgLS1yZXNpemVyLWExMXk6IDNweDsgLyogTWFnaWMgbnVtYmVyLCB0byBiZSByZXBsYWNlZCB3aXRoIHNvbWV0aGluZyBtb3JlIHByb3BlciBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiBhMTF5ICovXHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IHZhcigtLXJlc2l6ZXItd2lkdGgpO1xyXG4gICAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTtcclxuICAgICAgICB6LWluZGV4OiAxMDA7XHJcblxyXG4gICAgICAgIC8qIEFkZCB3aWR0aCBvZiBldmVyeSBlbGVtZW50IHJlbmRlcmVkIGJlZm9yZSB0aGUgcmVzaXplciAoaW5jbHVkaW5nIHBhZGRpbmcgZm9yIHRoZSBhdmF0YXIgYW5kIHRoZSBkaXNwbGF5XHJcbiAgICAgICAgICAgbmFtZSksIHN1YnRyYWN0aW5nIHRoZSByZXNpemVyIHdpZHRoIGl0c2VsZiB0byBwcmV2ZW50IHRoZSByZXNpemVyIGZyb20gb3ZlcmxhcHBpbmcgdGhlIHRleHQgYW5kIG1vdmluZ1xyXG4gICAgICAgICAgIHRoZSByZXNpemVyIGEgYml0IHRvIHRoZSBsZWZ0IHRvIG1ha2UgaXQgZWFzaWVyIHRvIGF2b2lkIHNlbGVjdGluZyB0aGUgcmVzaXplciB3aGVuIGhpZ2hsaWdodGluZyB0ZXh0LlxyXG4gICAgICAgICAgIFBsZWFzZSBub3RlIHRoYXQgTWVzc2FnZVRpbWVzdGFtcCBkb2VzIG5vdCBoYXZlIGlubGluZSBwYWRkaW5nLiAqL1xyXG4gICAgICAgIGluc2V0LWlubGluZS1zdGFydDogY2FsYyhcclxuICAgICAgICAgICAgdmFyKC0tUm9vbVZpZXdfTWVzc2FnZUxpc3QtcGFkZGluZykgKyB2YXIoLS1NZXNzYWdlVGltZXN0YW1wLXdpZHRoKSArIHZhcigtLWljb24td2lkdGgpICtcclxuICAgICAgICAgICAgICAgIHZhcigtLXJpZ2h0LXBhZGRpbmcpICsgdmFyKC0tbmFtZS13aWR0aCkgKyB2YXIoLS1yaWdodC1wYWRkaW5nKSAtIHZhcigtLXJlc2l6ZXItd2lkdGgpIC1cclxuICAgICAgICAgICAgICAgIHZhcigtLXJlc2l6ZXItYTExeSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSW52aXRlZEljb25WaWV3IHtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0p1bXBUb0JvdHRvbUJ1dHRvbiB7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLyogMTIgYmVjYXVzZSBoZWlnaHQgaXMgNTAgYnV0IGJ1dHRvbiBpcyBvbmx5IDM4ID0gMTIrKDUwLTM4KSA9IDI0ICovXHJcbiAgICBib3R0b206IDEycHg7XHJcbiAgICByaWdodDogMjRweDtcclxuICAgIHdpZHRoOiAzOHB4O1xyXG4gICAgLyogZ2l2ZSBpdCBhIGZpeGVkIGhlaWdodCBzbyB0aGUgYmFkZ2UgZG9lc24ndCBtYWtlICovXHJcbiAgICAvKiBpdCB0YWxsZXIgYW5kIHBvcCB1cHdhcmRzIHdoZW4gdmlzaWJsZSAqL1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfSnVtcFRvQm90dG9tQnV0dG9uX2JhZGdlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTEycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMTRweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8qIHRvIGJlIGFibGUgdG8gZ2V0IGl0IGNlbnRlcmVkICovXHJcbiAgICAvKiB3aXRoIHRleHQtYWxpZ24gaW4gcGFyZW50ICovXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAwIDRweDtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5teF9KdW1wVG9Cb3R0b21CdXR0b25faGlnaGxpZ2h0IC5teF9KdW1wVG9Cb3R0b21CdXR0b25fYmFkZ2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XHJcbn1cclxuXHJcbi5teF9KdW1wVG9Cb3R0b21CdXR0b25fc2Nyb2xsRG93biB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogMzhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlcjogMS4zcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgcGFkZGluZzogN3B4IDhweCA3cHggNnB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MZWdhY3lSb29tTGlzdCB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7IC8qIHdpZHRoIG9mIHRoZSBzY3JvbGxiYXIsIHRvIGxpbmUgdGhpbmdzIHVwICovXHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MZWdhY3lSb29tTGlzdEhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAubXhfTGVnYWN5Um9vbUxpc3RIZWFkZXJfY29udGV4dExlc3NUaXRsZSxcclxuICAgIC5teF9MZWdhY3lSb29tTGlzdEhlYWRlcl9jb250ZXh0TWVudUJ1dHRvbiB7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1zbS1zZW1pYm9sZCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgcGFkZGluZzogMXB4IDI0cHggMXB4IDRweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9MZWdhY3lSb29tTGlzdEhlYWRlcl9jb250ZXh0TWVudUJ1dHRvbiB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0xlZ2FjeVJvb21MaXN0SGVhZGVyX3BsdXNCdXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTGl2ZUNvbnRlbnRTdW1tYXJ5IHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgLm14X0xpdmVDb250ZW50U3VtbWFyeV90ZXh0IHtcclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X0xpdmVDb250ZW50U3VtbWFyeV90ZXh0X2FjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9MaXZlQ29udGVudFN1bW1hcnlfcGFydGljaXBhbnRzIHN2ZyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NZW1iZXJMaXN0SGVhZGVyVmlldyB7XHJcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMTJweDtcclxuXHJcbiAgICAubXhfTWVtYmVyTGlzdEhlYWRlclZpZXdfY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZW1iZXJMaXN0SGVhZGVyVmlld19pbnZpdGVfc21hbGwge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVtYmVyTGlzdEhlYWRlclZpZXdfaW52aXRlX2xhcmdlIHtcclxuICAgICAgICB3aWR0aDogMjg4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZW1iZXJMaXN0SGVhZGVyVmlld19sYWJlbCB7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTZ4KSAwIHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZW1iZXJMaXN0SGVhZGVyVmlld19zZWFyY2gge1xyXG4gICAgICAgIHdpZHRoOiAyNDBweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NZW1iZXJMaXN0VmlldyB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG5cclxuICAgIC5teF9NZW1iZXJMaXN0Vmlld19jb250YWluZXIge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVtYmVyTGlzdFZpZXdfc2VwYXJhdG9yIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTWVtYmVyVGlsZVZpZXcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgaGVpZ2h0OiA1NnB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xyXG5cclxuICAgIC5teF9NZW1iZXJUaWxlVmlld19sZWZ0LFxyXG4gICAgLm14X01lbWJlclRpbGVWaWV3X3JpZ2h0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZW1iZXJUaWxlVmlld19sZWZ0IHtcclxuICAgICAgICBmbGV4LWJhc2lzOiAyMDlweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZW1iZXJUaWxlVmlld19uYW1lIHtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XHJcbiAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZW1iZXJUaWxlVmlld191c2VyTGFiZWwge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lbWJlclRpbGVWaWV3X2F2YXRhciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICB3aWR0aDogMzJweDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3dyYXBwZXIge1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctbGVmdDogNDJweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XHJcbn1cclxuXHJcbi5teF9NZXNzYWdlQ29tcG9zZXJfcmVwbGFjZWRfd3JhcHBlciB7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9yZXBsYWNlZF92YWxpZ24ge1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5teF9NZXNzYWdlQ29tcG9zZXJfcm9vbVJlcGxhY2VkX2ljb24ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICB3aWR0aDogMzFweDtcclxuICAgIGhlaWdodDogMzFweDtcclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9yb29tUmVwbGFjZWRfaGVhZGVyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3JvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9hY3Rpb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiA2cHg7XHJcbn1cclxuXHJcbi5teF9NZXNzYWdlQ29tcG9zZXIge1xyXG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl9hdmF0YXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAyNnB4O1xyXG5cclxuICAgICAgICAubXhfQmFzZUF2YXRhciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9lMmVJY29uV3JhcHBlciB7XHJcbiAgICBoZWlnaHQ6IDEycHg7IC8qIE1hdGNoIHRoZSBoZWlnaHQgb2YgdGhlIEUyRSBpY29uIGZvciBhbGlnbm1lbnQgKi9cclxuICAgIHdpZHRoOiAxMnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMjBweDtcclxuICAgIHRvcDogMjJweDtcclxuICAgIG1hcmdpbi1yaWdodDogMDsgLyogQ291bnRlcmFjdCB0aGUgRTJFSWNvbiBjbGFzcyAqL1xyXG4gICAgbWFyZ2luLWxlZnQ6IDNweDsgLyogQ291bnRlcmFjdCB0aGUgRTJFSWNvbiBjbGFzcyAqL1xyXG5cclxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfZTJlSWNvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9ub3Blcm1fZXJyb3Ige1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBjb2xvcjogJGluZm8tcGxpbnRoLWZnLWNvbG9yO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9pbnB1dCB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWluLWhlaWdodDogNjBweDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG5cclxuICAgIHByZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJ0ZS1jb2RlLWJnLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuICAgICAgICBib3JkZXI6IDBweDtcclxuICAgICAgICByZXNpemU6IG5vbmU7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcblxyXG4gICAgICAgIC8qIGhhY2sgZm9yIEZGIGFzIHZlcnRpY2FsIGFsaWdubWVudCBvZiBjdXN0b20gcGxhY2Vob2xkZXIgdGV4dCBpcyBicm9rZW4gKi9cclxuICAgICAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b25faGlnaGxpZ2h0IHtcclxuICAgIEBtaXhpbiBjb21wb3NlckJ1dHRvbkhpZ2hMaWdodDtcclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9idXR0b24ge1xyXG4gICAgQG1peGluIGNvbXBvc2VyQnV0dG9uIDUwJSwgdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSksIHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmLm14X01lc3NhZ2VDb21wb3Nlcl9jbG9zZUJ1dHRvbk1lbnUge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgIH1cclxufVxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3d5c2l3eWcge1xyXG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl93cmFwcGVyIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl9yb3cge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX2FjdGlvbnMge1xyXG4gICAgICAgIC8qIEhlaWdodCBvZiB0aGUgY29tcG9zZXIgZWRpdG9yICovXHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZWRpYUJvZHkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX2J1dHRvbiB7XHJcbiAgICAgICAgQG1peGluIGNvbXBvc2VyQnV0dG9uIDVweCwgJHRlcnRpYXJ5LWNvbnRlbnQsICRwYW5lbHM7XHJcblxyXG4gICAgICAgICYubXhfTWVzc2FnZUNvbXBvc2VyX2Nsb3NlQnV0dG9uTWVudSB7XHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQtMzAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uTWVudSB7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIHBhZGRpbmc6IDFweDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlcl9zZW5kTWVzc2FnZSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuXHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IHtcclxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfaW5wdXQge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl9ub3Blcm1fZXJyb3Ige1xyXG4gICAgICAgIGhlaWdodDogNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFVuc3RhYmxlIGNvbXBhY3QgbW9kZVxyXG4gKi9cclxuXHJcbi5teF9NZXNzYWdlQ29tcG9zZXIubXhfTWVzc2FnZUNvbXBvc2VyLS1jb21wYWN0IHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX3dyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lc3NhZ2VDb21wb3Nlcl9lMmVJY29uV3JhcHBlciB7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCgubXhfTWVzc2FnZUNvbXBvc2VyX2UyZVN0YXR1cykge1xyXG4gICAgICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfYnV0dG9uOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTWVzc2FnZUNvbXBvc2VyX2UyZUljb24ge1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9NZXNzYWdlQ29tcG9zZXJGb3JtYXRCYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHdpZHRoOiBjYWxjKDMycHggKiA2KTtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAvKiBlcXVhbCB0byB6LWluZGV4IG9mIG14X1JlcGx5UHJldmlldyBhbmQgbXhfUm9vbVZpZXdfc3RhdHVzQXJlYSAoMTAwMCkgKi9cclxuICAgIC8qIGJ1dCBhcyBpdCBhcHBlYXJzIGFmdGVyIHRoZW0gaW4gdGhlIERPTSwgd2lsbCBhcHBlYXIgb24gdG9wLiAqL1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuXHJcbiAgICAmLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhcl9zaG93biB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgPiAqIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiAycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X01lc3NhZ2VDb21wb3NlckZvcm1hdEJhcl9idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyRm9ybWF0QmFyX2J1dHRvblRvb2x0aXAge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTNweDtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgbWluLXdpZHRoOiA1NHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTmV3Um9vbUludHJvIHtcclxuICAgIG1hcmdpbjogNDBweCAwIDQ4cHggNjRweDtcclxuXHJcbiAgICAubXhfTWluaUF2YXRhclVwbG9hZGVyX2hhc0F2YXRhcjpub3QoLm14X01pbmlBdmF0YXJVcGxvYWRlcl9idXN5KTpub3QoOmhvdmVyKSB7XHJcbiAgICAgICAgLm14X01pbmlBdmF0YXJVcGxvYWRlcl9pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfTmV3Um9vbUludHJvX2J1dHRvbnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI4cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAgICAgZ2FwOiAxNHB4IDEycHg7XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1mZy1jb2xvcjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtNngpIDAgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkKTtcclxuICAgIH1cclxuXHJcbiAgICA+IHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcclxuICAgICY6bm90KC5teF9Ob3RpZmljYXRpb25CYWRnZV92aXNpYmxlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBCYWRnZXMgYXJlIHN0cnVjdHVyZWQgYSBiaXQgd2VpcmRseSB0byB3b3JrIGFyb3VuZCBpc3N1ZXMgd2l0aCBub24tbW9ub3NwYWNlICovXHJcbiAgICAvKiBmb250IHN0eWxlcy4gVGhlIGJhZGdlIHBpbGwgaXMgYWN0dWFsbHkgYSBiYWNrZ3JvdW5kIGRpdiBhbmQgdGhlIGNvdW50IGZsb2F0cyAqL1xyXG4gICAgLyogd2l0aGluIHRoYXQuIEZvciBleGFtcGxlOiAqL1xyXG4gICAgLyogICggOTkrICkgPC0tIFJvdW5kZWQgcGlsbCBpcyBhIF9iZyBjbGFzcy4gKi9cclxuICAgIC8qICAgICBeLSBUaGUgY291bnQgaXMgYW4gZWxlbWVudCBmbG9hdGluZyB3aXRoaW4gdGhhdC4gKi9cclxuXHJcbiAgICAmLm14X05vdGlmaWNhdGlvbkJhZGdlX3Zpc2libGUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyb29tdGlsZS1kZWZhdWx0LWJhZGdlLWJnLWNvbG9yO1xyXG4gICAgICAgIC8qIEZvciBlbmhhbmNlZCB2aXNpYmlsaXR5IHVuZGVyIGNvbnRyYXN0IGNvbnRyb2wgKi9cclxuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggdG8gb3JkZXIgdGhlIGNvdW50IGEgYml0IGVhc2llciAqL1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgLyogVGhlc2UgYXJlIHRoZSAzIGJhY2tncm91bmQgdHlwZXMgKi9cclxuXHJcbiAgICAgICAgJi5teF9Ob3RpZmljYXRpb25CYWRnZV9kb3Qge1xyXG4gICAgICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcclxuXHJcbiAgICAgICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZV9jb3VudCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvKiBSZWR1bmRhbnQgc291bmRpbmcgbmFtZSwgYnV0IGEgbm90aWZpY2F0aW9uIGJhZGdlIHRoYXQgaW5kaWNhdGVzIHRoZXJlIGlzIGEgcmVndWxhcixcclxuICAgICAgICAgICAgICogbm9uLWhpZ2hsaWdodCBub3RpZmljYXRpb25cclxuICAgICAgICAgICAgICogVGhlIGdyZWVuIGNvbG91ciBvbmx5IGFwcGxpZXMgZm9yIG5vdGlmaWNhdGlvbiBkb3Q6IGJhZGdlcyBpbmRpY2F0aW5nIHRoZSBzYW1lIG5vdGlmaWNhdGlvblxyXG4gICAgICAgICAgICAgKiBsZXZlbCBhcmUgdGhlIHN0YW5kYXJkIGdyZXkuXHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAmLm14X05vdGlmaWNhdGlvbkJhZGdlX2xldmVsX25vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBCYWRnZXMgZm9yIGhpZ2hsaWdodCBub3RpZmljYXRpb25zLiBTdHlsZSBmb3Igbm90aWZpY2F0aW9uIGxldmVsXHJcbiAgICAgICAgICogYmFkZ2VzIGlzIGluIF9FdmVudFRpbGUuc2NzcyBiZWNhdXNlIGl0IGFwcGxpZXMgb25seSB0byBub3RpZmljYXRpb25cclxuICAgICAgICAgKiBkb3RzLCBub3QgYmFkZ2VzLlxyXG4gICAgICAgICAqL1xyXG4gICAgICAgICYubXhfTm90aWZpY2F0aW9uQmFkZ2VfbGV2ZWxfaGlnaGxpZ2h0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfTm90aWZpY2F0aW9uQmFkZ2VfMmNoYXIge1xyXG4gICAgICAgICAgICB3aWR0aDogJGZvbnQtMTZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZm9udC0xNnB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZm9udC0xNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9Ob3RpZmljYXRpb25CYWRnZV8zY2hhciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZm9udC0yNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb250LTE2cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRmb250LTE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBUaGUgZm9sbG93aW5nIGlzIHRoZSBmbG9hdGluZyBiYWRnZSAqL1xyXG5cclxuICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2VfY291bnQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTUsIDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X092ZXJmbG93VGlsZVZpZXcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLm14X092ZXJmbG93VGlsZVZpZXdfdGV4dCB7XHJcbiAgICBmbGV4OiAxIDEgMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4ubXhfT3ZlcmZsb3dUaWxlVmlldzpob3ZlciB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiB0byBrZWVwIHRoZSBjaGV2cm9uIGFsaWduZWQgKi9cclxuXHJcbiAgICAubXhfT3ZlcmZsb3dUaWxlVmlld19jaGV2cm9uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9PdmVyZmxvd1RpbGVWaWV3X2NoZXZyb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBjYWxjKDUwJSAtIDEycHgpOyAvKiBjZW50ZXIgKi9cclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICBjb2xvcjogJGhlYWRlci1wYW5lbC10ZXh0LXByaW1hcnktY29sb3I7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ubXhfT3ZlcmZsb3dUaWxlVmlld19pY29uIHtcclxuICAgIHBhZGRpbmctbGVmdDogM3B4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcclxuICAgIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE3IFRyYXZpcyBSYWxzdG9uXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9QaW5uZWRFdmVudFRpbGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgIC5teF9QaW5uZWRFdmVudFRpbGVfd3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICAvKiBSZW1vdmUgYXZhdGFyIHdpZHRoIGFuZCBzcGFjZSBiZXR3ZWVuIHRoZSBhdmF0YXIgYW5kIHRoZSB3cmFwcGVyICovXHJcbiAgICAgICAgLyogV2UgbmVlZCBpdCB0byBtYWtlIHRoZSBsb2NhdGlvbiBmaXQgKi9cclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tY3BkLXNwYWNlLTR4KSAtIDMycHgpO1xyXG4gICAgICAgIC8qIFByZXZlbnQgYSBsb25nIHNlbmRlciBuYW1lIHRvIG92ZXJmbG93IHRoZSB0aWxlICovXHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgLm14X1Bpbm5lZEV2ZW50VGlsZV90b3Age1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIC5teF9QaW5uZWRFdmVudFRpbGVfc2VuZGVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Bpbm5lZEV2ZW50VGlsZV90aHJlYWQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuICogQ29weXJpZ2h0IDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAvKiA2NHB4ID0gNjNweCArIDFweCBmcm9tIHRoZSBib3R0b20gYm9yZGVyICovXHJcbiAgICBoZWlnaHQ6IDYzcHg7XHJcbiAgICBwYWRkaW5nOiAwIHZhcigtLWNwZC1zcGFjZS00eCk7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xyXG5cclxuICAgIC8qIEZyb20gZmlnbWEgKi9cclxuICAgIGJveC1zaGFkb3c6IDAgdmFyKC0tY3BkLXNwYWNlLTJ4KSB2YXIoLS1jcGQtc3BhY2UtNngpIGNhbGModmFyKC0tY3BkLXNwYWNlLTJ4KSAqIC0xKSByZ2IoMjcsIDI5LCAzNCwgMC4xKTtcclxuXHJcbiAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9tYWluIHtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfY29udGVudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGU6XHJcbiAgICAgICAgICAgICAgICBcImluZGljYXRvcnMgcGluSWNvbiB0aXRsZVwiIGF1dG9cclxuICAgICAgICAgICAgICAgIFwiaW5kaWNhdG9ycyBwaW5JY29uIG1lc3NhZ2VcIiBhdXRvO1xyXG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfSW5kaWNhdG9ycyB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogaW5kaWNhdG9ycztcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMC01eCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX0luZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyYXktNjAwKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfSW5kaWNhdG9yLS1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXByaW1hcnkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9JbmRpY2F0b3ItLWhpZGRlbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfUGluSWNvbiB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogcGluSWNvbjtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICBmaWxsOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnktYWxwaGEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfdGl0bGUge1xyXG4gICAgICAgICAgICBncmlkLWFyZWE6IHRpdGxlO1xyXG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtYWN0aW9uLWFjY2VudCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfdGl0bGVfY291bnRlciB7XHJcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXNlbWlib2xkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfbWVzc2FnZSB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbWVzc2FnZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUGlubmVkTWVzc2FnZUJhbm5lcl9yZWRhY3RlZE1lc3NhZ2Uge1xyXG4gICAgICAgICAgICBncmlkLWFyZWE6IG1lc3NhZ2U7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfYWN0aW9ucyB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJbZGF0YS1zaW5nbGUtbWVzc2FnZT1cInRydWVcIl0ge1xyXG4gICAgLm14X1Bpbm5lZE1lc3NhZ2VCYW5uZXJfY29udGVudCB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJpbmRpY2F0b3JzIHBpbkljb24gbWVzc2FnZVwiIGF1dG87XHJcblxyXG4gICAgICAgIC5teF9QaW5uZWRNZXNzYWdlQmFubmVyX21lc3NhZ2Uge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcblBMWCB1bmlmaWVkIGNvbXBvc2VyIG1lZGlhIHBpY2tlciAoTWlkbmlnaHQpLlxuXG5PcGVucyBBQk9WRSB0aGUgY29tcG9zZXI6IGJnIC0tcGx4LXBhbmVsLTIgKCMyMDJCMzYpLCByYWRpdXMgMTgsIH4zMjJweCB0YWxsLFxudG9wIHRhYiByb3cgd2l0aCBhbiBhY3RpdmUtdGFiIHBpbGwgKHJnYmEoNDYsMTI4LDIyMiwuMjIpKSArIGNsb3NlIFgsIGFjY2VudFxuLS1wbHgtYWNjZW50ICgjMkU4MERFKS4gRmFsbHMgYmFjayB0byBjb21wb3VuZCB0b2tlbnMgaWYgdGhlIFBMWCB0aGVtZSB2YXJzXG5hcmVuJ3QgZGVmaW5lZCAoZS5nLiBub24tTWlkbmlnaHQgdGhlbWUpLCBzbyBpdCBuZXZlciByZW5kZXJzIHVuc3R5bGVkLlxuKi9cblxuLm14X1BseE1lZGlhUGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMzYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7XG4gICAgaGVpZ2h0OiAzMjJweDtcbiAgICAvKiBEb2NrIGNsZWFubHkgQUJPVkUgdGhlIGNvbXBvc2VyIGlucHV0OiB0aGUgcGlja2VyIGlzIGFuIGluLWZsb3cgc2libGluZyBvZlxuICAgICAgIC5teF9NZXNzYWdlQ29tcG9zZXJfcm93IGluc2lkZSB0aGUgY29tcG9zZXIgd3JhcHBlciwgc28gaXQgcHVzaGVzIHRoZSBpbnB1dFxuICAgICAgIGRvd24gcmF0aGVyIHRoYW4gZmxvYXRpbmcgb3ZlciB0aGUgdGltZWxpbmUuIHBvc2l0aW9uOnJlbGF0aXZlICsgei1pbmRleCBrZWVwXG4gICAgICAgaXRzIHNoYWRvdyBhYm92ZSBuZWlnaGJvdXJpbmcgY29tcG9zZXIgY2hyb21lIHdpdGhvdXQgZXNjYXBpbmcgdGhlIGZsb3cuICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luOiAwIDEycHggOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1wYW5lbC0yLCB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSwgIzIwMmIzNikpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBseC1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAxMnB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjQ1KSxcbiAgICAgICAgMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dCwgdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSwgI2ZmZmZmZikpO1xuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCA4cHg7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgIC5teF9QbHhNZWRpYVBpY2tlcl90YWJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX3RhYiB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dC1zZWNvbmRhcnksIHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSwgIzhjOWFhNikpO1xuICAgICAgICBmb250OlxuICAgICAgICAgICAgdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkLCA2MDApIDE0cHgvMSBpbmhlcml0LFxuICAgICAgICAgICAgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBwYWRkaW5nOiA3cHggMTRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4xMnMgZWFzZSxcbiAgICAgICAgICAgIGNvbG9yIDAuMTJzIGVhc2U7XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX3RhYjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dCwgI2ZmZmZmZik7XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX3RhYl9hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ2LCAxMjgsIDIyMiwgMC4yMik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtYWNjZW50LCAjMmU4MGRlKTtcbiAgICB9XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfY2xvc2Uge1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQtc2Vjb25kYXJ5LCB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnksICM4YzlhYTYpKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfY2xvc2U6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgICAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQsICNmZmZmZmYpO1xuICAgIH1cblxuICAgIC5teF9QbHhNZWRpYVBpY2tlcl9lcnJvciB7XG4gICAgICAgIG1hcmdpbjogMCAxMnB4IDZweDtcbiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyOSwgNzIsIDc3LCAwLjE2KTtcbiAgICAgICAgY29sb3I6ICNmZjhhOGY7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgIC5teF9QbHhNZWRpYVBpY2tlcl9ib2R5IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLyogVGhlIHJldXNlZCBFbW9qaVBpY2tlciBmaWxscyB0aGUgYm9keSBhbmQgdXNlcyBpdHMgb3duIHRoZW1pbmcuIFBpbiBpdHNcbiAgICAgICBoZWlnaHQgdG8gdGhlIGJvZHkgc28gaXRzIGludGVybmFsIGNhdGVnb3J5IGJhciArIHNlYXJjaCArIHNjcm9sbCBsaXN0IGxheVxuICAgICAgIG91dCBpbnNpZGUgdGhlIDMyMnB4IHBhbmVsIGluc3RlYWQgb2Ygb3ZlcmZsb3dpbmcgKHdoaWNoIHByZXZpb3VzbHkgbWFkZSB0aGVcbiAgICAgICBwYW5lbCBsb29rIGxpa2UgaXQgd2FzIGZsb2F0aW5nIG92ZXIgdGhlIHRpbWVsaW5lKS4gKi9cbiAgICAubXhfRW1vamlQaWNrZXIge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC8qIGtlZXAgdGhlIGVtb2ppIGJvZHkgc2Nyb2xsYWJsZSB3aXRoaW4gdGhlIGZpeGVkIHBhbmVsIGhlaWdodCAqL1xuICAgIC5teF9FbW9qaVBpY2tlcl9ib2R5IHtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAvKiAtLS0gR0lGIC8gU3RpY2tlciB0YWJzIC0tLSAqL1xuICAgIC5teF9QbHhNZWRpYVBpY2tlcl9tZWRpYVRhYiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfc2VhcmNoIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAgMTJweCA4cHg7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgIC5teF9QbHhNZWRpYVBpY2tlcl9zZWFyY2hJY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQtc2Vjb25kYXJ5LCAjOGM5YWE2KTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX3NlYXJjaElucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBhZGRpbmc6IDlweCAxMnB4IDlweCAzNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wbHgtYm9yZGVyLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LWJnLCByZ2JhKDAsIDAsIDAsIDAuMjUpKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXBseC10ZXh0LCAjZmZmZmZmKTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC5teF9QbHhNZWRpYVBpY2tlcl9zZWFyY2hJbnB1dDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGx4LWFjY2VudCwgIzJlODBkZSk7XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX3NlYXJjaElucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtdGV4dC1zZWNvbmRhcnksICM4YzlhYTYpO1xuICAgIH1cblxuICAgIC8qIEEgdGlkeSwgbm9uLW92ZXJsYXBwaW5nIDMtY29sdW1uIGdyaWQuIFdlIHBpbiBCT1RIIHRoZSBjb2x1bW4gdGVtcGxhdGUgYW5kXG4gICAgICAgYW4gZXhwbGljaXQgc3F1YXJlIHJvdyBoZWlnaHQgKGdyaWQtYXV0by1yb3dzKSBzbyB0aWxlIGdlb21ldHJ5IG5ldmVyXG4gICAgICAgZGVwZW5kcyBvbiB0aGUgZmxha3kgYGFzcGVjdC1yYXRpb2Agb24gPGJ1dHRvbj4gYWNyb3NzIGVuZ2luZXMuIEVxdWFsIGdhcHMsXG4gICAgICAgbm8gbmVnYXRpdmUgbWFyZ2lucywgY29udGVudHMgY2xpcHBlZCDigJQgemVybyBvdmVybGFwLiAqL1xuICAgIC5teF9QbHhNZWRpYVBpY2tlcl9ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBncmlkLWF1dG8tcm93czogOTZweDtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTJweCAxMnB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBzdGFydDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfdGlsZSB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGVhc2UsXG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yIDAuMXMgZWFzZTtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgICB9XG5cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfdGlsZTpob3ZlciB7XG4gICAgICAgIG91dGxpbmUtY29sb3I6IHZhcigtLXBseC1hY2NlbnQsICMyZTgwZGUpO1xuICAgIH1cblxuICAgIC5teF9QbHhNZWRpYVBpY2tlcl90aWxlOmRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBwcm9ncmVzcztcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cblxuICAgIC8qIGltYWdlIGZpbGxzIHRoZSBzcXVhcmUgdGlsZSBhbmQgaXMgY2xpcHBlZCAob2JqZWN0LWZpdDogY292ZXIpLCBzbyBub1xuICAgICAgIHRpbGUgZXZlciBibGVlZHMgaW50byBpdHMgbmVpZ2hib3VyIHJlZ2FyZGxlc3Mgb2Ygc291cmNlIGFzcGVjdCByYXRpby4gKi9cbiAgICAubXhfUGx4TWVkaWFQaWNrZXJfdGlsZSBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm14X1BseE1lZGlhUGlja2VyX3N0YXR1cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMjRweCAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tcGx4LXRleHQtc2Vjb25kYXJ5LCAjOGM5YWE2KTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbn1cbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUHJlc2VuY2VJY29uVmlldyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDI0cHg7XHJcbiAgICBsZWZ0OiAyNHB4O1xyXG4gICAgd2lkdGg6IDEycHg7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblxyXG4gICAgLm14X1ByZXNlbmNlSWNvblZpZXdfb25saW5lIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tYWNjZW50LXByaW1hcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9QcmVzZW5jZUljb25WaWV3X29mZmxpbmUsXHJcbiAgICAubXhfUHJlc2VuY2VJY29uVmlld19kbmQge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1ByZXNlbmNlSWNvblZpZXdfdW5hdmFpbGFibGUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1xdWF0ZXJuYXJ5KTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTYgT3Blbk1hcmtldCBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1ByZXNlbmNlTGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMXB4O1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG59XHJcblxyXG4ubXhfUHJlc2VuY2VMYWJlbF9vbmxpbmUge1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXN1Y2Nlc3MtcHJpbWFyeSk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9SZWFkUmVjZWlwdEdyb3VwIHtcclxuICAgIC0tUmVhZFJlY2VpcHRHcm91cF9FdmVudEJ1YmJsZVRpbGUtc3BhY2luZy1lbmQ6IDc4cHg7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwX2J1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHJcbiAgICAgICAgJi5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZXZlbnQtc2VsZWN0ZWQtY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1JlYWRSZWNlaXB0R3JvdXBfcmVtYWluZGVyIHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTFweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTZweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUmVhZFJlY2VpcHRHcm91cF9jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIC5teF9CYXNlQXZhdGFyIHtcclxuICAgICAgICAgICAgLyogQ29tcG91bmQgdXNlcyBhIGJvcmRlciBvbiBkZWZhdWx0IGF2YXRhcnMgYnV0IG5vIGJvcmRlciBvbiBhY3R1YWwgaW1hZ2VzLCB3ZSB3YW50IGEgYm9yZGVyIGluIGFsbCBjYXNlcyAqL1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJhY2tncm91bmQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLyogUmVzZXQgdGhlIGxpbmUgaGVpZ2h0IGFzIHdlIGFyZSBubyBsb25nZXIgYm94LXNpemluZyBib3JkZXItYm94LiAxNHB4IGJlY2F1c2UgYXZhdGFyIGlzIHNldCBhdCAxNHB4IGluIGNvbXBvbmVudCAqL1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogbGVmdCwgdG9wO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxyXG4gICAgICAgICAgICAgICAgbGVmdCB2YXIoLS10cmFuc2l0aW9uLXNob3J0KSBlYXNlLW91dCxcclxuICAgICAgICAgICAgICAgIHRvcCB2YXIoLS10cmFuc2l0aW9uLXN0YW5kYXJkKSBlYXNlLW91dDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9SZWFkUmVjZWlwdEdyb3VwX3BvcHVwIHtcclxuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcblxyXG4gICAgcmlnaHQ6IDA7XHJcblxyXG4gICAgJi5teF9Db250ZXh0dWFsTWVudV90b3Age1xyXG4gICAgICAgIHRvcDogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfQ29udGV4dHVhbE1lbnVfYm90dG9tIHtcclxuICAgICAgICBib3R0b206IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUmVhZFJlY2VpcHRHcm91cF90aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMTZweCAxNnB4IDhweDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICAvKiBzaG91bGRu4oCZdCBiZSBhY3R1YWxseSBmb2N1c2FibGUgKi9cclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BdXRvSGlkZVNjcm9sbGJhciB7XHJcbiAgICAgICAgLm14X1JlYWRSZWNlaXB0R3JvdXBfcGVyc29uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTJweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWVudS1zZWxlY3RlZC1jb2xvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiA2cHggOHB4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDsgLyogTG9uZyBuYW1lcyBzaG91bGQgbm90IHNocmluayB0aGUgcGljdHVyZSAqL1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUmVhZFJlY2VpcHRHcm91cF9uYW1lIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMnB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9SZWFkUmVjZWlwdEdyb3VwX3NlY29uZGFyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1JlYWRSZWNlaXB0R3JvdXBfcGVyc29uLS10b29sdGlwIHtcclxuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTggVmVjdG9yIENyZWF0aW9ucyBMdGRcclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1JlcGx5UHJldmlldyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIG1heC1oZWlnaHQ6IDUwdmg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuXHJcbiAgICAubXhfUmVwbHlQcmV2aWV3X3NlY3Rpb24ge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gICAgICAgIHJvdy1nYXA6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctOCAkc3BhY2luZy04IDAgMDtcclxuXHJcbiAgICAgICAgLm14X1JlcGx5UHJldmlld19oZWFkZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDhweDtcclxuXHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcblxyXG4gICAgICAgICAgICAubXhfUmVwbHlQcmV2aWV3X2hlYWRlcl9jYW5jZWwgc3ZnIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21WaWV3X2JvZHkge1xyXG4gICAgLm14X1JlcGx5UHJldmlldyB7XHJcbiAgICAgICAgLyogQWRkIGJveC1zaGFkb3cgdG8gdGhlIHJlcGx5IHByZXZpZXcgb24gdGhlIG1haW4gKGxlZnQpIHBhbmVsIG9ubHkuICovXHJcbiAgICAgICAgLyogSXQgaXMgbm90IGFkZGVkIHRvIHRoZSBwcmV2aWV3IG9uIHRoZSAocmlnaHQpIHBhbmVsIGZvciB0aHJlYWRzIGFuZCBhIGNoYXQgd2l0aCBhIG1heGltaXplZCB3aWRnZXQuICovXHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IC0xNnB4IDMycHggJGNvbXBvc2VyLXNoYWRvdy1jb2xvcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVHVsaXIgQXNva2FuIDx0dWxpckBtYXVuaXVtLm5ldD5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1JlcGx5VGlsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAycHggMDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcblxyXG4gICAgPiBhIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XHJcbiAgICAgICAgICAgIFwic2VuZGVyXCIgYXV0b1xyXG4gICAgICAgICAgICBcIm1lc3NhZ2VcIiBhdXRvXHJcbiAgICAgICAgICAgIC8gMTAwJTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciBlYXNlIDAuMTVzO1xyXG4gICAgICAgIGdhcDogMnB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgLy8gYXZvaWQgb3ZlcmZsb3cgd2l0aCB3aWRlIGNvbnRlbnRcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUmVkYWN0ZWRCb2R5IHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUmVkYWN0ZWRCb2R5LFxyXG4gICAgLm14X0hpZGRlbkJvZHkge1xyXG4gICAgICAgIHBhZGRpbmc6IDRweCAwIDJweCAyMHB4O1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogV2UgZG8gcmVwbHkgc2l6ZSBsaW1pdGluZyB3aXRoIENTUyB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGUgVGV4dHVhbEJvZHkgY29tcG9uZW50LiAqL1xyXG4gICAgLm14X0V2ZW50VGlsZV9jb250ZW50IHtcclxuICAgICAgICBncmlkLWFyZWE6IG1lc3NhZ2U7XHJcbiAgICAgICAgJHJlcGx5LWxpbmVzOiAyO1xyXG4gICAgICAgICRsaW5lLWhlaWdodDogJGZvbnQtMThweDtcclxuXHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6ICRyZXBseS1saW5lcztcclxuXHJcbiAgICAgICAgLm14X0V2ZW50VGlsZV9ib2R5Lm14X0V2ZW50VGlsZV9iaWdFbW9qaSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4ICFpbXBvcnRhbnQ7IC8qIFNhbWUgYXMgdmFyKC0tRXZlbnRUaWxlX2dyb3VwX2xpbmUtbGluZS1oZWlnaHQpICovXHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTRweCAhaW1wb3J0YW50OyAvKiBPdmVycmlkZSB0aGUgYmlnIGVtb2ppIG92ZXJyaWRlICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBpbiBvcmRlciB0byBrZWVwIHRoZSBtZXNzYWdlIG9uIHR3byBsaW5lcywgd2UgbmVlZCB0byBtYWtlIHRoZSBib2R5IGlubGluZVxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfYm9keSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFRoZSBhbm5vdGF0aW9uIHdyYXBwZXIgaXMgZmxleCBpbiBub3JtYWwgdGltZWxpbmUgbWVzc2FnZXMsIGJ1dCB0aGF0IHN0b3BzXHJcbiAgICAgICAgLy8gLXdlYmtpdC1saW5lLWNsYW1wIGZyb20gdHJpbW1pbmcgbG9uZyBlZGl0ZWQgcXVvdGVzIGRvd24gdG8gdHdvIGxpbmVzLlxyXG4gICAgICAgIFtkYXRhLXRleHR1YWwtYm9keS1hbm5vdGF0aW9uLXdyYXBwZXJdIHtcclxuICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBIaWRlIGxpbmUgbnVtYmVycyBhbmQgZWRpdGVkIGluZGljYXRvclxyXG4gICAgICAgIC5teF9FdmVudFRpbGVfbGluZU51bWJlcnMsXHJcbiAgICAgICAgW2RhdGEtdGV4dHVhbC1ib2R5LWVkaXRlZC1tYXJrZXJdIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIEhhY2sgdG8gY3V0IGNvbnRlbnQgaW4gPHByZT4gdGFncyB0b28gKi9cclxuICAgICAgICAubXhfRXZlbnRUaWxlX3ByZV9jb250YWluZXIgPiBwcmUge1xyXG4gICAgICAgICAgICBvdmVyZmxvdy14OiBzY3JvbGw7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6ICRyZXBseS1saW5lcztcclxuICAgICAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1hcmtkb3duLWJvZHkgYmxvY2txdW90ZSxcclxuICAgICAgICAubWFya2Rvd24tYm9keSBkbCxcclxuICAgICAgICAubWFya2Rvd24tYm9keSBvbCxcclxuICAgICAgICAubWFya2Rvd24tYm9keSBwLFxyXG4gICAgICAgIC5tYXJrZG93bi1ib2R5IHByZSxcclxuICAgICAgICAubWFya2Rvd24tYm9keSB0YWJsZSxcclxuICAgICAgICAubWFya2Rvd24tYm9keSB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9SZXBseVRpbGVfaW5mbyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9SZXBseVRpbGVfaW5saW5lID4gYSB7XHJcbiAgICAgICAgLyogUmVuZGVyIHJlcGxpZXMgdG8gZW1vdGVzIGlubGluZSB3aXRoIHRoZSBzZW5kZXIgYXZhdGFyICovXHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcclxuICAgICAgICAgICAgXCJzZW5kZXIgICAgICAgIG1lc3NhZ2VcIiBhdXRvXHJcbiAgICAgICAgICAgIC8gbWF4LWNvbnRlbnQgYXV0bztcclxuICAgICAgICBnYXA6IDRweDsgLyogaW5jcmVhc2Ugc3BhY2luZyAqL1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9SZXBseVRpbGVfc2VuZGVyIHtcclxuICAgICAgICBncmlkLWFyZWE6IHNlbmRlcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiA0cHg7XHJcblxyXG4gICAgICAgIC5teF9EaXNhbWJpZ3VhdGVkUHJvZmlsZSB7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcblxyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIGFudGktemFsZ28sIHdpdGggb3ZlcmZsb3cgaGlkZGVuICovXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgIC8qIHRydW5jYXRlIGxvbmcgZGlzcGxheSBuYW1lcyAqL1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9CYXNlQXZhdGFyIHtcclxuICAgICAgICAgICAgLyogUHJldmVudCBjcnVzaGluZyBieSB0aGUgZmxleGJveCAqL1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tQnJlYWRjcnVtYnMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLyogQ3JlYXRlIGEgZmxleGJveCBmb3IgdGhlIGNydW1icyAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcblxyXG4gICAgLm14X1Jvb21CcmVhZGNydW1ic19jcnVtYiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLyogVGhlc2UgY2xhc3NlcyBjb21lIGZyb20gdGhlIENTU1RyYW5zaXRpb24gY29tcG9uZW50LiBUaGVyZSdzIG1hbnkgbW9yZSBjbGFzc2VzIHdlICovXHJcbiAgICAvKiBjb3VsZCBjYXJlIGFib3V0LCBidXQgdGhpcyBpcyBhbGwgd2Ugd29ycmllZCBhYm91dCBmb3Igbm93LiBUaGUgYW5pbWF0aW9uIHdvcmtzIGJ5ICovXHJcbiAgICAvKiBmaXJzdCB0cmlnZ2VyaW5nIHRoZSBlbnRlciBzdGF0ZSB3aXRoIHRoZSBuZXdlc3QgYnJlYWRjcnVtYiBvZmYgc2NyZWVuICgtNDBweCkgdGhlbiAqL1xyXG4gICAgLyogc2xpZGluZyBpdCBpbnRvIHZpZXcuICovXHJcbiAgICAmLm14X1Jvb21CcmVhZGNydW1icy1lbnRlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTsgLyogMzJweCBmb3IgdGhlIGF2YXRhciwgOHB4IGZvciB0aGUgbWFyZ2luICovXHJcbiAgICB9XHJcbiAgICAmLm14X1Jvb21CcmVhZGNydW1icy1lbnRlci1hY3RpdmUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuXHJcbiAgICAgICAgLyogVGltaW5nIGZ1bmN0aW9uIGlzIGFzLXJlcXVlc3RlZCBieSBkZXNpZ24uICovXHJcbiAgICAgICAgLyogTk9URTogVGhlIHRyYW5zaXRpb24gdGltZSBNVVNUIG1hdGNoIHRoZSB2YWx1ZSBwYXNzZWQgdG8gQ1NTVHJhbnNpdGlvbiEgKi9cclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjQwbXMgY3ViaWMtYmV6aWVyKDAuNjYsIDAuMDIsIDAuMzYsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tQnJlYWRjcnVtYnNfcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyAvKiBzcGVjaWZpY2FsbHkgdG8gbWF0Y2ggdGhlIGhlaWdodCB0aGlzIGlzIG5vdCBzY2FsZWQgKi9cclxuICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tQ2FsbEJhbm5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctMTIgJHNwYWNpbmctMTY7XHJcblxyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubXhfUm9vbUNhbGxCYW5uZXJfdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMTtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9Sb29tQ2FsbEJhbm5lcl9sYWJlbCB7XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctODtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9vbUhlYWRlciB7XHJcbiAgICBoZWlnaHQ6IDY0cHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogMCB2YXIoLS1jcGQtc3BhY2UtM3gpIDAgY2FsYyh2YXIoLS1jcGQtc3BhY2UtM3gpICsgdmFyKC0tY3BkLXNwYWNlLTEtNXgpKTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2VwYXJhdG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xyXG5cclxuICAgIGJ1dHRvbjpoYXMoc3ZnLm14X1Jvb21IZWFkZXJfdG9nZ2xlZCkge1xyXG4gICAgICAgIC8qIEZvciBlbmhhbmNlZCB2aXNpYmlsaXR5IHVuZGVyIGNvbnRyYXN0IGNvbnRyb2wgKi9cclxuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Sb29tSGVhZGVyOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctaG92ZXI7XHJcbn1cclxuXHJcbi5teF9Sb29tSGVhZGVyX2luZm9XcmFwcGVyIHtcclxuICAgIC8qIHVuc2V0IGJ1dHRvbiBzdHlsZXMgKi9cclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgYmFja2dyb3VuZDogdW5zZXQ7XHJcbiAgICBib3JkZXI6IHVuc2V0O1xyXG4gICAgZmxleDogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4ubXhfUm9vbUhlYWRlcl9pbmZvIHtcclxuICAgIC8qIFdlIHdhbnQgdGhlIHNwYWNpbmcgdG8gYmUgNjRweCwgMTN4ID0gNTJweCBidXQgd2UgaGF2ZSBhIGZsZXggZ2FwIG9mXHJcbiAgICAgICAxMnB4IHNldCBvbiB0aGUgZmxleCBjb250YWluZXIsIHdoaWNoIHN1bXMgdXAgdG8gNjQgKi9cclxuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0xM3gpO1xyXG59XHJcblxyXG4ubXhfUm9vbUhlYWRlcl90cnVuY2F0ZWQge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAxO1xyXG5cclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLm14X1Jvb21IZWFkZXJfaGVhZGluZyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X1Jvb21IZWFkZXJfaWNvbiB7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbn1cclxuXHJcbi5teF9Sb29tSGVhZGVyIC5teF9GYWNlUGlsZSB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xLTV4KTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1tZWRpdW0pO1xyXG5cclxuICAgIC8qIFJvb21BdmF0YXIgZG9lc24ndCBwYXNzIGNsYXNzZXMgZG93biB0byBhdmF0YXJcclxuICAgIFNvIHNldCBzdHlsZSBoZXJlXHJcbiAgICB1c2luZyBkaXYgYmVjYXVzZSBjb21wb3VuZCBjbGFzc2VzIGFyZSBub3Qgc3RhYmxlICovXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcclxuICAgIH1cclxuXHJcbiAgICAmLm14X0ZhY2VQaWxlX3RvZ2dsZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWNjZXNzLXN1YnRsZSk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWFjdGlvbi1hY2NlbnQpO1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xyXG4gICAgICAgIC8qIEZvciBlbmhhbmNlZCB2aXNpYmlsaXR5IHVuZGVyIGNvbnRyYXN0IGNvbnRyb2wgKi9cclxuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Sb29tSGVhZGVyIC5teF9CYXNlQXZhdGFyIHtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ubXhfUm9vbUhlYWRlcl92aWRlb0NhbGxPcHRpb24ge1xyXG4gICAgLyogV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL2VsZW1lbnQtaHEvY29tcG91bmQvaXNzdWVzLzMzMSAqL1xyXG4gICAgbWluLXdpZHRoOiAyNDBweDtcclxufVxyXG5cclxuLm14X1Jvb21IZWFkZXIgLm14X1Jvb21IZWFkZXJfdG9nZ2xlZCB7XHJcbiAgICBmaWxsOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1hY2NlbnQtcHJpbWFyeSk7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tSW5mb0xpbmUge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4O1xyXG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbUluZm9MaW5lX21lbWJlcnMge1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcclxuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCLCt1wiOyAvKiB2aXN1YWwgc2VwYXJhdG9yICovXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBOb3JkZWNrIElUICsgQ29uc3VsdGluZyBHbWJIXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tS25vY2tzQmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbn1cclxuXHJcbi5teF9Sb29tS25vY2tzQmFyX2NvbnRlbnQge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgbWFyZ2luOiAwIHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbn1cclxuXHJcbi5teF9Sb29tS25vY2tzQmFyX3BhcmFncmFwaCB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4ubXhfUm9vbUtub2Nrc0Jhcl9saW5rIHtcclxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG59XHJcblxyXG4ubXhfUm9vbUtub2Nrc0Jhcl9hY3Rpb24sXHJcbi5teF9Sb29tS25vY2tzQmFyX2F2YXRhciB7XHJcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxufVxyXG5cclxuLm14X1Jvb21Lbm9ja3NCYXJfYWN0aW9uICsgLm14X1Jvb21Lbm9ja3NCYXJfYWN0aW9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG59XHJcblxyXG4ubXhfUm9vbUtub2Nrc0Jhcl9hdmF0YXIgKyAubXhfUm9vbUtub2Nrc0Jhcl9hdmF0YXIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tY3BkLXNwYWNlLTR4KSAqIC0xKTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTUtMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9vbVByZXZpZXdCYXIge1xyXG4gICAgZmxleDogMCAwIGF1dG87XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xOHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG5cclxuICAgICAgICAmLm14X1Jvb21QcmV2aWV3QmFyX3NwaW5uZXJUaXRsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDMsXHJcbiAgICAubXhfUm9vbVByZXZpZXdCYXJfbWVzc2FnZSBwIHtcclxuICAgICAgICAvKiBicmVhay13b3JkLCB3aXRoIGZhbGxiYWNrIHRvIGJyZWFrLWFsbCwgd2hpY2ggaXMgd2lkZXIgc3VwcG9ydGVkICovXHJcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwaW5uZXIge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDA7XHJcbiAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21QcmV2aWV3QmFyX2Zvb3RlciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMHB4O1xyXG5cclxuICAgICAgICAubXhfU3Bpbm5lciB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Sb29tUHJldmlld0Jhcl9hY3Rpb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5teF9Sb29tUHJldmlld0Jhcl9tZXNzYWdlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuXHJcbiAgICBwIHtcclxuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUm9vbVByZXZpZXdCYXJfcGFuZWwge1xyXG4gICAgcGFkZGluZzogOHB4IDhweCA4cHggMjBweDtcclxuXHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cclxuICAgIC5teF9Sb29tUHJldmlld0Jhcl9hY3Rpb25zIHtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIHBhZGRpbmc6IDNweCA4cHg7XHJcblxyXG4gICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tUHJldmlld0Jhcl9tZXNzYWdlIHtcclxuICAgICAgICBmbGV4OiAxIDAgMDtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogV2l0aCBtYXhpbWlzZWQgd2lkZ2V0cywgdGhlIHBhbmVsIGZpdHMgaW4gYmV0dGVyIHdoZW4gcm91bmRlZCAqL1xyXG4ubXhfTWFpblNwbGl0X21heGltaXNlZFdpZGdldCAubXhfUm9vbVByZXZpZXdCYXJfcGFuZWwge1xyXG4gICAgbWFyZ2luOiB2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKTtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKSAvIDIpOyAvKiBTaGFyZWQgd2l0aCByaWdodCBwYW5lbCAqL1xyXG4gICAgbWFyZ2luLXRvcDogMDsgLyogQWxyZWFkeSBjb3ZlcmVkIGJ5IGFwcHMgZHJhd2VyICovXHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbn1cclxuXHJcbi5teF9Sb29tUHJldmlld0Jhcl9kaWFsb2cge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYm94LXNpemluZzogY29udGVudDtcclxuICAgIHdpZHRoOiA0MDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIC5teF9Sb29tUHJldmlld0Jhcl9tZXNzYWdlIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMjBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVByZXZpZXdCYXJfYWN0aW9ucyB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCA1MHB4OyAvKiBleHRyYSB3aWRlICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9wcmltYXJ5IHtcclxuICAgICAgICAgICAgLyogdG8gYWNjb3VudCBmb3IgdGhlIHBhZGRpbmcgb2YgdGhlIHByaW1hcnkgYnV0dG9uIHdoaWNoIGNhdXNlcyBpbmNvbnNpc3RlbnQgbG9vayBiZXR3ZWVuICovXHJcbiAgICAgICAgICAgIC8qIHN1YnNlcXVlbnQgc2Vjb25kYXJ5ICh0ZXh0KSBidXR0b25zICovXHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLm14X1Jvb21QcmV2aWV3QmFyX0ludml0ZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbn1cclxuXHJcbi5teF9Sb29tUHJldmlld0Jhcl9JbnZpdGUgaDMge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm14X1Jvb21QcmV2aWV3QmFyX2ludml0ZXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbn1cclxuXHJcbmEubXhfUm9vbVByZXZpZXdCYXJfaW52aXRlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLm14X1Jvb21QcmV2aWV3QmFyX2ludml0ZXJfbXhpZCB7XHJcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLm14X1Jvb21QcmV2aWV3QmFyX2ljb24ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XHJcbn1cclxuXHJcbi5teF9Sb29tUHJldmlld0Jhcl9mdWxsV2lkdGgge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tUHJldmlld0NhcmQge1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctMzIgJHNwYWNpbmctMjQgIWltcG9ydGFudDsgLyogT3ZlcnJpZGUgU3BhY2VSb29tVmlldydzIGRlZmF1bHQgcGFkZGluZyAqL1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgbWF4LXdpZHRoOiA0ODBweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3lzdGVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuXHJcbiAgICAubXhfUm9vbVByZXZpZXdDYXJkX25vdGljZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMjQ7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMWVtO1xyXG4gICAgICAgICAgICB3aWR0aDogMWVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVByZXZpZXdDYXJkX2ludml0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy0yMDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLTg7XHJcblxyXG4gICAgICAgICAgICAubXhfUm9vbVByZXZpZXdDYXJkX2ludml0ZXJfbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Jvb21QcmV2aWV3Q2FyZF9pbnZpdGVyX214aWQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVByZXZpZXdDYXJkX2F2YXRhciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAubXhfUm9vbVByZXZpZXdDYXJkX3ZpZGVvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTRweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYygoNTBweCArIDIgKiAzcHgpIC8gMik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRzeXN0ZW07XHJcblxyXG4gICAgICAgICAgICBsZWZ0OiBjYWxjKC01MHB4IC8gNCAtIDNweCk7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWZnLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBYWFggUmVtb3ZlIHRoaXMgd2hlbiB2aWRlbyByb29tcyBsZWF2ZSBiZXRhICovXHJcbiAgICAgICAgLm14X0JldGFDYXJkX2JldGFQaWxsIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBpbnNldC1ibG9jay1zdGFydDogJHNwYWNpbmctMzI7XHJcbiAgICAgICAgICAgIGluc2V0LWlubGluZS1lbmQ6ICRzcGFjaW5nLTI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMS5teF9Sb29tUHJldmlld0NhcmRfbmFtZSB7XHJcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy0xNiAwICFpbXBvcnRhbnQ7IC8qIE92ZXJyaWRlIFNwYWNlUm9vbVZpZXcncyBkZWZhdWx0IG1hcmdpbnMgKi9cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVByZXZpZXdDYXJkX3RvcGljIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjJweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0xNjtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxNjBweDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9GYWNlUGlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLTE2O1xyXG4gICAgICAgIC8qIEZvciBlbmhhbmNlZCB2aXNpYmlsaXR5IHVuZGVyIGNvbnRyYXN0IGNvbnRyb2wgKi9cclxuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgIDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVByZXZpZXdDYXJkX2pvaW5CdXR0b25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy0yMDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogJHNwYWNpbmctMjA7XHJcblxyXG4gICAgICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTRweCAwO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9vbVNlYXJjaEF1eFBhbmVsIHtcclxuICAgIC8qIHVzZSBgbWluLWhlaWdodGAgcmF0aGVyIHRoYW4gaGVpZ2h0LCB0byBhbGxvdyByb29tIGZvciB0aGUgdGV4dCB0byB3cmFwIGlmIHRoZSB3aW5kb3cgaXMgbmFycm93ICovXHJcbiAgICBtaW4taGVpZ2h0OiA4NHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG5cclxuICAgIC5teF9Sb29tU2VhcmNoQXV4UGFuZWxfc3VtbWFyeSB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7IC8qIGZsZXggKi9cclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICA+IHN2ZyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21TZWFyY2hBdXhQYW5lbF9zdW1tYXJ5X3RleHQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTE1cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU2VhcmNoV2FybmluZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEzcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21TZWFyY2hBdXhQYW5lbF9idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmhlcml0OyAvKiBmbGV4ICovXHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQsMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21TdWJsaXN0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcblxyXG4gICAgJi5teF9Sb29tU3VibGlzdF9oaWRkZW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoLm14X1Jvb21TdWJsaXN0X21pbmltaXplZCkge1xyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXIge1xyXG4gICAgICAgIC8qIENyZWF0ZSBhIGZsZXhib3ggdG8gbWFrZSBhbGlnbm1lbnQgZWFzeSAqL1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAgICAgLyogU3RpY2t5IEhlYWRlcnMgU3RhcnQgKi9cclxuXHJcbiAgICAgICAgLyogSWRlYWxseSB3ZSdkIGJlIGFibGUgdG8gdXNlIGBwb3NpdGlvbjogc3RpY2t5OyB0b3A6IDA7IGJvdHRvbTogMDtgIG9uIHRoZSAqL1xyXG4gICAgICAgIC8qIGhlYWRlckNvbnRhaW5lciwgaG93ZXZlciBkdWUgdG8gb3VyIGxheW91dCBjb25jZXJucyB3ZSBhY3R1YWxseSBoYXZlIHRvICovXHJcbiAgICAgICAgLyogY2FsY3VsYXRlIGl0IG1hbnVhbGx5IHNvIHdlIGNhbiBzdGlja3kgdGhpbmdzIGluIHRoZSByaWdodCBwbGFjZXMuIFdlIGFsc28gKi9cclxuICAgICAgICAvKiB0YXJnZXQgdGhlIGhlYWRlclRleHQgaW5zdGVhZCBvZiB0aGUgY29udGFpbmVyIHRvIHJlZHVjZSBqdW1wcyB3aGVuIHNjcm9sbGluZywgKi9cclxuICAgICAgICAvKiBhbmQgdG8gaGVscCBoaWRlIHRoZSBiYWRnZXMvb3RoZXIgYnV0dG9ucyB0aGF0IGNvdWxkIGFwcGVhciBvbiBob3Zlci4gVGhpcyAqL1xyXG4gICAgICAgIC8qIGFsbCB3b3JrcyBieSBlbnN1cmluZyB0aGUgaGVhZGVyIHRleHQgaGFzIGEgZml4ZWQgaGVpZ2h0IHdoZW4gc3RpY2t5IHNvIHRoZSAqL1xyXG4gICAgICAgIC8qIGZpeGVkIGhlaWdodCBvZiB0aGUgY29udGFpbmVyIGNhbiBtYWludGFpbiB0aGUgc2Nyb2xsIHBvc2l0aW9uLiAqL1xyXG5cclxuICAgICAgICAvKiBUaGUgY29tYmluZWQgaGVpZ2h0IG11c3QgYmUgc2V0IGluIHRoZSBMZWZ0UGFuZWwgY29tcG9uZW50IGZvciBzdGlja3kgaGVhZGVycyAqL1xyXG4gICAgICAgIC8qIHRvIHdvcmsgY29ycmVjdGx5LiAqL1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9zdGlja2FibGVDb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9zdGlja2FibGUge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IHRvIG1ha2Ugb3JkZXJpbmcgZWFzeSAqL1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgLyogV2UgdXNlIGEgZ2VuZXJpYyBzdGlja3kgY2xhc3MgZm9yIDIgcmVhc29uczogdG8gcmVkdWNlIHN0eWxlIGR1cGxpY2F0aW9uIGFuZCAqL1xyXG4gICAgICAgICAgICAvKiB0byBpZGVudGlmeSB3aGVuIGEgaGVhZGVyIGlzIHN0aWNreS4gSWYgd2UgZGlkbid0IGhhdmUgYSBjb25zaXN0ZW50IHN0aWNreSBjbGFzcywgKi9cclxuICAgICAgICAgICAgLyogd2UnZCBoYXZlIHRvIGRvIHRoZSBcImlzIHN0aWNreVwiIGNoZWNrcyBhZ2FpbiBvbiBjbGljaywgYXMgY2xpY2tpbmcgdGhlIGhlYWRlciAqL1xyXG4gICAgICAgICAgICAvKiB3aGVuIHN0aWNreSBzY3JvbGxzIGluc3RlYWQgb2YgY29sbGFwc2VzIHRoZSBsaXN0LiAqL1xyXG4gICAgICAgICAgICAmLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lcl9zdGlja3kge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4OyAvKiB0byBtYXRjaCB0aGUgaGVhZGVyIGNvbnRhaW5lciAqL1xyXG4gICAgICAgICAgICAgICAgLyogd2lkdGggc2V0IGJ5IEpTIGJlY2F1c2Ugb2YgYSBjb21wYXQgaXNzdWUgYmV0d2VlbiBGaXJlZm94IGFuZCBDaHJvbWUgKi9cclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNXB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLyogV2UgZG9uJ3QgaGF2ZSBhIHRvcCBzdHlsZSBiZWNhdXNlIHRoZSB0b3AgaXMgZGVwZW5kZW50IG9uIHRoZSByb29tIGxpc3QgaGVhZGVyJ3MgKi9cclxuICAgICAgICAgICAgLyogaGVpZ2h0LCBhbmQgaXMgdGhlcmVmb3JlIGNhbGN1bGF0ZWQgaW4gSlMuICovXHJcbiAgICAgICAgICAgIC8qIFRoZSBjbGFzcywgbXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyX3N0aWNreVRvcCwgaXMgYXBwbGllZCB0aG91Z2guICovXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBTdGlja3kgSGVhZGVycyBFbmQgKi9cclxuICAgICAgICAvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X2JhZGdlQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgLyogQ3JlYXRlIGFub3RoZXIgZmxleGJveCByb3cgYmVjYXVzZSBpdCdzIHN1cGVyIGVhc3kgdG8gcG9zaXRpb24gdGhlIGJhZGdlIHRoaXMgd2F5LiAqL1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIC8qIEFwcGx5IHRoZSB3aWR0aCBhbmQgbWFyZ2luIHRvIHRoZSBiYWRnZSBzbyB0aGUgY29udGFpbmVyIGRvZXNuJ3Qgb2NjdXB5IGRlYWQgc3BhY2UgKi9cclxuICAgICAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcclxuICAgICAgICAgICAgICAgIC8qIERvIG5vdCBzZXQgYSB3aWR0aCBzbyB0aGUgYmFkZ2VzIGdldCBwcm9wZXJseSBzaXplZCAqL1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgLyogc2FtZSBhcyBtZW51K2F1eCBidXR0b25zICovXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXJfd2l0aEF1eCkge1xyXG4gICAgICAgICAgICAubXhfTm90aWZpY2F0aW9uQmFkZ2Uge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7IC8qIGp1c3QgdG8gcHVzaCBpdCBvdmVyIGEgYml0LCBhbGlnbmluZyBpdCB3aXRoIHRoZSBvdGhlciBlbGVtZW50cyAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfYXV4QnV0dG9uLFxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9tZW51QnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgLyogc2hvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBub3RpZmljYXRpb24gYmFkZ2UgKi9cclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfYXV4QnV0dG9uOmhvdmVyIHN2ZyxcclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfbWVudUJ1dHRvbjpob3ZlciBzdmcge1xyXG4gICAgICAgICAgICBjb2xvcjogJHBhbmVsLWFjdGlvbnM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBIaWRlIHRoZSBtZW51IGJ1dHRvbiBieSBkZWZhdWx0ICovXHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X21lbnVCdXR0b24ge1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyVGV4dCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTZweCk7IC8qIDE2cHggaXMgdGhlIGJhZGdlIHdpZHRoICovXHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xyXG5cclxuICAgICAgICAgICAgLyogRWxsaXBzaXplIGFueSB0ZXh0IG92ZXJmbG93ICovXHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X2NvbGxhcHNlQnRuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIEluIHRoZSBnZW5lcmFsIGNhc2UsIHdlIHJlc2VydmUgc3BhY2UgZm9yIGVhY2ggc3VibGlzdCBoZWFkZXIgdG8gcHJldmVudCAqL1xyXG4gICAgLyogc2Nyb2xsIGp1bXBzIHdoZW4gdGhleSBiZWNvbWUgc3RpY2t5LiBIb3dldmVyLCB0aGF0IGxlYXZlcyBhIGdhcCB3aGVuICovXHJcbiAgICAvKiBzY3JvbGxlZCB0byB0aGUgdG9wIGFib3ZlIHRoZSBmaXJzdCBzdWJsaXN0ICh3aG9zZSBoZWFkZXIgY2FuIG9ubHkgZXZlciAqL1xyXG4gICAgLyogc3RpY2sgdG8gdG9wKSwgc28gd2UgbWFrZSBzdXJlIHRvIGV4Y2x1ZGUgdGhlIGZpcnN0IHZpc2libGUgc3VibGlzdC4gKi9cclxuICAgICY6bm90KC5teF9Sb29tU3VibGlzdF9oaWRkZW4pIH4gLm14X1Jvb21TdWJsaXN0IC5teF9Sb29tU3VibGlzdF9zdGlja2FibGVDb250YWluZXIge1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVN1Ymxpc3RfcmVzaXplQm94IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC8qIENyZWF0ZSBhbm90aGVyIGZsZXhib3ggY29sdW1uIGZvciB0aGUgdGlsZXMgKi9cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X3RpbGVzIHtcclxuICAgICAgICAgICAgZmxleDogMSAwIDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBjbGlwO1xyXG4gICAgICAgICAgICAvKiBuZWVkIHRoaXMgdG8gYmUgZmxleCBvdGhlcndpc2UgdGhlIG92ZXJmbG93IGhpZGRlbiBmcm9tIGFib3ZlICovXHJcbiAgICAgICAgICAgIC8qIHNvbWV0aW1lcyB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGNsaXBwZWQgbGlzdCAuLi4gbm8gaWRlYSB3aHkgaXQgd291bGQgZG8gdGhpcyAqL1xyXG4gICAgICAgICAgICAvKiBhcyB0aGUgYm94IG1vZGVsIHNob3VsZCBiZSB0b3AgYWxpZ25lZC4gSGFwcGVucyBpbiBib3RoIEZGIGFuZCBDaHJvbWl1bSAqL1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xyXG4gICAgICAgICAgICAvKiB3aXRob3V0IHRoaXMgRmlyZWZveCB3aWxsIHByZWZlciBwdXNoaW5nIHRoZSByZXNpemVyICYgc2hvdyBtb3JlL2xlc3MgYnV0dG9uIGludG8gdGhlIG92ZXJmbG93ICovXHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQsIGJsYWNrIDRweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZUJveF9mb3JjZUV4cGFuZGVkIC5teF9Sb29tU3VibGlzdF90aWxlcyB7XHJcbiAgICAgICAgICAgIC8qIGluIHRoaXMgc3RhdGUgdGhlIGRpdiBjYW4gY29sbGFwc2UgaXRzIGhlaWdodCBlbnRpcmVseSBpbiBDaHJvbWl1bSwgKi9cclxuICAgICAgICAgICAgLyogc28gcHJldmVudCB0aGF0IGJ5IGFsbG93aW5nIG92ZXJmbG93ICovXHJcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAvKiBjbGVhciB0aGUgbWluLWhlaWdodCB0byBtYWtlIGl0IG5vdCBjb2xsYXBzZSBlbnRpcmVseSBpbiBhIHN0YXRlIHdpdGggbm8gYWN0aXZlIHJlc2l6ZXIgKi9cclxuICAgICAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfcmVzaXplckhhbmRsZXNfc2hvd05CdXR0b24ge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgMzJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9yZXNpemVySGFuZGxlcyB7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCA0cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIENsYXNzIG5hbWUgY29tZXMgZnJvbSB0aGUgUmVzaXphYmxlQm94IGNvbXBvbmVudCAqL1xyXG4gICAgICAgIC8qIFRoZSBob3ZlciBzdGF0ZSBuZWVkcyB0byB1c2UgdGhlIHdob2xlIHN1Ymxpc3QsIG5vdCBqdXN0IHRoZSByZXNpemFibGUgYm94LCAqL1xyXG4gICAgICAgIC8qIHNvIHRoYXQgc2VsZWN0b3IgaXMgYmVsb3cgYW5kIG9uZSBsZXZlbCBoaWdoZXIuICovXHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZXJIYW5kbGUge1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5zLXJlc2l6ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuICAgICAgICAgICAgLyogT3ZlcnJpZGUgc3R5bGVzIGZyb20gbGlicmFyeSAqL1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY0cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNHB4ICFpbXBvcnRhbnQ7IC8qIFVwZGF0ZSBSRVNJWkVfSEFORExFX0hFSUdIVCBpZiB0aGlzIGNoYW5nZXMgKi9cclxuXHJcbiAgICAgICAgICAgIC8qIFRoaXMgaXMgcG9zaXRpb25lZCBkaXJlY3RseSBiZWxvdyB0aGUgJ3Nob3cgbW9yZScgYnV0dG9uLiAqL1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7IC8qIG92ZXJyaWRlIGZyb20gbGlicmFyeSAqL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmLm14X1Jvb21TdWJsaXN0X2hhc01lbnVPcGVuIHtcclxuICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X3Jlc2l6ZXJIYW5kbGUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVN1Ymxpc3Rfc2hvd05CdXR0b24ge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEzcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuXHJcbiAgICAgICAgLyogVXBkYXRlIHRoZSByZW5kZXIoKSBmdW5jdGlvbiBmb3IgUm9vbVN1Ymxpc3QgaWYgdGhlc2UgY2hhbmdlICovXHJcbiAgICAgICAgLyogVXBkYXRlIHRoZSBMaXN0TGF5b3V0IGNsYXNzIGZvciBtaW5WaXNpYmxlVGlsZXMgaWYgdGhlc2UgY2hhbmdlLiAqL1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG5cclxuICAgICAgICAvKiBXZSBjcmVhdGUgYSBmbGV4Ym94IHRvIGNoZWF0IGF0IGFsaWdubWVudCAqL1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X3Nob3dOQnV0dG9uQ2hldnJvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBsZWZ0OiAtMXB4OyAvKiBhZGp1c3QgZm9yIGltYWdlIHBvc2l0aW9uICovXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYubXhfUm9vbVN1Ymxpc3RfaGFzTWVudU9wZW4sXHJcbiAgICAmOm5vdCgubXhfUm9vbVN1Ymxpc3RfbWluaW1pemVkKSA+IC5teF9Sb29tU3VibGlzdF9oZWFkZXJDb250YWluZXI6Zm9jdXMtd2l0aGluLFxyXG4gICAgJjpub3QoLm14X1Jvb21TdWJsaXN0X21pbmltaXplZCkgPiAubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyOmhvdmVyIHtcclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfbWVudUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X1Jvb21TdWJsaXN0X21pbmltaXplZCB7XHJcbiAgICAgICAgLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgLm14X1Jvb21TdWJsaXN0X2JhZGdlQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9Sb29tU3VibGlzdF9zdGlja2FibGUge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9Sb29tU3VibGlzdF9hdXhCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMycHggIWltcG9ydGFudDsgLyogIWltcG9ydGFudCB0byBvdmVycmlkZSBob3ZlciBzdHlsZXMgKi9cclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50OyAvKiAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIGhvdmVyIHN0eWxlcyAqL1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgLyogIWltcG9ydGFudCB0byBvdmVycmlkZSBob3ZlciBzdHlsZXMgKi9cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1hY3Rpb25zO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogOHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVN1Ymxpc3RfcmVzaXplQm94IHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9zaG93TkJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgICAgICAubXhfUm9vbVN1Ymxpc3Rfc2hvd05CdXR0b25DaGV2cm9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDsgLyogdG8gY2VudGVyICovXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tU3VibGlzdF9tZW51QnV0dG9uIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5teF9Sb29tU3VibGlzdF9oYXNNZW51T3BlbixcclxuICAgICAgICAmID4gLm14X1Jvb21TdWJsaXN0X2hlYWRlckNvbnRhaW5lcjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5teF9Sb29tU3VibGlzdF9tZW51QnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDQ4cHg7IC8qIGFsaWduIHRvIG1pZGRsZSBvZiBuYW1lLCA0MHB4IGZvciBhdXggYnV0dG9uICh3aXRoIHBhZGRpbmcpIGFuZCA4cHggZm9yIGFsaWdubWVudCAqL1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxOyAvKiBvY2NsdWRlIHRoZSBsaXN0IG5hbWUgKi9cclxuXHJcbiAgICAgICAgICAgICAgICAvKiBUaGlzIGlzIHRoZSBzYW1lIGNvbG9yIGFzIHRoZSBsZWZ0IHBhbmVsIGJhY2tncm91bmQgYmVjYXVzZSBpdCBuZWVkcyAqL1xyXG4gICAgICAgICAgICAgICAgLyogdG8gb2NjbHVkZSB0aGUgc3VibGlzdCB0aXRsZSAqL1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJvb21saXN0LWJnLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyOm5vdCgubXhfUm9vbVN1Ymxpc3RfaGVhZGVyQ29udGFpbmVyX3dpdGhBdXgpIHtcclxuICAgICAgICAgICAgICAgIC5teF9Sb29tU3VibGlzdF9tZW51QnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDhweDsgLyogYWxpZ24gdG8gdGhlIG1pZGRsZSBvZiBuYW1lLCA0MHB4IGxlc3MgdGhhbiB0aGUgYGJvdHRvbWAgYWJvdmUuICovXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Sb29tU3VibGlzdF9jb250ZXh0TWVudSB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDE2cHg7XHJcbiAgICB3aWR0aDogMjUwcHg7XHJcblxyXG4gICAgaHIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IC8qIGFkZGl0aW9uYWwgMTZweCAqL1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgb3BhY2l0eTogMC4xO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Sb29tU3VibGlzdF9jb250ZXh0TWVudV90aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1Jvb21TdWJsaXN0X3NrZWxldG9uVUkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgIGhlaWdodDogMjQwcHg7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBtYXNrLXJlcGVhdDogcmVwZWF0LXk7XHJcbiAgICAgICAgbWFzay1zaXplOiBhdXRvIDQ4cHg7XHJcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiL3Jlcy9pbWcvZWxlbWVudC1pY29ucy9yb29tbGlzdC9za2VsZXRvbi11aS5zdmdcIik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Sb29tU3VibGlzdF9taW5pbWl6ZWQgLm14X1Jvb21TdWJsaXN0X3NrZWxldG9uVUkge1xyXG4gICAgd2lkdGg6IDMycHg7IC8qIGN1dCBvZmYgdGhlIGhvcml6b250YWwgbGluZXMgaW4gdGhlIHN2ZyAqL1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IC8qIGFsaWduIHdpdGggc3VibGlzdCArIGJ1dHRvbnMgKi9cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAtMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKiBOb3RlOiB0aGUgcm9vbSB0aWxlIGV4cGVjdHMgdG8gYmUgaW4gYSBmbGV4Ym94IGNvbHVtbiBjb250YWluZXIgKi9cclxuLm14X1Jvb21UaWxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgIHBhZGRpbmc6IDRweDtcclxuXHJcbiAgICAvKiBUaGUgdGlsZSBpcyBhbHNvIGEgZmxleGJveCByb3cgaXRzZWxmICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgY29udGFpbjogY29udGVudDsgLyogTm90IHN0cmljdCBhcyBpdCB3aWxsIGJyZWFrIHdoZW4gcmVzaXppbmcgYSBzdWJsaXN0IHZlcnRpY2FsbHkgKi9cclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xyXG5cclxuICAgICYubXhfUm9vbVRpbGVfc2VsZWN0ZWQsXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cy13aXRoaW4sXHJcbiAgICAmLm14X1Jvb21UaWxlX2hhc01lbnVPcGVuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFuZWwtYWN0aW9ucztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0RlY29yYXRlZFJvb21BdmF0YXIsXHJcbiAgICAubXhfUm9vbVRpbGVfYXZhdGFyQ29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21UaWxlX2RldGFpbHMge1xyXG4gICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVRpbGVfdGl0bGVDb250YWluZXIge1xyXG4gICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgICAgZmxleC1iYXNpczogMDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IC8qIHNwYWNpbmcgdG8gYnV0dG9ucy9iYWRnZXMgKi9cclxuXHJcbiAgICAgICAgLyogQ3JlYXRlIGEgbmV3IGNvbHVtbiBsYXlvdXQgZmxleGJveCBmb3IgdGhlIHRpdGxlIHBhcnRzICovXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAubXhfUm9vbVRpbGVfc3VidGl0bGUge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6ICRzcGFjaW5nLTQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogLTFweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Sb29tVGlsZV90aXRsZSxcclxuICAgICAgICAubXhfUm9vbVRpbGVfc3VidGl0bGVfdGV4dCB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1Jvb21UaWxlX3RpdGxlIHtcclxuICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcblxyXG4gICAgICAgICAgICAmLm14X1Jvb21UaWxlX3RpdGxlSGFzVW5yZWFkRXZlbnRzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfUm9vbVRpbGVfdGl0bGVXaXRoU3VidGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4OyAvKiBzaGlmdCB0aGUgdGl0bGUgdXAgYSBiaXQgbW9yZSAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsgLyogc3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgKi9cclxuICAgIH1cclxuXHJcbiAgICAubXhfUm9vbVRpbGVfYmFkZ2VDb250YWluZXIge1xyXG4gICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAvKiBkb24ndCBzZXQgd2lkdGggc28gdGhhdCBpdCB0YWtlcyBubyBzcGFjZSB3aGVuIHRoZXJlIGlzIG5vIGJhZGdlIHRvIHNob3cgKi9cclxuICAgICAgICBtYXJnaW46IGF1dG8gMDsgLyogdmVydGljYWxseSBhbGlnbiAqL1xyXG5cclxuICAgICAgICAvKiBDcmVhdGUgYSBmbGV4Ym94IHRvIG1ha2UgYWxpZ25pbmcgZG90IGJhZGdlcyBlYXNpZXIgKi9cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4OyAvKiBjZW50ZXJpbmcgKi9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Ob3RpZmljYXRpb25CYWRnZV9kb3Qge1xyXG4gICAgICAgICAgICAvKiBtYWtlIHRoZSBzbWFsbGVyIGRvdCBvY2N1cHkgdGhlIHNhbWUgd2lkdGggZm9yIGNlbnRlcmluZyAqL1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogVGhlIGNvbnRleHQgbWVudSBidXR0b25zIGFyZSBoaWRkZW4gYnkgZGVmYXVsdCAqL1xyXG4gICAgLm14X1Jvb21UaWxlX21lbnVCdXR0b24sXHJcbiAgICAubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIElmIHRoZSByb29tIGhhcyBhbiBvdmVycmlkZW4gbm90aWZpY2F0aW9uIHNldHRpbmcgdGhlbiB3ZSBhbHdheXMgc2hvdyB0aGUgbm90aWZpY2F0aW9ucyBtZW51IGJ1dHRvbiAqL1xyXG4gICAgLm14X1Jvb21UaWxlX25vdGlmaWNhdGlvbnNCdXR0b24ubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbl9zaG93IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCgubXhfUm9vbVRpbGVfbWluaW1pemVkLCAubXhfUm9vbVRpbGVfc3RpY2t5KSB7XHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzLXdpdGhpbixcclxuICAgICAgICAmLm14X1Jvb21UaWxlX2hhc01lbnVPcGVuIHtcclxuICAgICAgICAgICAgLyogSGlkZSB0aGUgYmFkZ2UgY29udGFpbmVyIG9uIGhvdmVyIGJlY2F1c2UgaXQnbGwgYmUgYSBtZW51IGJ1dHRvbiAqL1xyXG4gICAgICAgICAgICAubXhfUm9vbVRpbGVfYmFkZ2VDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUm9vbVRpbGVfbm90aWZpY2F0aW9uc0J1dHRvbixcclxuICAgICAgICAgICAgLm14X1Jvb21UaWxlX21lbnVCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9Sb29tVGlsZV9taW5pbWl6ZWQge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC5teF9EZWNvcmF0ZWRSb29tQXZhdGFyLFxyXG4gICAgICAgIC5teF9Sb29tVGlsZV9hdmF0YXJDb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE4LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Sb29tVXBncmFkZVdhcm5pbmdCYXIge1xyXG4gICAgbWF4LWhlaWdodDogMjM1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5mby1wbGludGgtYmctY29sb3I7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcclxufVxyXG5cclxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0Jhcl93cmFwcGVkIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9Sb29tVXBncmFkZVdhcm5pbmdCYXJfaGVhZGVyIHtcclxuICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLm14X1Jvb21VcGdyYWRlV2FybmluZ0Jhcl9ib2R5IHtcclxuICAgIGNvbG9yOiAkYWxlcnQ7XHJcbn1cclxuXHJcbi5teF9Sb29tVXBncmFkZVdhcm5pbmdCYXJfdXBncmFkZWxpbmsge1xyXG4gICAgY29sb3I6ICRhbGVydDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4ubXhfUm9vbVVwZ3JhZGVXYXJuaW5nQmFyX3NtYWxsIHtcclxuICAgIGNvbG9yOiAkaW5mby1wbGludGgtZmctY29sb3I7XHJcbiAgICBmb250LXNpemU6IDcwJTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMTkgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NlbmRNZXNzYWdlQ29tcG9zZXIge1xyXG4gICAgZmxleDogMTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgIC8qIGZpeGVkIGxpbmUgaGVpZ2h0IHRvIHByZXZlbnQgZW1vamkgZnJvbSBiZWluZyB0YWxsZXIgdGhhbiB0ZXh0ICovXHJcbiAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICAvKiBkb24ndCBncm93IHdpZGVyIHRoYW4gYXZhaWxhYmxlIHNwYWNlICovXHJcbiAgICBtaW4td2lkdGg6IDA7XHJcblxyXG4gICAgLm14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAvKiBtaW4taGVpZ2h0IGF0IHRoaXMgbGV2ZWwgc28gdGhlIG14X0Jhc2ljTWVzc2FnZUNvbXBvc2VyX2lucHV0ICovXHJcbiAgICAgICAgLyogc3RpbGwgc3RheXMgdmVydGljYWxseSBjZW50ZXJlZCB3aGVuIGxlc3MgdGhhbiA1NXB4LiAqL1xyXG4gICAgICAgIC8qIFdlIGFsc28gc2V0IHRoaXMgdG8gZW5zdXJlIHRoZSB2b2ljZSBtZXNzYWdlIHJlY29yZGluZyB3aWRnZXQgKi9cclxuICAgICAgICAvKiBkb2Vzbid0IGNhdXNlIGEganVtcC4gKi9cclxuICAgICAgICBtaW4taGVpZ2h0OiA1NXB4O1xyXG5cclxuICAgICAgICAubXhfQmFzaWNNZXNzYWdlQ29tcG9zZXJfaW5wdXQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggMDtcclxuICAgICAgICAgICAgLyogdGhpcyB3aWxsIGNlbnRlciB0aGUgY29udGVudGVkaXRhYmxlICovXHJcbiAgICAgICAgICAgIC8qIGluIGl0J3MgcGFyZW50IHZlcnRpY2FsbHkgKi9cclxuICAgICAgICAgICAgLyogd2hpbGUga2VlcGluZyB0aGUgYXV0b2NvbXBsZXRlIGF0IHRoZSB0b3AgKi9cclxuICAgICAgICAgICAgLyogb2YgdGhlIGNvbXBvc2VyLiBUaGUgcGFyZW50IG5lZWRzIHRvIGJlIGEgZmxleCBjb250YWluZXIgZm9yIHRoaXMgdG8gd29yay4gKi9cclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgICAgIC8qIG1heC1oZWlnaHQgYXQgdGhpcyBsZXZlbCBzbyBhdXRvY29tcGxldGUgZG9lc24ndCBnZXQgc2Nyb2xsZWQgdG9vICovXHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE0MHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIubXhfU3RpY2tlcnNfY29udGVudCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubXhfU3RpY2tlcnNfY29udGVudF9jb250YWluZXIge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbn1cclxuXHJcbiNteF9wZXJzaXN0ZWRFbGVtZW50X3N0aWNrZXJQaWNrZXIge1xyXG4gICAgLm14X0FwcFRpbGVGdWxsV2lkdGgge1xyXG4gICAgICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQXBwVGlsZU1lbnVCYXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWZyYW1lIHtcclxuICAgICAgICAvKiBTdGlja2VyIHBpY2tlciBkZXBlbmRzIG9uIHRoZSBmaXhlZCBoZWlnaHQgcHJldmlvdXNseSB1c2VkIGZvciBhbGwgdGlsZXMgKi9cclxuICAgICAgICBoZWlnaHQ6IDI4M3B4OyAvKiBoZWlnaHQgb2YgdGhlIHBvcG91dCBtaW51cyB0aGUgQXBwVGlsZSBtZW51IGJhciAqL1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU3RpY2tlcnNfY29udGVudFBsYWNlaG9sZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfU3RpY2tlcnNfY29udGVudFBsYWNlaG9sZGVyIHAge1xyXG4gICAgbWF4LXdpZHRoOiAyMDBweDtcclxufVxyXG5cclxuLm14X1N0aWNrZXJzX2FkZExpbmsge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICRhY2NlbnQ7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9UaGlyZFBhcnR5TWVtYmVySW5mbyB7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVG9wVW5yZWFkTWVzc2FnZXNCYXIge1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjRweDtcclxuICAgIHJpZ2h0OiAyNHB4O1xyXG4gICAgd2lkdGg6IDM4cHg7XHJcbn1cclxuXHJcbi5teF9Ub3BVbnJlYWRNZXNzYWdlc0Jhcjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLThweDtcclxuICAgIGxlZnQ6IDExcHg7XHJcbiAgICB3aWR0aDogNHB4O1xyXG4gICAgaGVpZ2h0OiA0cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuICAgIGJvcmRlcjogNnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC10ZXJ0aWFyeSk7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLm14X1RvcFVucmVhZE1lc3NhZ2VzQmFyX3Njcm9sbFVwIHtcclxuICAgIGhlaWdodDogMzhweDtcclxuICAgIHdpZHRoOiAzOHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTlweDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcclxuICAgIGJvcmRlcjogMS4zcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDZweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVG9wVW5yZWFkTWVzc2FnZXNCYXJfbWFya0FzUmVhZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXI6IDEuM3B4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1pY29uLXRlcnRpYXJ5KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBtYXJnaW46IDVweCBhdXRvO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDFweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnkpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVXNlcklkZW50aXR5V2FybmluZyB7XHJcbiAgICAvKiA0MnB4IGlzIHRoZSBwYWRkaW5nLWxlZnQgb2YgLm14X01lc3NhZ2VDb21wb3Nlcl93cmFwcGVyIGluIHJlcy9jc3Mvdmlld3Mvcm9vbXMvX01lc3NhZ2VDb21wb3Nlci5wY3NzICovXHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtNDJweCArIHZhcigtLVJvb21WaWV3X01lc3NhZ2VMaXN0LXBhZGRpbmcpKTtcclxuXHJcbiAgICAubXhfVXNlcklkZW50aXR5V2FybmluZ19yb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm14X1VzZXJJZGVudGl0eVdhcm5pbmdfbWFpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtNngpO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5teF9Vc2VySWRlbnRpdHlXYXJuaW5nX21haW4uY3JpdGljYWwge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5teF9Vc2VySWRlbnRpdHlXYXJuaW5nLmNyaXRpY2FsIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNwZC1jb2xvci1yZWQtMTAwKSAwJSwgdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKSAxMDAlKTtcclxufVxyXG5cclxuLm14X01lc3NhZ2VDb21wb3Nlci5teF9NZXNzYWdlQ29tcG9zZXItLWNvbXBhY3QgPiAubXhfVXNlcklkZW50aXR5V2FybmluZyB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMjVweCArIHZhcigtLVJvb21WaWV3X01lc3NhZ2VMaXN0LXBhZGRpbmcpKTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX3N0b3Age1xyXG4gICAgLyogMjBweCArIDRweCBwYWRkaW5nICsgMnB4IGJvcmRlciBtYWtlcyB0aGlzIGEgMzJweCBzcXVhcmUgKGFzIGludGVuZGVkKSAqL1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJHZvaWNlLXJlY29yZC1zdG9wLWJvcmRlci1jb2xvcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDMycHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDsgLyogYmV0d2VlbiB1cyBhbmQgdGhlIHdhdmVmb3JtIGNvbXBvbmVudCAqL1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIGNvbG9yOiAkdm9pY2UtcmVjb3JkLXN0b3Atc3ltYm9sLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVm9pY2VSZWNvcmRDb21wb3NlclRpbGVfZGVsZXRlIHtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIG1hcmdpbi1yaWdodDogMnB4OyAvKiBkaXN0YW5jZSBmcm9tIGxlZnQgZWRnZSBvZiB3YXZlZm9ybSBjb250YWluZXIgKGNvbnRhaW5lciBoYXMgc29tZSBtYXJnaW4gdG9vKSAqL1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIGNvbG9yOiAkdm9pY2UtcmVjb3JkLWljb24tY29sb3I7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Wb2ljZVJlY29yZENvbXBvc2VyVGlsZV91cGxvYWRpbmdTdGF0ZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG59XHJcblxyXG4ubXhfVm9pY2VSZWNvcmRDb21wb3NlclRpbGVfZmFpbGVkU3RhdGUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMXB4O1xyXG5cclxuICAgIC5teF9Wb2ljZVJlY29yZENvbXBvc2VyVGlsZV91cGxvYWRTdGF0ZV9iYWRnZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9NZXNzYWdlQ29tcG9zZXJfcm93IC5teF9Wb2ljZU1lc3NhZ2VQcmltYXJ5Q29udGFpbmVyIHtcclxuICAgIC8qIE5vdGU6IHJlbWFpbmluZyBjbGFzcyBwcm9wZXJ0aWVzIGFyZSBpbiB0aGUgUGxheWVyQ29udGFpbmVyIENTUy4gKi9cclxuXHJcbiAgICAvKiBmaXhlZCBoZWlnaHQgdG8gcmVkdWNlIGxheW91dCBqdW1wcyB3aXRoIHRoZSBwbGF5IGJ1dHRvbiBhcHBlYXJpbmcgKi9cclxuICAgIC8qIGh0dHBzOi8vZ2l0aHViLmNvbS92ZWN0b3ItaW0vZWxlbWVudC13ZWIvaXNzdWVzLzE4NDMxICovXHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcblxyXG4gICAgbWFyZ2luOiA2cHg7IC8qIGZvcmNlIHRoZSBjb21wb3NlciBhcmVhIHRvIHB1dCBhIGd1dHRlciBhcm91bmQgdXMgKi9cclxuICAgIG1hcmdpbi1yaWdodDogNnB4OyAvKiBpc29sYXRlIGZyb20gc3RvcC9zZW5kIGJ1dHRvbiAqL1xyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogaW1wb3J0YW50IGZvciB0aGUgbGl2ZSBjaXJjbGUgKi9cclxuXHJcbiAgICAmLm14X1ZvaWNlUmVjb3JkQ29tcG9zZXJUaWxlX3JlY29yZGluZyB7XHJcbiAgICAgICAgLyogV2UgYXJlIHB1dHRpbmcgdGhlIGNpcmNsZSBpbiB0aGlzIHBhZGRpbmcsIHNvIHdlIG5lZWQgKzEwcHggZnJvbSB0aGUgcmVndWxhciAqL1xyXG4gICAgICAgIC8qIHBhZGRpbmcgb24gdGhlIGxlZnQgc2lkZS4gKi9cclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcmVjb3JkaW5nLXB1bHNlIDJzIGluZmluaXRlO1xyXG5cclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZvaWNlLXJlY29yZC1saXZlLWNpcmNsZS1jb2xvcjtcclxuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAxMnB4OyAvKiAxMnB4IGZyb20gdGhlIGxlZnQgZWRnZSBmb3IgY29udGFpbmVyIHBhZGRpbmcgKi9cclxuICAgICAgICAgICAgdG9wOiAxN3B4OyAvKiB2ZXJ0aWNhbGx5IGNlbnRlciAobWlkZGxlIGFsaWduIHdpdGggY2xvY2spICovXHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfTWVzc2FnZUNvbXBvc2VyX3d5c2l3eWcgLm14X1ZvaWNlTWVzc2FnZVByaW1hcnlDb250YWluZXIge1xyXG4gICAgJi5teF9Wb2ljZVJlY29yZENvbXBvc2VyVGlsZV9yZWNvcmRpbmcge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHRvcDogMTVweDsgLyogdmVydGljYWxseSBjZW50ZXIgKG1pZGRsZSBhbGlnbiB3aXRoIGNsb2NrKSAqL1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogVGhlIGtleWZyYW1lcyBhcmUgc2xpZ2h0bHkgd2VpcmQgaGVyZSB0byBoZWxwIG1ha2UgYSByYW1waW5nL3B1bmNoIGVmZmVjdCAqL1xyXG4vKiBmb3IgdGhlIHJlY29yZGluZyBkb3QuIFdlIHN0YXJ0IGFuZCBlbmQgYXQgMTAwJSBvcGFjaXR5IHRvIGhlbHAgbWFrZSB0aGUgKi9cclxuLyogZG90IGZlZWwgYSBiaXQgbGlrZSBhIHJlYWwgbGFtcCB0aGF0IGlzIGJsaW5raW5nOiB0aGUgYW5pbWF0aW9uIGVuZHMgdXAgKi9cclxuLyogc3BlbmRpbmcgYSBsb3Qgb2YgaXRzIHRpbWUgc2hvd2luZyBhIHN0ZWFkeSBzdGF0ZSB3aXRob3V0IGEgZmFkZSBlZmZlY3QuICovXHJcbi8qIFRoaXMgbGFtcCBlZmZlY3QgZXh0ZW5kcyBpbnRvIHdoeSB0aGUgMCUgb3BhY2l0eSBrZXlmcmFtZSBpcyBub3QgaW4gdGhlICovXHJcbi8qIG1pZHBvaW50OiBsYW1wcyB0YWtlIGxvbmdlciB0byB0dXJuIG9mZiB0aGFuIHRoZXkgZG8gdG8gdHVybiBvbiwgYW5kIHRoZSAqL1xyXG4vKiBleHRyYSBmcmFtZXMgZ2l2ZSBpdCBhIGJpdCBvZiBhIHJlYWxpc3RpYyBwdW5jaCBmb3Igd2hlbiB0aGUgYW5pbWF0aW9uIGlzICovXHJcbi8qIHJhbXBpbmcgYmFjayB1cCB0byAxMDAlIG9wYWNpdHkuICovXHJcblxyXG4vKiBUYXJnZXQgYW5pbWF0aW9uIHRpbWluZ3M6IHN0ZWFkeSBmb3IgMS41cywgZmFkZSBvdXQgZm9yIDAuM3MsIGZhZGUgaW4gZm9yIDAuMnMgKi9cclxuLyogKGludGVuZGVkIHRvIGJlIHVzZWQgaW4gYSBsb29wIGZvciAycyBhbmltYXRpb24gc3BlZWQpICovXHJcbkBrZXlmcmFtZXMgcmVjb3JkaW5nLXB1bHNlIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgMzUlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgNjUlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xyXG4gICAgLm14X1ZvaWNlTWVzc2FnZVByaW1hcnlDb250YWluZXIge1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOC0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfV2hvSXNUeXBpbmdUaWxlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMThweDsgLyogb2Zmc2V0IHBhZGRpbmcgZnJvbSBteF9Sb29tVmlld19NZXNzYWdlTGlzdCB0byBjZW50ZXIgYXZhdGFycyAqL1xyXG4gICAgcGFkZGluZy10b3A6IDE4cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLyogcG9zaXRpb24gdGhlIGluZGljYXRvciBpbiB0aGUgc2FtZSBwbGFjZSBob3Jpem9udGFsbHkgYXMgLm14X0V2ZW50VGlsZV9hdmF0YXIuICovXHJcbi5teF9XaG9Jc1R5cGluZ1RpbGVfYXZhdGFycyB7XHJcbiAgICBmbGV4OiAwIDAgODJweDsgLyogMTggKHBhZGRpbmcgb24gbWVzc2FnZSBsaXN0KSArIDY0IChwYWRkaW5nIG9uIGV2ZW50IGxpbmVzKSAqL1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfV2hvSXNUeXBpbmdUaWxlX2F2YXRhcnMgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xyXG59XHJcblxyXG4ubXhfV2hvSXNUeXBpbmdUaWxlX2F2YXRhcnMgLm14X0Jhc2VBdmF0YXIge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJhY2tncm91bmQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG59XHJcblxyXG4ubXhfV2hvSXNUeXBpbmdUaWxlX3JlbWFpbmluZ0F2YXRhclBsYWNlaG9sZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRiYWNrZ3JvdW5kO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTI0cHg7XHJcbiAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm14X1dob0lzVHlwaW5nVGlsZV9sYWJlbCB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XHJcbiAgICBjb2xvcjogJHJvb210b3BpYy1jb2xvcjtcclxufVxyXG5cclxuLm14X1dob0lzVHlwaW5nVGlsZV9sYWJlbCA+IHNwYW4ge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3Jlcy9pbWcvdHlwaW5nLWluZGljYXRvci0yeC5naWZcIik7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ubXhfTWF0cml4Q2hhdF91c2VDb21wYWN0TGF5b3V0IHtcclxuICAgIC5teF9XaG9Jc1R5cGluZ1RpbGUge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9FZGl0V3lzaXd5Z0NvbXBvc2VyIHtcclxuICAgIC0tRWRpdFd5c2l3eWdDb21wb3Nlci1wYWRkaW5nLWlubGluZTogM3B4O1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvKiBkaXNhYmxlIG92ZXJmbG93ICovXHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGdhcDogOHB4O1xyXG4gICAgcGFkZGluZzogOHB4IHZhcigtLUVkaXRXeXNpd3lnQ29tcG9zZXItcGFkZGluZy1pbmxpbmUpO1xyXG5cclxuICAgIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRlbnQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkcHJpbWFyeS1oYWlybGluZS1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xyXG5cclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LTQwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0VkaXRXeXNpd3lnQ29tcG9zZXJfYnV0dG9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwLXJldmVyc2U7IC8qIGRpc3BsYXkgXCJTYXZlXCIgb3ZlciBcIkNhbmNlbFwiICovXHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7IC8qIG1hZ2ljIG51bWJlciB0byBhbGlnbiB0aGUgZWRnZSBvZiB0aGUgYnV0dG9uIHdpdGggdGhlIGlucHV0IGFyZWEgKi9cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Zvcm1hdHRpbmdCdXR0b25zX0J1dHRvbiB7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2VuZFd5c2l3eWdDb21wb3NlciB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG4gICAgLyogZml4ZWQgbGluZSBoZWlnaHQgdG8gcHJldmVudCBlbW9qaSBmcm9tIGJlaW5nIHRhbGxlciB0aGFuIHRleHQgKi9cclxuICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xOHB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XHJcbiAgICBnYXA6IDhweDtcclxuXHJcbiAgICAubXhfRm9ybWF0dGluZ0J1dHRvbnMge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgcGFkZGluZzogNnB4IDExcHggNnB4IDEycHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG5cclxuICAgICAgICAubXhfRTJFSWNvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDdweCAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJltkYXRhLWlzLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcblxyXG4gICAgICAgICAgICAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmW2RhdGEtaXMtZXhwYW5kZWQ9XCJmYWxzZVwiXSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250YWluZXIge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbiAgICAgICAgICAgIC8qIGRvbid0IGdyb3cgd2lkZXIgdGhhbiBhdmFpbGFibGUgc3BhY2UgKi9cclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcblxyXG4gICAgICAgICAgICAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIC8qIHRoaXMgd2lsbCBjZW50ZXIgdGhlIGNvbnRlbnRlZGl0YWJsZSAqL1xyXG4gICAgICAgICAgICAgICAgLyogaW4gaXQncyBwYXJlbnQgdmVydGljYWxseSAqL1xyXG4gICAgICAgICAgICAgICAgLyogd2hpbGUga2VlcGluZyB0aGUgYXV0b2NvbXBsZXRlIGF0IHRoZSB0b3AgKi9cclxuICAgICAgICAgICAgICAgIC8qIG9mIHRoZSBjb21wb3Nlci4gVGhlIHBhcmVudCBuZWVkcyB0byBiZSBhIGZsZXggY29udGFpbmVyIGZvciB0aGlzIHRvIHdvcmsuICovXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgIC8qIHRoZSBsaW5lIGhlaWdodCBpcyAkZm9udC0yMnB4IChzZXQgaW4gX0VkaXRvci5wY3NzKSBhbmQgd2Ugd2FudCB0byBkaXNwbGF5IDE2IGxpbmVzICovXHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDE2ICogJGZvbnQtMjJweCk7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU2VuZFd5c2l3eWdDb21wb3Nlci1mb2N1c2VkIHtcclxuICAgIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRhaW5lciB7XHJcbiAgICAvKiBUaGVzZSBhcmUgc2V0IGluIEphdmFzY3JpcHQgKi9cclxuICAgIC0tYXZhdGFyLWxldHRlcjogXCJcIjtcclxuICAgIC0tYXZhdGFyLWJhY2tncm91bmQ6IHVuc2V0O1xyXG4gICAgLS1wbGFjZWhvbGRlcjogXCJcIjtcclxuXHJcbiAgICBAa2V5ZnJhbWVzIHZpc3VhbGJlbGwge1xyXG4gICAgICAgIGZyb20ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmlzdWFsLWJlbGwtYmctY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRvIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9XeXNpd3lnQ29tcG9zZXJfRWRpdG9yX2NvbnRlbnQge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yMnB4O1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcblxyXG4gICAgICAgIC8qIEZvcmNlIGNhcmV0IG5vZGVzIHRvIGJlIHNlbGVjdGVkIGluIGZ1bGwgc28gdGhhdCB0aGV5IGNhbiBiZSAqL1xyXG4gICAgICAgIC8qIG5hdmlnYXRlZCB0aHJvdWdoIGluIGEgc2luZ2xlIGtleXByZXNzICovXHJcbiAgICAgICAgLmNhcmV0Tm9kZSB7XHJcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBhbGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyB3ZSBhbHdheXMgaGF2ZSBhIDxici8+IHRhZyBhdCB0aGUgZW5kIG9mIHRoZSBodG1sLCB3ZSBuZWVkIGl0IHRvIGJlIHByZXNlbnQgYXQgZmlyc3QgdGhlbiBoaWRlIGl0IGFzIHNvb24gYXNcclxuICAgICAgICAvLyB3ZSBoYXZlIGFueSBvdGhlciBlbGVtZW50c1xyXG4gICAgICAgIGJyOm5vdCg6b25seS1jaGlsZCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC8qIHRoaXMgbWF5IHNlZW0gcmVkdW5kYW50LCBidXQgd2UgbmVlZCB0byBoYW5kbGUgemVybyBjb250ZW50IGZvcm1hdHRpbmcgdGFncywgd2hpY2ggb2NjdXIgd2hlbiB3ZSBzcGxpdCBhXHJcbiAgICAgICAgICAgICAgIGZvcm1hdHRpbmcgdGFnIGludG8gcGFyYWdyYXBocyAqL1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkZm9udC0yMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdWwsXHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogJHNwYWNpbmctMjg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBNYWtlIGxpc3QgdHlwZSBkaXNjIHRvIG1hdGNoIHJpY2ggdGV4dCBlZGl0b3IgKi9cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICAgICAgICBjb2xvcjogIzc3NztcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkYmxvY2txdW90ZS1iYXItY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gcHJlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLTggJHNwYWNpbmctMTI7XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5saW5lY29kZS1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkaW5saW5lY29kZS1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvZGU6bm90KHByZSAqKSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkbW9ub3NwYWNlLWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbmxpbmVjb2RlLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbmxpbmVjb2RlLWJvcmRlci1jb2xvcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy0yO1xyXG5cclxuICAgICAgICAgICAgJjplbXB0eSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIHRoaXMgc2VsZWN0b3IgcmVwcmVzZW50cyB3aGF0IHdpbGwgYmVjb21lIGEgcGlsbFxyXG4gICAgICAgIG5iIGRlc3BpdGUgdGhlcmUgYmVpbmcgbXhfVXNlclBpbGwgYW5kIG14X1Jvb21QaWxsIGNsYXNzZXMgYXBwZW5kZWQgdG8gdGhlc2UgcGlsbHNcclxuICAgICAgICBpbiB0aGUgY3VycmVudCBjb21wb3NlciwgdGhlcmUgZG9uJ3QgYXBwZWFyIHRvIGJlIGFueSBzdHlsZXMgYXNzb2NpYXRlZCB3aXRoIHRob3NlIGNsYXNzZXNcclxuICAgICAgICBpbiB0aGlzIHJlcG8gKi9cclxuICAgICAgICBhW2RhdGEtbWVudGlvbi10eXBlXSB7XHJcbiAgICAgICAgICAgIC8qIGNvbWJpbmUgbXhfUGlsbCBmcm9tIF9QaWxsLnBjc3MgKi9cclxuICAgICAgICAgICAgcGFkZGluZzogJGZvbnQtMXB4IDAuNGVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTdweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGZvbnQtMTZweDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwaWxsLWJnLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgLyogLi4ud2l0aCB0aGUgb3ZlcnJpZGVzIGZyb20gX0Jhc2ljTWVzc2FnZUNvbXBvc2VyLnBjc3MgKi9cclxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IGFsbDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHVuc2V0OyAvKiBXZSBkb24ndCB3YW50IGluZGljYXRlIGNsaWNrYWJpbGl0eSAqL1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgICAgIC8qIGF2YXRhciBwc2V1ZG8gZWxlbWVudCAqL1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgLyogQWZ0ZXIgY29uc29saWRhdGlvbiwgYWxsIG9mIHRoZSBzdHlsaW5nIGZyb20gX1BpbGwuc2NzcyB3YXMgYmVpbmcgb3ZlcnJpZGRlbixcclxuICAgICAgICAgICAgICAgIHNvIHRha2Ugd2hhdCBpcyBpbiBfQmFzaWNNZXNzYWdlQ29tcG9zZXIucGNzcyBhcyB0aGUgc3RhcnRpbmcgcG9pbnQgKi9cclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHZhcigtLWF2YXRhci1sZXR0ZXIpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXZhdGFyLWJhY2tncm91bmQpLCAkYmFja2dyb3VuZDtcclxuXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGZvbnQtMTZweDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogJGZvbnQtMTZweDsgLyogZW5zdXJlIHRoZSBhdmF0YXIgaXMgbm90IGNvbXByZXNzZWQgKi9cclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGZvbnQtMTZweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNnB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIEdldCB0aGUgcG9zaXRpb25pbmcgb2YgdGhlIGF2YXRhciBqdXN0IHJpZ2h0IGZvciBjb25zaXN0ZW5jeSB3aXRoIHRpbWVsaW5lICovXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMC40cmVtO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDAuMjRyZW07XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogMC4xMnJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZm9udC0xNnB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGZvbnQtMTZweDtcclxuXHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYXZhdGFyLWNvbG9yLCAkYXZhdGFyLWluaXRpYWwtY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEwLTRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfV3lzaXd5Z0NvbXBvc2VyX0VkaXRvcl9jb250ZW50X3BsYWNlaG9sZGVyOjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IHZhcigtLXBsYWNlaG9sZGVyKTtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9XeXNpd3lnQ29tcG9zZXJfQXV0b0NvbXBsZXRlV3JhcHBlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLyogRHVlIHRvIHRoZSBmYWN0IHRoYXQgZWRpdGluZyBhIG1lc3NhZ2Ugbm93IGhhcyBhIGxhcmdlciBhbW91bnQgb2YgZ3JleVxyXG4gICAgY29sb3VyIGFib3ZlIGl0IChkdWUgdG8gdGhlIHJpY2ggdGV4dCBidXR0b25zIGFib3ZlIHRoZSBjb21wb3NlciksIHdlIG5lZWRcclxuICAgIHRvIGdpdmUgdGhlIGF1dG9jb21wbGV0ZSBhIGJpdCBtb3JlIHZpc3VhbCBzZXBhcmF0aW9uIGJ5IHVzaW5nIGEgYm9yZGVyLlxyXG4gICAgKi9cclxuICAgID4gLm14X0F1dG9jb21wbGV0ZSB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Gb3JtYXR0aW5nQnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgZ2FwOiA4cHg7XHJcblxyXG4gICAgLm14X0Zvcm1hdHRpbmdCdXR0b25zX0J1dHRvbiB7XHJcbiAgICAgICAgLS1zaXplOiAyOHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xyXG4gICAgICAgIHdpZHRoOiB2YXIoLS1zaXplKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRm9ybWF0dGluZ0J1dHRvbnNfQnV0dG9uX2hvdmVyIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHBhbmVscztcclxuXHJcbiAgICAgICAgICAgIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19JY29uIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Zvcm1hdHRpbmdCdXR0b25zX2FjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudC0zMDA7XHJcblxyXG4gICAgICAgIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19JY29uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Gb3JtYXR0aW5nQnV0dG9uc19kaXNhYmxlZCB7XHJcbiAgICAgICAgLm14X0Zvcm1hdHRpbmdCdXR0b25zX0ljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0Zvcm1hdHRpbmdCdXR0b25zX0ljb24ge1xyXG4gICAgICAgIC0tc2l6ZTogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUpO1xyXG4gICAgICAgIHdpZHRoOiB2YXIoLS1zaXplKTtcclxuICAgICAgICBjb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Gb3JtYXR0aW5nQnV0dG9uc19Ub29sdGlwX0tleWJvYXJkU2hvcnRjdXQge1xyXG4gICAga2JkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBJbnRlciwgc2Fucy1zZXJpZjtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xpbmtNb2RhbCB7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy0zMjtcclxuICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICBoZWlnaHQ6IDM0MXB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIC5teF9MaW5rTW9kYWxfY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZ2FwOiAkc3BhY2luZy04O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDdweDtcclxuXHJcbiAgICAgICAgLm14X0xpbmtNb2RhbF9GaWVsZCB7XHJcbiAgICAgICAgICAgIGZsZXg6IGluaXRpYWw7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9MaW5rTW9kYWxfYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHJcbiAgICAgICAgICAgIC5teF9EaWFsb2dfYnV0dG9ucyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE5LCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9BdmF0YXJTZXR0aW5nX2F2YXRhciB7XHJcbiAgICB3aWR0aDogOTBweDtcclxuICAgIG1pbi13aWR0aDogOTBweDsgLyogc28gaXQgZG9lc24ndCBnZXQgY3J1c2hlZCBieSB0aGUgZmxleGJveCBpbiBsYW5ndWFnZXMgd2l0aCBsb25nZXIgd29yZHMgKi9cclxuICAgIGhlaWdodDogOTBweDtcclxuICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmLm14X0F2YXRhclNldHRpbmdfYXZhdGFyRGlzcGxheTpob3ZlciAubXhfQXZhdGFyU2V0dGluZ19ob3ZlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAmID4gKiB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbi5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfcHJpbWFyeSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uLm14X0FjY2Vzc2libGVCdXR0b25fa2luZF9saW5rX3NtIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmID4gaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTBweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0F2YXRhclNldHRpbmdfdXBsb2FkQnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzJweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0F2YXRhclNldHRpbmdfdXBsb2FkQnV0dG9uOmhvdmVyLFxyXG4gICAgLm14X0F2YXRhclNldHRpbmdfdXBsb2FkQnV0dG9uX2FjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0F2YXRhclNldHRpbmdfcmVtb3ZlTWVudUl0ZW0gc3ZnLFxyXG4ubXhfQXZhdGFyU2V0dGluZ19yZW1vdmVNZW51SXRlbSBzcGFuIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRm9udFNjYWxpbmdQYW5lbF9wcmV2aWV3IHtcclxuICAgIC0tRm9udFNjYWxpbmdQYW5lbF9wcmV2aWV3LXBhZGRpbmctYmxvY2s6IDlweDtcclxuXHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctMTYgdmFyKC0tRm9udFNjYWxpbmdQYW5lbF9wcmV2aWV3LXBhZGRpbmctYmxvY2spICRzcGFjaW5nLTE2O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XHJcblxyXG4gICAgJi5teF9JUkNMYXlvdXQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0V2ZW50VGlsZVtkYXRhLWxheW91dD1cImJ1YmJsZVwiXSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0ZvbnRTY2FsaW5nUGFuZWxfRHJvcGRvd24ge1xyXG4gICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgLyogT3ZlcnJpZGUgZGVmYXVsdCBteF9GaWVsZCBtYXJnaW4gKi9cclxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0yeCkgIWltcG9ydGFudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ltYWdlU2l6ZVBhbmVsX3JhZGlvcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGdhcDogJHNwYWNpbmctMTY7XHJcblxyXG4gICAgPiBsYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2OHB4OyAvKiBrZWVwIHRoZSBib3hlcyBzZXBhcmF0ZSAqL1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSW1hZ2VTaXplUGFuZWxfc2l6ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICRxdWluYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgd2lkdGg6IDIyMXB4O1xyXG4gICAgICAgIGhlaWdodDogMTQ4cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDsgLyogbW92ZSByYWRpbyBidXR0b24gYXdheSBmcm9tIGJvdHRvbSBlZGdlIGEgYml0ICovXHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9JbnRlZ3JhdGlvbk1hbmFnZXIge1xyXG4gICAgLm14X0RpYWxvZ19ib3JkZXIge1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICBoZWlnaHQ6IDcwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XHJcbiAgICAgICAgbWF4LWhlaWdodDogaW5pdGlhbDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfRGlhbG9nIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gICAgaWZyYW1lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbi1ibG9jazogJHNwYWNpbmctMjA7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0ludGVncmF0aW9uTWFuYWdlcl9sb2FkaW5nLFxyXG4gICAgLm14X0ludGVncmF0aW9uTWFuYWdlcl9lcnJvciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9JbnRlZ3JhdGlvbk1hbmFnZXJfZXJyb3IgaDMge1xyXG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Kb2luUnVsZVNldHRpbmdzX3VwZ3JhZGVSZXF1aXJlZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgIHBhZGRpbmc6IDRweCAxNnB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbn1cclxuXHJcbi5teF9Kb2luUnVsZVNldHRpbmdzX3NwYWNlc1dpdGhBY2Nlc3Mge1xyXG4gICAgPiBoNCB7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE1cHg7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuXHJcbiAgICA+IHNwYW4ge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzJweDsgLyogbWF0Y2hlcyBoZWlnaHQgb2YgYXZhdGFyIGZvciB2LWFsaWduICovXHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICAgIC5teF9CYXNlQXZhdGFyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmICsgc3BhbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X0pvaW5SdWxlU2V0dGluZ3NfcmFkaW9CdXR0b24ge1xyXG4gICAgcGFkZGluZy10b3A6IDE2cHg7XHJcblxyXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uX2NvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMjRweDtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAmLm14X1N0eWxlZFJhZGlvQnV0dG9uX2Rpc2FibGVkIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9TdHlsZWRSYWRpb0J1dHRvbl9kaXNhYmxlZCArIHNwYW4ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIH1cclxuXHJcbiAgICAmICsgc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzNHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC0xNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0yNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgICYgKyAubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHF1aW5hcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Kb2luUnVsZVNldHRpbmdzX2xhYmVsbGVkQ2hlY2tib3gge1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcclxuICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbn1cclxuXHJcbi5teF9Kb2luUnVsZVNldHRpbmdzX3JlY29tbWVuZGVkIHtcclxuICAgIGNvbG9yOiAkYWNjZW50LTEwMDA7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0tleWJvYXJkU2hvcnRjdXQge1xyXG4gICAga2JkIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xyXG4gICAgICAgIG1pbi13aWR0aDogMjBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRrYmQtYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4ICRrYmQtYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcbkNvcHlyaWdodCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3RvciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNldHRpbmdzIGZvcm0gaGFzIGEgZGVmYXVsdCBnYXAgb2YgMTBweFxyXG4gICAgICogV2Ugd2FudCB0byBoYXZlIGEgYmlnZ2VyIGdhcCBiZXR3ZWVuIHRoZSBsYXlvdXQgb3B0aW9uc1xyXG4gICAgICovXHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCkgIWltcG9ydGFudDtcclxuXHJcbiAgICAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpbyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG5cclxuICAgICAgICAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpb19pbmxpbmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgKiAxMHB4XHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBnYXA6IGNhbGModmFyKC0tY3BkLXNwYWNlLTJ4KSArIHZhcigtLWNwZC1zcGFjZS0wLTV4KSk7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhMYXlvdXRTd2l0Y2hlcl9MYXlvdXRTZWxlY3Rvcl9MYXlvdXRSYWRpb19pbmxpbmUsXHJcbiAgICAgICAgLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW9fRXZlbnRUaWxlUHJldmlldyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE92ZXJyaWRlIHRoZSBldmVudCB0aWxlIHN0eWxlIHRvIG1ha2UgaXQgZml0IGluIHRoZSBzZWxlY3RvclxyXG4gICAgICAgICAqIFR3ZWFrIGFsc28gaG92ZXIgc3R5bGUgYW5kIHJlbW92ZSBhY3Rpb24gYmFyXHJcbiAgICAgICAgICovXHJcbiAgICAgICAgLm14TGF5b3V0U3dpdGNoZXJfTGF5b3V0U2VsZWN0b3JfTGF5b3V0UmFkaW9fRXZlbnRUaWxlUHJldmlldyB7XHJcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cclxuICAgICAgICAgICAgLm14X0V2ZW50VGlsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAgICAgKiBIaWRlIHRoZSBtZXNzYWdlIG9wdGlvbnMgYW5kIG1lc3NhZ2UgYWN0aW9uIGJhciBpbiB0aGUgcHJldmlld1xyXG4gICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAubXhfRXZlbnRUaWxlX21zZ09wdGlvbixcclxuICAgICAgICAgICAgICAgIC5teF9NZXNzYWdlQWN0aW9uQmFyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5teF9FdmVudFRpbGVfY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICZbZGF0YS1sYXlvdXQ9XCJncm91cFwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jcGQtc3BhY2UtM3gpICogLTEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgICAgICogQWRkIG1hcmdpbiB0byBjZW50ZXIgdGhlIGJ1YmJsZVxyXG4gICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAmW2RhdGEtbGF5b3V0PVwiYnViYmxlXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICAgICAgICAgKiBBZGQgdGhlIGxheW91dCBtYXJnaW4gYW5kIHRoZSBtYXJnaW4gdG8gdmVydGljYWxseSBjZW50ZXIgdGhlIGJ1YmJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICZbZGF0YS1sYXlvdXQ9XCJpcmNcIl0gLm14X01lc3NhZ2VUaW1lc3RhbXAge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IC8qIGhpZGUgdGhlIGNvbnRhaW5lciB1c2VkIGZvciBzcGFjaW5nIGNvbnNpc3RlbmN5ICovXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0V2ZW50VGlsZV9saW5lIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teExheW91dFN3aXRjaGVyX0xheW91dFNlbGVjdG9yX0xheW91dFJhZGlvX3NlcGFyYXRvciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTm90aWZpY2F0aW9uUHVzaGVyU2V0dGluZ3Mge1xyXG4gICAgLm14X05vdGlmaWNhdGlvblB1c2hlclNldHRpbmdzX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnktY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfTm90aWZpY2F0aW9uUHVzaGVyU2V0dGluZ3NfZGV0YWlsIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXR0aW5nc1RhYiAubXhfTm90aWZpY2F0aW9uU2V0dGluZ3MyIHtcclxuICAgIC5teF9TZXR0aW5nc1NlY3Rpb25fc3ViU2VjdGlvbnMge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIGdhcDogMzJweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzU3Vic2VjdGlvbl9kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgLm14X1NldHRpbmdzU3Vic2VjdGlvbl90ZXh0IHtcclxuICAgICAgICAgICAgLm14X05vdGlmaWNhdGlvbkJhZGdlIHtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfU2V0dGluZ3NTdWJzZWN0aW9uX2NvbnRlbnQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgZ2FwOiAxMnB4O1xyXG4gICAgICAgIGp1c3RpZnktaXRlbXM6IHN0cmV0Y2g7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbl9jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RhZ0NvbXBvc2VyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG5cclxuICAgICAgICAmLm14X1RhZ0NvbXBvc2VyX2Rpc2FibGVkIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X1RhZ0NvbXBvc2VyX3RhZ3Mge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgICAgICBnYXA6IDhweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9UYWcge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHBhbmVsLWFjdGlvbnM7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X1RhZ19kZWxldGUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGluaXRpYWw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDE1LTIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1VzZXJOb3RpZlNldHRpbmdzX2dyaWQge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEycHgpOyAvKiArMTJweCB0byBsaW5lIHVwIGNlbnRlciBvZiAnTm9pc3knIGNvbHVtbiB3aXRoIHRvZ2dsZSBzd2l0Y2hlcyAqL1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byByZXBlYXQoMywgNjJweCk7XHJcbiAgICBwbGFjZS1pdGVtczogY2VudGVyIGNlbnRlcjtcclxuICAgIGdhcDogOHB4O1xyXG5cclxuICAgIC8qIE92ZXJyaWRlIFN0eWxlZFJhZGlvQnV0dG9uIGRlZmF1bHQgc3R5bGVzICovXHJcbiAgICAubXhfU3R5bGVkUmFkaW9CdXR0b24ge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25fY29udGVudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfU3R5bGVkUmFkaW9CdXR0b25fc3BhY2VyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gbGVmdCBhbGlnbiBzZWN0aW9uIGhlYWRpbmdcclxuICAgIC5teF9TZXR0aW5nc1N1YnNlY3Rpb25IZWFkaW5nIHtcclxuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZFJvd0NvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBjb250ZW50cztcclxufVxyXG5cclxuLm14X1VzZXJOb3RpZlNldHRpbmdzX2dyaWRSb3cge1xyXG4gICAgZGlzcGxheTogY29udGVudHM7XHJcbn1cclxuXHJcbi5teF9Vc2VyTm90aWZTZXR0aW5nc19ncmlkUm93TGFiZWwge1xyXG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcclxuICAgIC8qIDxsZWdlbmQ+IGRvZXMgbm90IGFjY2VwdCAqL1xyXG4gICAgLyogZGlzcGxheTogaW5saW5lIHwgaW5saW5lLWJsb2NrICovXHJcbiAgICAvKiBmb3JjZSBpdCBpbmxpbmUgdXNpbmcgZmxvYXQgKi9cclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZENvbHVtbkxhYmVsIHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXNlbWlib2xkKTtcclxufVxyXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZ3JpZFJvd0Vycm9yIHtcclxuICAgIC8qIG9jY3VweSBmdWxsIHJvdyAqL1xyXG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XHJcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xyXG4gICAgcGFkZGluZy1yaWdodDogMzAlO1xyXG4gICAgLyogY29sbGFwc2UgaGFsZiBvZiB0aGUgZ3JpZC1nYXAgKi9cclxuICAgIG1hcmdpbi10b3A6IC0kc3BhY2luZy00O1xyXG59XHJcblxyXG4ubXhfVXNlck5vdGlmU2V0dGluZ3NfZmxvYXRpbmdTZWN0aW9uIHtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcblxyXG4gICAgJiA+IGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgLyogc2VjdGlvbiBoZWFkZXIgKi9cclxuICAgICAgICBmb250LXNpemU6ICRmb250LTE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICB9XHJcblxyXG4gICAgPiB0YWJsZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICBib3JkZXItc3BhY2luZzogMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcblxyXG4gICAgICAgIHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAvKiBKdXN0IGZvciBhIGJpdCBvZiBzcGFjaW5nICovXHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9Vc2VyTm90aWZTZXR0aW5nc19jbGVhck5vdGlmc0J1dHRvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbn1cclxuXHJcbi5teF9UYWdDb21wb3NlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAzNXB4OyAvKiBsb3RzIG9mIGRpc3RhbmNlIGZyb20gdGhlIGxhc3QgbGluZSBvZiB0aGUgdGFibGUgKi9cclxufVxyXG5cclxuLm14X0FjY2Vzc2libGVCdXR0b24ubXhfTm90aWZpY2F0aW9uU291bmRfYnJvd3NlIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfR2VuZXJhbFVzZXJTZXR0aW5nc1RhYl9zZWN0aW9uLS1kaXNjb3ZlcnlfZXhpc3RpbmdfdmVyaWZpY2F0aW9uIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAubXhfRmllbGQge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgMWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfUGhvbmVOdW1iZXJzX2lucHV0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ubXhfUGhvbmVOdW1iZXJzX2lucHV0ID4gLm14X0ZpZWxkIHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxufVxyXG5cclxuLm14X1Bob25lTnVtYmVyc19jb3VudHJ5IHtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG4gKiBDb3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfUG93ZXJMZXZlbFNlbGVjdG9yX0J1dHRvbiB7XHJcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSwgMjAyMCAsIDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1Jvb21Qcm9maWxlU2V0dGluZ3Mge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgLm14X1Jvb21Qcm9maWxlU2V0dGluZ3NfcHJvZmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAgICAgLm14X1Jvb21Qcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9scyB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDU0cHg7XHJcblxyXG4gICAgICAgICAgICAubXhfRmllbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctODtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm14X1Jvb21Qcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9sc190b3BpYyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy04O1xyXG5cclxuICAgICAgICAgICAgICAgICYgPiB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLm14X1Jvb21Qcm9maWxlU2V0dGluZ3NfcHJvZmlsZV9jb250cm9sc190b3BpYy0tcm9vbSB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNGVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfUm9vbVByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzX3VzZXJJZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogJHNwYWNpbmctMjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1Jvb21Qcm9maWxlU2V0dGluZ3NfYnV0dG9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgLyogMThweCBpcyBhbHJlYWR5IGFjY291bnRlZCBmb3IgYnkgdGhlIDxwPiBhYm92ZSB0aGUgYnV0dG9ucyAqL1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTI4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2V0SW50ZWdyYXRpb25NYW5hZ2VyIHtcclxuICAgIC5teF9TZXRJbnRlZ3JhdGlvbk1hbmFnZXJfaGVhZGluZ19tYW5hZ2VyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGNvbHVtbi1nYXA6ICRzcGFjaW5nLTQ7XHJcbiAgICB9XHJcbiAgICBmb3JtIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2V0dGluZ3NGaWVsZHNldCB7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxufVxyXG5cclxuLm14X1NldHRpbmdzRmllbGRzZXRfbGVnZW5kIHtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctbWQtc2VtaWJvbGQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbn1cclxuXHJcbi5teF9TZXR0aW5nc0ZpZWxkc2V0X2Rlc2NyaXB0aW9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm14X1NldHRpbmdzRmllbGRzZXRfY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogJHNwYWNpbmctODtcclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X1NldHRpbmdzSGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgLyogT3ZlcnJpZGUgbWFyZ2luIGZyb20gY29tbW9uLnBjc3MgKi9cclxuICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICA+IHNwYW4ge1xyXG4gICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tbWVkaXVtKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtYWN0aW9uLWFjY2VudCk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9TZXR0aW5nc0hlYWRlcl9yZWNvbW1lbmRlZDo6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBjaXJjbGUoNHB4KTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X1NldHRpbmdzU3ViaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG5cclxuICAgID4gc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLW1lZGl1bSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NldHRpbmdzU3ViaGVhZGVyX3N1Y2Nlc3Mge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zdWNjZXNzLXByaW1hcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXR0aW5nc1N1YmhlYWRlcl9lcnJvciB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9FeGlzdGluZ1NwZWxsQ2hlY2tMYW5ndWFnZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm14X0V4aXN0aW5nU3BlbGxDaGVja0xhbmd1YWdlX2xhbmd1YWdlIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5teF9HZW5lcmFsVXNlclNldHRpbmdzVGFiX3NwZWxsQ2hlY2tMYW5ndWFnZUlucHV0IHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9UaGVtZUNob2ljZVBhbmVsX1RoZW1lU2VsZWN0b3JzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvKiBPdmVycmlkZSBmb3JtIGRlZmF1bHQgc3R5bGUgKi9cclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KSAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5teF9UaGVtZUNob2ljZVBhbmVsX3RoZW1lU2VsZWN0b3Ige1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtMS01eCk7XHJcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtNXgpIHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcclxuXHJcbiAgICAgICAgJi5teF9UaGVtZUNob2ljZVBhbmVsX3RoZW1lU2VsZWN0b3JfZW5hYmxlZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfVGhlbWVDaG9pY2VQYW5lbF90aGVtZVNlbGVjdG9yX2Rpc2FibGVkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcclxuXHJcbiAgICAgICAgICAgIC5teF9UaGVtZUNob2ljZVBhbmVsX3RoZW1lU2VsZWN0b3JfTGFiZWwge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9UaGVtZUNob2ljZVBhbmVsX3RoZW1lU2VsZWN0b3JfTGFiZWwge1xyXG4gICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KC5teF9UaGVtZUNob2ljZVBhbmVsX3RoZW1lU2VsZWN0b3JfZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfdGhlbWVTZWxlY3Rvcl9MYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9UaGVtZUNob2ljZVBhbmVsX0N1c3RvbVRoZW1lIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcblxyXG4gICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWVfRWRpdEluUGxhY2UgaW5wdXQ6Zm9jdXMge1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgICogV2hlbiB0aGUgaW5wdXQgaXMgZm9jdXNlZCwgdGhlIGJvcmRlciBpcyBncm93aW5nXHJcbiAgICAgICAgICogV2UgbmVlZCB0byBtb3ZlIGl0IGEgYml0IHRvIGF2b2lkIHRoZSBsZWZ0IGJvcmRlciB0byBiZSB1bmRlciB0aGUgbGVmdCBwYW5lbFxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1jcGQtc3BhY2UtMC01eCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWVMaXN0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgICogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgcGFkZGluZy9tYXJnaW4gb2YgdGhlIGxpc3RcclxuICAgICAgICAgKi9cclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWVMaXN0X3RoZW1lIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0yMDApO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS0yeCkgdmFyKC0tY3BkLXNwYWNlLTJ4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG5cclxuICAgICAgICAgICAgLm14X1RoZW1lQ2hvaWNlUGFuZWxfQ3VzdG9tVGhlbWVMaXN0X25hbWUge1xyXG4gICAgICAgICAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZCk7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVXBkYXRlQ2hlY2tCdXR0b25fc3VtbWFyeSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNiBFbGVtZW50IENyZWF0aW9ucyBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Vc2VyUGVyc29uYWxJbmZvU2V0dGluZ3Mge1xyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTR4KSAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSwgMjAyMCAsIDIwMjQgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1VzZXJQcm9maWxlU2V0dGluZ3Mge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRxdWluYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTR4KSAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTZ4KTtcclxuICAgICAgICBnYXA6IDE2cHg7XHJcblxyXG4gICAgICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfZGlzcGxheU5hbWUge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfY29udHJvbHMge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2NvbnRyb2xzX3VzZXJJZCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgICAgICAubXhfQ29weWFibGVUZXh0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGVfY29udHJvbHNfdXNlcklkX2xhYmVsIHtcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5nc19wcm9maWxlX2J1dHRvbnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS04eCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTh4KTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfVXNlclByb2ZpbGVTZXR0aW5nc19hY2NvdW50bWFuYWdlSWNvbiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5teF9Vc2VyUHJvZmlsZVNldHRpbmdzX3Byb2ZpbGUge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuICogQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi5teF9FbmNyeXB0aW9uRGV0YWlscyxcclxuLm14X090aGVyU2V0dGluZ3Mge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvKiAhaW1wb3J0YW50IG92ZXJyaWRlIGNvbXBvdW5kIGZvcm0gKi9cclxuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTZ4KSAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XHJcblxyXG4gICAgLm14X0VuY3J5cHRpb25EZXRhaWxzX3Nlc3Npb25fdGl0bGUsXHJcbiAgICAubXhfT3RoZXJTZXR0aW5nc190aXRsZSB7XHJcbiAgICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1sZy1zZW1pYm9sZCk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfRW5jcnlwdGlvbkRldGFpbHMge1xyXG4gICAgLm14X0VuY3J5cHRpb25EZXRhaWxzX3Nlc3Npb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGRpdjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTIwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9FbmNyeXB0aW9uRGV0YWlsc19idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4gKiBDb3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuICpcclxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiAqL1xyXG5cclxuLm14X0NoYW5nZVJlY292ZXJ5S2V5IHtcclxuICAgIC5teF9JbmZvcm1hdGlvblBhbmVsX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0NoYW5nZVJlY292ZXJ5S2V5X0Zvcm0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS04eCk7XHJcblxyXG4gICAgICAgIC5teF9DaGFuZ2VSZWNvdmVyeUtleV9mb290ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfS2V5UGFuZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcclxuICAgICAgICAgICAgXCJoZWFkZXIgYnV0dG9uXCIgYXV0b1xyXG4gICAgICAgICAgICBcImNvbnRlbnQgYnV0dG9uXCIgYXV0byAvIDFmcjtcclxuXHJcbiAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcclxuICAgICAgICByb3ctZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogaGVhZGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICBncmlkLWFyZWE6IGNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XHJcblxyXG4gICAgICAgICAgICAubXhfS2V5UGFuZWxfa2V5IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZpcmEgQ29kZVwiLCBtb25vc3BhY2U7XHJcbiAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICogRnJvbSBmaWdtYSBodHRwczovL3d3dy5maWdtYS5jb20vZGVzaWduL3FUV1JmSXRwTzNSZENqblRLUHU0bUwvU2V0dGluZ3M/bm9kZS1pZD0zNzUtNzc0NzEmdD10N2xvellyU0kxQVZaWjNVLTRcclxuICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIHZhcigtLWNwZC1zcGFjZS0xeCk7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogYnV0dG9uO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5LWFscGhhKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm14X0tleUZvcm0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS04eCk7XHJcblxyXG4gICAgICAgIC5teF9LZXlGb3JtX3Bhc3N3b3JkIHtcclxuICAgICAgICAgICAgPiBpbnB1dFtuYW1lPVwicmVjb3ZlcnlLZXlcIl0ge1xyXG4gICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAqIEZyb20gZmlnbWEgaHR0cHM6Ly93d3cuZmlnbWEuY29tL2Rlc2lnbi9xVFdSZkl0cE8zUmRDam5US1B1NG1ML1NldHRpbmdzP25vZGUtaWQ9Mzc1LTc3NTA2JnQ9ZDgyTmRSQkRvS3NVZTFDOS00XHJcbiAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAqIFNlZSBmaWdtYSBodHRwczovL3d3dy5maWdtYS5jb20vZGVzaWduL3FUV1JmSXRwTzNSZENqblRLUHU0bUwvU2V0dGluZ3M/bm9kZS1pZD0zNzUtNzc1MDYmdD1kODJOZFJCRG9Lc1VlMUM5LTRcclxuICAgICAgICAgICAgICAgICAqIEF2b2lkIHN0cmV0Y2hpbmcgdGhlIGhpZGUvc2hvdyBzeW1ib2wgdG8gdGhlIGhlaWdodCBvZiB0aGUgaW5wdXQsIGFuZCBjZW50cmUgaXQgdmVydGljYWxseS5cclxuICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNC41cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfRW5jcnlwdGlvbkNhcmQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS04eCk7XHJcbiAgICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMTB4KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAvKiBGcm9tIGZpZ21hICovXHJcbiAgICBib3gtc2hhZG93OiAwIDEuMnB4IDIuNHB4IDAgcmdiKDI3LCAyOSwgMzQsIDAuMTUpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcclxuXHJcbiAgICAubXhfRW5jcnlwdGlvbkNhcmRfaGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgID4gaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBleHRyYSBjbGFzcyBmb3Igc3BlY2lmeWluZyB0aGF0IHdlIGRvbid0IG5lZWQgYSBib3JkZXIgKi9cclxuICAgICYubXhfRW5jcnlwdGlvbkNhcmRfbm9Cb3JkZXIge1xyXG4gICAgICAgIGJvcmRlcjogMHB4IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9FbmNyeXB0aW9uQ2FyZF9idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuIiwiLypcclxuICogQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbiAqXHJcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4gKi9cclxuXHJcbi5teF9FbmNyeXB0aW9uQ2FyZF9lbXBoYXNpc2VkQ29udGVudCB7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4ubXhfUmVjb3ZlcnlQYW5lbE91dE9mU3luYyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xyXG59XHJcbiIsIi8qXHJcbiAqIENvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG4gKlxyXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuICovXHJcblxyXG4vLyBSZWQgdGV4dCBmb3IgdGhlIFwiRG8gbm90IGNsb3NlIHRoaXMgd2luZG93XCIgd2FybmluZ1xyXG4ubXhfUmVzZXRJZGVudGl0eVBhbmVsX3dhcm5pbmcge1xyXG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2V0dGluZ3NCYW5uZXIge1xyXG4gICAgYmFja2dyb3VuZDogJHN5c3RlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIHBhZGRpbmc6IDEycHggMTZweDtcclxuICAgIGdhcDogMTJweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAubXhfU2V0dGluZ3NCYW5uZXJfY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2V0dGluZ3NJbmRlbnQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDEycHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjMsIDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZXR0aW5nc1NlY3Rpb24ge1xyXG4gICAgLS1TZXR0aW5nc1RhYl9zZWN0aW9uLW1hcmdpbi1ib3R0b20tcHJlZmVyZW5jZXMtbGFiczogMzBweDtcclxuICAgIC0tU2V0dGluZ3NUYWJfaGVhZGluZ19udGhfY2hpbGQtbWFyZ2luLXRvcDogMzBweDtcclxuICAgIC0tU2V0dGluZ3NUYWJfdG9vbHRpcC1tYXgtd2lkdGg6IDIwcHg7IC8qIFNvIGl0IGZpdHMgaW4gdGhlIHNwYWNlIHByb3ZpZGVkIGJ5IHRoZSBwYWdlICovXHJcblxyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcblxyXG4gICAgLyogQ29tcG91bmQgbGlua3MgY2FycnkgZGF0YS1raW5kIGFuZCBwcm92aWRlIHRoZWlyIG93biBjb2xvdXIuICovXHJcbiAgICBhOm5vdChbZGF0YS1raW5kXSkge1xyXG4gICAgICAgIGNvbG9yOiAkbGlua3M7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9TZXR0aW5nc1NlY3Rpb25fbmV3VWkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS02eCk7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZXR0aW5nc1NlY3Rpb25faGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXhfU2V0dGluZ3NTZWN0aW9uX3N1YlNlY3Rpb25zIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xyXG4gICAgZ2FwOiAkc3BhY2luZy0zMjtcclxuXHJcbiAgICBtYXJnaW46ICRzcGFjaW5nLTE2IDA7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NldHRpbmdzVGFiIHtcclxuICAgIC0tU2V0dGluZ3NUYWJfdG9vbHRpcC1tYXgtd2lkdGg6IDEyMHB4OyAvKiBTbyBpdCBmaXRzIGluIHRoZSBzcGFjZSBwcm92aWRlZCBieSB0aGUgcGFnZSAqL1xyXG5cclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG5cclxuICAgIC8qIENvbXBvdW5kIGxpbmtzIGNhcnJ5IGRhdGEta2luZCBhbmQgcHJvdmlkZSB0aGVpciBvd24gY29sb3VyLiAqL1xyXG4gICAgYTpub3QoW2RhdGEta2luZF0pIHtcclxuICAgICAgICBjb2xvcjogJGxpbmtzO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIG5ldmVyIHdhbnQgZnVsbCB3aWR0aCBidXR0b25zXHJcbiAgICAvLyBldmVudCB3aGVuIG90aGVyIGNvbnRlbnQgaXMgMTAwJSB3aWR0aFxyXG4gICAgLm14X0FjY2Vzc2libGVCdXR0b24ge1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAganVzdGlmeS1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9GaWVsZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9TZXR0aW5nc1RhYl93YXJuaW5nVGV4dCB7XHJcbiAgICBjb2xvcjogJGFsZXJ0O1xyXG59XHJcblxyXG4ubXhfU2V0dGluZ3NUYWJfc3Vic2VjdGlvblRleHQge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBtYXJnaW4taW5saW5lLWVuZDogODBweDsgLyogQWxpZ24gd2l0aCB0aGUgcmVzdCBvZiB0aGUgdmlldyAqL1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XHJcbn1cclxuXHJcbi5teF9TZXR0aW5nc1RhYl9zZWN0aW9uIHtcclxuICAgICRlbmQtZ3V0dGVyOiA4MHB4O1xyXG5cclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTI0O1xyXG5cclxuICAgIC5teF9TZXR0aW5nc0ZsYWcge1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkZW5kLWd1dHRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAubXhfU2V0dGluZ3NGbGFnX2xhYmVsIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRmb250LTQ4cHgpOyAvKiBGb3JjZSB3b3JkIHdyYXAgaW5zdGVhZCBvZiBjb2xsaWRpbmcgd2l0aCB0aGUgc3dpdGNoICovXHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfVG9nZ2xlU3dpdGNoIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGlubGluZS1lbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgID4gcCB7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICRlbmQtZ3V0dGVyO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfU2V0dGluZ3NUYWJfc3Vic2VjdGlvblRleHQgLm14X1NldHRpbmdzRmxhZyB7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1NldHRpbmdzVGFiX3NlY3Rpb25zIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgIGdhcDogJHNwYWNpbmctMzI7XHJcblxyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTE2O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTm90aWZpY2F0aW9uU2V0dGluZ3NUYWJfbm90aWZpY2F0aW9uc1NlY3Rpb24ge1xyXG4gICAgd2lkdGg6IDM2MHB4O1xyXG5cclxuICAgIC5teF9TdHlsZWRSYWRpb0J1dHRvbiB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMThweDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICBpbnB1dCArIGRpdiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9Ob3RpZmljYXRpb25TZXR0aW5nc1RhYl9taWNyb0NvcHkge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LTEycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udC0xNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwiZmlsZVwiXS5teF9Ob3RpZmljYXRpb25Tb3VuZF9zb3VuZFVwbG9hZCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMyBOb3JkZWNrIElUICsgQ29uc3VsdGluZyBHbWJIXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfa25vY2sge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi10b3A6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbn1cclxuXHJcbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfY29udGVudCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBtYXJnaW46IDAgdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxufVxyXG5cclxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl9hdmF0YXIge1xyXG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4ubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX25hbWUge1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbn1cclxuXHJcbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfdGltZXN0YW1wIHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxufVxyXG5cclxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl91c2VySWQge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xyXG59XHJcblxyXG4ubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX3NlZU1vcmVPckxlc3Mge1xyXG4gICAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtM3gpIDAgMDtcclxufVxyXG5cclxuLm14X1Blb3BsZVJvb21TZXR0aW5nc1RhYl9hY3Rpb24ge1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gICAgKyAubXhfUGVvcGxlUm9vbVNldHRpbmdzVGFiX2FjdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWNwZC1zcGFjZS0zeCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9QZW9wbGVSb29tU2V0dGluZ3NUYWJfcGFyYWdyYXBoIHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAxOS0yMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfUm9sZXNSb29tU2V0dGluZ3NUYWJfYmFubmVkTGlzdCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4ubXhfUm9sZXNSb29tU2V0dGluZ3NUYWJfdW5iYW5CdG4ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZWN1cml0eVJvb21TZXR0aW5nc1RhYl9hZHZhbmNlZFNlY3Rpb24ge1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctMTY7XHJcbn1cclxuXHJcbi5teF9TZWN1cml0eVJvb21TZXR0aW5nc1RhYl93YXJuaW5nIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sdW1uLWdhcDogJHNwYWNpbmctNDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIGNvbG9yOiAjZmYwMDY0OyAvKiBNYXRjaCBsZWdhY3kgaWNvbiBjb2xvdXIgdW50aWwgcmVkZXNpZ24gKi9cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAsIDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0ZpZWxkLm14X0FwcGVhcmFuY2VVc2VyU2V0dGluZ3NUYWJfY2hlY2tib3hDb250cm9sbGVkRmllbGQge1xyXG4gICAgd2lkdGg6IDI1NnB4O1xyXG4gICAgLyogTGluZSB1cCB3aXRoIFNldHRpbmdzIGZpZWxkIHRvZ2dsZSBidXR0b24gKi9cclxuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XHJcbn1cclxuIiwiLypcbkNvcHlyaWdodCAyMDI2IFBMWC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuXG5QTFggQm90cyBzZXR0aW5ncyB0YWIg4oCUIE1pZG5pZ2h0LXRoZW1lZCBib3QgY2FyZHMgKyBjcmVhdGUgZm9ybS5cblNjb3BlZCB1bmRlciAubXhfQm90c1VzZXJTZXR0aW5nc1RhYjsgY29sb3VycyBwdWxsIGZyb20gdGhlIE1pZG5pZ2h0IHRva2VuXG5ibG9jayBkZWZpbmVkIGluIHJlcy9jc3MvdGhlbWVzL19wbHgtdGVsZWdyYW0ucGNzcy5cbiovXG5cbi5teF9Cb3RzVXNlclNldHRpbmdzVGFiIHtcbiAgICAubXhfQm90c1VzZXJTZXR0aW5nc1RhYl9lcnJvciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1pbnB1dCwgMTNweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjI0LCA2OSwgNzUsIDAuMTIpOyAvKiAtLWRhbmdlciBzb2Z0ICovXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtZGFuZ2VyLCAjZTA0NTRiKTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cblxuICAgIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiX2VtcHR5LFxuICAgIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiX2ZvcmJpZGRlbiB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXBseC1yYWRpdXMtY2FyZCwgMTRweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1wYW5lbC0yLCAjMjAyYjM2KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXBseC1kaW0sICM3ZjkxYTQpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgLm14X0JvdHNVc2VyU2V0dGluZ3NUYWJfbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTJweDtcbiAgICB9XG5cbiAgICAubXhfQm90c1VzZXJTZXR0aW5nc1RhYl9jYXJkIHtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1jYXJkLCAxNHB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGx4LXBhbmVsLTIsICMyMDJiMzYpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wbHgtYm9yZGVyLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cblxuICAgIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiX2NhcmRIZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAxMnB4O1xuICAgIH1cblxuICAgIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiX2NhcmRJZGVudGl0eSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLm14X0JvdHNVc2VyU2V0dGluZ3NUYWJfaGFuZGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tcGx4LWFjY2VudCwgIzJlODBkZSk7XG4gICAgfVxuXG4gICAgLm14X0JvdHNVc2VyU2V0dGluZ3NUYWJfbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgY29sb3I6IHZhcigtLXBseC10ZXh0LCAjZmZmZmZmKTtcbiAgICB9XG5cbiAgICAubXhfQm90c1VzZXJTZXR0aW5nc1RhYl9pbmFjdGl2ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcGFkZGluZzogMnB4IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyNCwgNjksIDc1LCAwLjE2KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXBseC1kYW5nZXIsICNlMDQ1NGIpO1xuICAgIH1cblxuICAgIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tcGx4LWRpbSwgIzdmOTFhNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuXG4gICAgLm14X0JvdHNVc2VyU2V0dGluZ3NUYWJfdG9rZW4ge1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGx4LXJhZGl1cy1pbnB1dCwgMTNweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBseC1iZywgIzBlMTYyMSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBseC1ib3JkZXIsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikpO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgICAgIGNvZGUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wbHgtcmVhZC10aWNrLCAjOGZkMGZmKTtcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teF9Cb3RzVXNlclNldHRpbmdzVGFiX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgfVxuXG4gICAgLm14X0JvdHNVc2VyU2V0dGluZ3NUYWJfY3JlYXRlRm9ybSxcbiAgICAubXhfQm90c1VzZXJTZXR0aW5nc1RhYl9lZGl0Rm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICB9XG5cbiAgICAubXhfQm90c1VzZXJTZXR0aW5nc1RhYl9lZGl0Rm9ybSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICB9XG59XG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxyXG5Db3B5cmlnaHQgMjAxOSBOZXcgVmVjdG9yIEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSGVscFVzZXJTZXR0aW5nc1RhYl9hY2Nlc3NUb2tlbkRldGFpbHMge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9LZXlib2FyZFNob3J0Y3V0X3Nob3J0Y3V0TGlzdCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAkc3BhY2luZy00O1xyXG59XHJcblxyXG4ubXhfS2V5Ym9hcmRTaG9ydGN1dF9zaG9ydGN1dFJvdyxcclxuLm14X0tleWJvYXJkU2hvcnRjdXQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5teF9LZXlib2FyZFNob3J0Y3V0X3Nob3J0Y3V0Um93IHtcclxuICAgIGNvbHVtbi1nYXA6ICRzcGFjaW5nLTg7XHJcbn1cclxuXHJcbi5teF9LZXlib2FyZFNob3J0Y3V0IHtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgY29sdW1uLWdhcDogJHNwYWNpbmctNDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZC5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X01lZGlhUHJldmlld0FjY291bnRTZXR0aW5nX1JhZGlvIHtcclxuICAgIG1hcmdpbjogdmFyKC0tY3BkLXNwYWNlLTF4KSAwO1xyXG59XHJcblxyXG4ubXhfTWVkaWFQcmV2aWV3QWNjb3VudFNldHRpbmcge1xyXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxufVxyXG5cclxuLm14X01lZGlhUHJldmlld0FjY291bnRTZXR0aW5nX1JhZGlvSGVscCB7XHJcbiAgICAvKiAhaW1wb3J0YW50IGJlY2F1c2UgaXQncyBvdmVycmlkaW5nIGNvbXBvdW5kIGhlbHAgbWVzc2FnZSAqL1xyXG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxufVxyXG5cclxuLm14X01lZGlhUHJldmlld0FjY291bnRTZXR0aW5nX0Zvcm0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5teF9NZWRpYVByZXZpZXdBY2NvdW50U2V0dGluZ19Ub2dnbGVTd2l0Y2gge1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTWpvbG5pclVzZXJTZXR0aW5nc1RhYl9saXN0SXRlbSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDI0IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbkNvcHlyaWdodCAyMDE5IE5ldyBWZWN0b3IgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9QcmVmZXJlbmNlc1VzZXJTZXR0aW5nc1RhYl9zZWN0aW9uX2hpbnQge1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcclxuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDE5LTIwMjQgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9TZWN1cml0eVVzZXJTZXR0aW5nc1RhYl9idWxrT3B0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGNvbHVtbi1nYXA6ICRzcGFjaW5nLTg7XHJcbn1cclxuXHJcbi5teF9TZWN1cml0eVVzZXJTZXR0aW5nc1RhYl9pZ25vcmVkVXNlcnMge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLm14X1NlY3VyaXR5VXNlclNldHRpbmdzVGFiX2lnbm9yZWRVc2VyIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTQ7XHJcbn1cclxuXHJcbi5teF9TZWN1cml0eVVzZXJTZXR0aW5nc1RhYl9pZ25vcmVkVXNlciAubXhfQWNjZXNzaWJsZUJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLTg7XHJcbn1cclxuXHJcbi5teF9TZWN1cml0eVVzZXJTZXR0aW5nc1RhYl93YXJuaW5nIHtcclxuICAgIGNvbG9yOiAkYWxlcnQ7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xyXG4gICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbmZvcm0ubXhfU2VjdXJpdHlVc2VyU2V0dGluZ3NUYWJfcG9zdGhvZ1NlY3Rpb24ge1xyXG4gICAgLyogSW5oaWJpdCBjb21wb3VuZCBzcGFjaW5nIGhlcmUgYXMgaXQgY2xhc2hlcyB3aXRoIHByZS1jb21wb3VuZCBVSSAqL1xyXG4gICAgZGlzcGxheTogY29udGVudHMgIWltcG9ydGFudDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCwyMDI1IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU2lkZWJhclVzZXJTZXR0aW5nc1RhYl9ob21lQWxsUm9vbXNDaGVja2JveCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjRweDtcclxuXHJcbiAgICAmICsgZGl2IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNDhweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X1NpZGViYXJVc2VyU2V0dGluZ3NUYWJfaWNvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxufVxyXG5cclxuLm14X1NpZGViYXJVc2VyU2V0dGluZ3NUYWJfY2hlY2tib3ggbGFiZWwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NwYWNlQmFzaWNTZXR0aW5ncyB7XHJcbiAgICAubXhfRmllbGQge1xyXG4gICAgICAgIG1hcmdpbjogMjRweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TcGFjZUJhc2ljU2V0dGluZ3NfYXZhdGFyQ29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcblxyXG4gICAgICAgIC5teF9TcGFjZUJhc2ljU2V0dGluZ3NfYXZhdGFyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlcnRpYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyAvKiB3aGl0ZSBpY29uIGZpbGwgKi9cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfbGluayB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDE4cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbGlua3M7XHJcbiAgICAgICAgICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5teF9TcGFjZUJhc2ljU2V0dGluZ3NfYXZhdGFyX3JlbW92ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWxlcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2hhc0tpbmQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X1NwYWNlQ2hpbGRyZW5QaWNrZXIge1xyXG4gICAgbWFyZ2luOiAxNnB4IDA7XHJcblxyXG4gICAgLm14X1N0eWxlZFJhZGlvQnV0dG9uICsgLm14X1N0eWxlZFJhZGlvQnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9TZWFyY2hCb3gge1xyXG4gICAgICAgIC8qIFRvIG1hdGNoIHRoZSBzcGFjZSBhcm91bmQgdGhlIHRpdGxlICovXHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm14X1NwYWNlQ2hpbGRyZW5QaWNrZXJfbm9SZXN1bHRzIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfU3BhY2VDcmVhdGVNZW51X3dyYXBwZXIge1xyXG4gICAgLyogYmFja2dyb3VuZCBibHVyIGV2ZXJ5dGhpbmcgZXhjZXB0IFNwYWNlUGFuZWwgKi9cclxuICAgIC5teF9Db250ZXh0dWFsTWVudV9iYWNrZ3JvdW5kIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGlhbG9nLWJhY2tkcm9wLWNvbG9yO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICBsZWZ0OiA2OHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5teF9Db250ZXh0dWFsTWVudSB7XHJcbiAgICAgICAgcGFkZGluZzogMjRweDtcclxuICAgICAgICB3aWR0aDogNDgwcHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgPiBoMiB7XHJcbiAgICAgICAgICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMThweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9TcGFjZUNyZWF0ZU1lbnVfYmFjayB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWFjdGlvbnM7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMjJweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogbWluLWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAxOSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfSW5saW5lVGVybXNBZ3JlZW1lbnRfY2JDb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfSW5saW5lVGVybXNBZ3JlZW1lbnRfY2hlY2tib3gge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0FuYWx5dGljc1RvYXN0IHtcclxuICAgIC5teF9BY2Nlc3NpYmxlQnV0dG9uX2tpbmRfZGFuZ2VyX291dGxpbmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIH1cclxuXHJcbiAgICAubXhfQWNjZXNzaWJsZUJ1dHRvbl9raW5kX3ByaW1hcnkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudDtcclxuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0luY29taW5nQ2FsbFRvYXN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IC8qIHJlc3RvcmUgcG9pbnRlciBldmVudHMgc28gdGhlIHVzZXIgY2FuIGFjY2VwdC9kZWNsaW5lICovXHJcblxyXG4gICAgLm14X0luY29taW5nQ2FsbFRvYXN0X2NvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS00eCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgLm14X0luY29taW5nQ2FsbFRvYXN0X3RpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmciBhdXRvO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcblxyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9JbmNvbWluZ0NhbGxUb2FzdF9leHBhbmRCdXR0b24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTF4KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcztcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJiA+IHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5teF9JbmNvbWluZ0NhbGxUb2FzdF9hdmF0YXJzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0luY29taW5nQ2FsbFRvYXN0X2J1dHRvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS0yeCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubXhfSW5jb21pbmdDYWxsVG9hc3RfYWN0aW9uQnV0dG9uIHtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxMzFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgLyogcmVzdG9yZSBwb2ludGVyIGV2ZW50cyBzbyB0aGUgdXNlciBjYW4gYWNjZXB0L2RlY2xpbmUgKi9cclxuXHJcbiAgICAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcblxyXG4gICAgICAgIC5teF9MZWdhY3lDYWxsRXZlbnRfY2FsbGVyIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250LTE4cHg7XHJcblxyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcblxyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxFdmVudF90eXBlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC0xMnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb250ZW50O1xyXG5cclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcblxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0luY29taW5nTGVnYWN5Q2FsbFRvYXN0X2J1dHRvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogMTJweDtcclxuXHJcbiAgICAgICAgICAgIC5teF9JbmNvbWluZ0xlZ2FjeUNhbGxUb2FzdF9idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQG1peGluIExlZ2FjeUNhbGxCdXR0b247XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfSW5jb21pbmdMZWdhY3lDYWxsVG9hc3RfaWNvbkJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9Ob25VcmdlbnRFY2hvRmFpbHVyZVRvYXN0IHtcclxuICAgIHN2ZyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAkZm9udC0xOHB4O1xyXG4gICAgICAgIGhlaWdodDogJGZvbnQtMThweDtcclxuICAgICAgICBjb2xvcjogI2ZmZjsgLyogd2Uga25vdyB0aGF0IG5vbi11cmdlbnQgdG9hc3RzIGFyZSBhbHdheXMgc3R5bGVkIHRoZSBzYW1lICovXHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgLyogaW5jbHVkZXMgdGhlIGkxOG4gYmxvY2sgKi9cclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMS0yMDIzIHggVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0hlYWRpbmdfaDEsXHJcbi5teF9IZWFkaW5nX2gyLFxyXG4ubXhfSGVhZGluZ19oMyxcclxuLm14X0hlYWRpbmdfaDQge1xyXG4gICAgbWFyZ2luLWlubGluZTogdW5zZXQ7XHJcbiAgICBtYXJnaW4tYmxvY2s6IHVuc2V0O1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5teF9IZWFkaW5nX2gxIHtcclxuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmcteGwtc2VtaWJvbGQpO1xyXG59XHJcblxyXG4ubXhfSGVhZGluZ19oMiB7XHJcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLWxnLXNlbWlib2xkKTtcclxufVxyXG5cclxuLm14X0hlYWRpbmdfaDMge1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1tZC1zZW1pYm9sZCk7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxufVxyXG5cclxuLm14X0hlYWRpbmdfaDQge1xyXG4gICAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1zbS1zZW1pYm9sZCk7XHJcbiAgICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cclxuQ29weXJpZ2h0IDIwMTkgTmV3IFZlY3RvciBMdGQuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9WZXJpZmljYXRpb25TaG93U2FzX2RlY2ltYWxTYXMge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDNweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDNweDtcclxufVxyXG5cclxuLm14X1ZlcmlmaWNhdGlvblNob3dTYXNfZGVjaW1hbFNhcyBzcGFuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLm14X1ZlcmlmaWNhdGlvblNob3dTYXNfZW1vamlTYXMge1xyXG4gICAgbWFyZ2luOiAyNXB4IDA7XHJcbn1cclxuXHJcbi5teF9WZXJpZmljYXRpb25TaG93U2FzX2J1dHRvblJvdyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDlweDtcclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxyXG5Db3B5cmlnaHQgMjAyMCwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5Db3B5cmlnaHQgMjAxNSwgMjAxNiBPcGVuTWFya2V0IEx0ZFxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4vKiBkYXRhLXdoYXRpbnRlbnQgbWFrZXMgbW9yZSBzZW5zZSBoZXJlIHNlbWFudGljYWxseSBidXQgdGhlbiB0aGUgdG9vbHRpcCB3b3VsZCBzdGF5IHZpc2libGUgd2l0aG91dCB0aGUgYnV0dG9uICovXHJcbi8qIHdoaWNoIGxvb2tzIGJyb2tlbiwgc28gd2UgbWF0Y2ggdGhlIGJlaGF2aW91ciBvZiB0b29sdGlwcyB3aGljaCBpcyBmaW5lIHRvby4gKi9cclxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucy5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfaGlkZGVuIHtcclxuICAgIG9wYWNpdHk6IDAuMDAxOyAvKiBvcGFjaXR5IDAgY2FuIGNhdXNlIGEgcmUtbGF5b3V0ICovXHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9ucyB7XHJcbiAgICAtLUxlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbi1zaXplOiAxNnB4O1xyXG5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGJvdHRvbTogMzJweDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XHJcbiAgICB6LWluZGV4OiAyMDA7IC8qIFRvIGJlIGFib3ZlIF9hbGxfIGZlZWRzICovXHJcbiAgICBnYXA6IDE4cHg7XHJcblxyXG4gICAgLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b24ge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtdmlldy1idXR0b24tb24tYmFja2dyb3VuZDtcclxuXHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCAwcHggIzAwMDAwMDI2OyAvKiBTYW1lIG9uIGJvdGggdGhlbWVzICovXHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgICAgICAgIGNvbG9yOiAkY2FsbC12aWV3LWJ1dHRvbi1vbi1mb3JlZ3JvdW5kO1xyXG5cclxuICAgICAgICAgICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2Ryb3Bkb3duQnV0dG9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IHZhcigtLUxlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbi1zaXplKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1MZWdhY3lDYWxsVmlld0J1dHRvbnNfZHJvcGRvd25CdXR0b24tc2l6ZSk7XHJcblxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9taWMgc3ZnIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFN0YXRlIGJ1dHRvbnMgKi9cclxuICAgICAgICAmLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25fb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC12aWV3LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY2FsbC12aWV3LWJ1dHRvbi1vbi1mb3JlZ3JvdW5kO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25fc2NyZWVuc2hhcmluZyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG5cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlOyAvKiBTYW1lIG9uIGJvdGggdGhlbWVzICovXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9vZmYge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC12aWV3LWJ1dHRvbi1vZmYtYmFja2dyb3VuZDtcclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNhbGwtdmlldy1idXR0b24tb2ZmLWZvcmVncm91bmQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9zY3JlZW5zaGFyaW5nLFxyXG4gICAgICAgICAgICAmLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19idXR0b25fc2lkZWJhciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC12aWV3LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjYWxsLXZpZXctYnV0dG9uLW9uLWZvcmVncm91bmQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLyogU3RhdGUgYnV0dG9ucyAqL1xyXG5cclxuICAgICAgICAvKiBTdGF0ZWxlc3MgYnV0dG9ucyAqL1xyXG4gICAgICAgICYubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbl9oYW5ndXAge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQ7XHJcblxyXG4gICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlOyAvKiBTYW1lIG9uIGJvdGggdGhlbWVzICovXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLyogU3RhdGVsZXNzIGJ1dHRvbnMgKi9cclxuXHJcbiAgICAgICAgLyogSW52aXNpYmxlIHN0YXRlICovXHJcbiAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnNfYnV0dG9uX2ludmlzaWJsZSB7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLyogSW52aXNpYmxlIHN0YXRlICovXHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9DYWxsRHVyYXRpb24ge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtMTJweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9DYWxsVmlldyB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBtaW4taGVpZ2h0OiAwO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItcGFuZWwtYmctY29sb3I7XHJcblxyXG4gICAgLm14X0FwcFRpbGUge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbC1iYWNrZ3JvdW5kO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGlhbFBhZCB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgcm93LWdhcDogMTZweDtcclxuICAgIGNvbHVtbi1nYXA6IDBweDtcclxuICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuXHJcbiAgICAvKiBzcXVlZXplIHRoZSBkaWFsIHBhZCBidXR0b25zIHRvZ2V0aGVyIGhvcml6b250YWxseSAqL1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxufVxyXG5cclxuLm14X0RpYWxQYWRfYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXVpbmFyeS1jb250ZW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZF9idXR0b24gLm14X0RpYWxQYWRfYnV0dG9uU3ViVGV4dCB7XHJcbiAgICBmb250LXNpemU6IDhweDtcclxufVxyXG5cclxuLm14X0RpYWxQYWRfZGlhbEJ1dHRvbiB7XHJcbiAgICAvKiBBbHdheXMgc2hvdyB0aGUgZGlhbCBidXR0b24gaW4gdGhlIGNlbnRlciBncmlkIGNvbHVtbiAqL1xyXG4gICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmOyAvKiBvbiBhbGwgdGhlbWVzICovXHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfZGlhbFBhZCAubXhfRGlhbFBhZCB7XHJcbiAgICByb3ctZ2FwOiAxNnB4O1xyXG4gICAgY29sdW1uLWdhcDogMzJweDtcclxufVxyXG5cclxuLm14X0RpYWxQYWRDb250ZXh0TWVudVdyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMTVweDtcclxufVxyXG5cclxuLm14X0RpYWxQYWRDb250ZXh0TWVudV9oZWFkZXIge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgbWFyZ2luLXRvcDogMzJweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cclxuICAgIC8qIGEgc2VwYXJhdG9yIGJldHdlZW4gdGhlIGlucHV0IGxpbmUgYW5kIHRoZSBkaWFsIGJ1dHRvbnMgKi9cclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcXVhdGVybmFyeS1jb250ZW50O1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbSAwLjI1cztcclxufVxyXG5cclxuLm14X0RpYWxQYWRDb250ZXh0TWVudV9jYW5jZWwge1xyXG4gICAgQG1peGluIGN1c3RvbWlzZWRDYW5jZWxCdXR0b247XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfaGVhZGVyOmZvY3VzLXdpdGhpbiB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGFjY2VudDtcclxufVxyXG5cclxuLm14X0RpYWxQYWRDb250ZXh0TWVudV90aXRsZSB7XHJcbiAgICBjb2xvcjogJG11dGVkLWZnLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbn1cclxuXHJcbi5teF9EaWFsUGFkQ29udGV4dE1lbnVfZGlhbGxlZCB7XHJcbiAgICBoZWlnaHQ6IDEuNWVtO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW46IDBweDtcclxufVxyXG4ubXhfRGlhbFBhZENvbnRleHRNZW51X2RpYWxsZWQgaW5wdXQge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbWF4LXdpZHRoOiAxODVweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiA4cHggMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDAsIDApO1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZENvbnRleHRNZW51X2RpYWxQYWQge1xyXG4gICAgbWFyZ2luOiAxNnB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfRGlhbG9nX2RpYWxQYWRXcmFwcGVyIC5teF9EaWFsb2cge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZE1vZGFsIHtcclxuICAgIHdpZHRoOiAyOTJweDtcclxuICAgIGhlaWdodDogMzcwcHg7XHJcbiAgICBwYWRkaW5nOiAxNnB4IDBweCAwcHggMHB4O1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZE1vZGFsX2hlYWRlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcblxyXG4gICAgLyogYSBzZXBhcmF0b3IgYmV0d2VlbiB0aGUgaW5wdXQgbGluZSBhbmQgdGhlIGRpYWwgYnV0dG9ucyAqL1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRxdWF0ZXJuYXJ5LWNvbnRlbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIDAuMjVzO1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZE1vZGFsX2hlYWRlcjpmb2N1cy13aXRoaW4ge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhY2NlbnQ7XHJcbn1cclxuXHJcbi5teF9EaWFsUGFkTW9kYWxfdGl0bGUge1xyXG4gICAgY29sb3I6ICRtdXRlZC1mZy1jb2xvcjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZE1vZGFsX2NhbmNlbCB7XHJcbiAgICBAbWl4aW4gY3VzdG9taXNlZENhbmNlbEJ1dHRvbjtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxufVxyXG5cclxuLm14X0RpYWxQYWRNb2RhbF9maWVsZCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIGhlaWdodDogMzBweDtcclxufVxyXG5cclxuLm14X0RpYWxQYWRNb2RhbF9maWVsZCAubXhfRmllbGRfcG9zdGZpeCB7XHJcbiAgICAvKiBSZW1vdmUgYm9yZGVyIHNlcGFyYXRvciBiZXR3ZWVuIHBvc3RmaXggYW5kIGZpZWxkIGNvbnRlbnQgKi9cclxuICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZE1vZGFsX2ZpZWxkIGlucHV0IHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xyXG59XHJcblxyXG4ubXhfRGlhbFBhZE1vZGFsX2RpYWxQYWQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSwgMjAyMiDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcbkNvcHlyaWdodCAyMDIwLCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2IE9wZW5NYXJrZXQgTHRkXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MZWdhY3lDYWxsVmlldyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1wYW5lbC1iZy1jb2xvcjtcclxuICAgIHBhZGRpbmctbGVmdDogOHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xyXG4gICAgLyogWFhYOiBQaVBDb250YWluZXIgc2V0cyBwb2ludGVyLWV2ZW50czogbm9uZSAtIHNob3VsZCBwcm9iYWJseSBiZSBzZXQgYmFjayBpbiBhIGJldHRlciBwbGFjZSAqL1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XHJcblxyXG4gICAgLm14X0xlZ2FjeUNhbGxWaWV3X3RvYXN0IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA3NHB4O1xyXG5cclxuICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xyXG5cclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgei1pbmRleDogNTA7XHJcblxyXG4gICAgICAgIC8qIFNhbWUgb24gYm90aCB0aGVtZXMgKi9cclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MTkxYztcclxuICAgIH1cclxuXHJcbiAgICAubXhfTGVnYWN5Q2FsbFZpZXdfY29udGVudF93cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIC5teF9MZWdhY3lDYWxsVmlld19jb250ZW50IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMjAlICsgMjBweCk7IC8qIFNwYWNlIGZvciB0aGUgc2lkZWJhciAqL1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhbGwtdmlldy1jb250ZW50LWJhY2tncm91bmQ7XHJcblxyXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbFZpZXdfc3RhdHVzIHtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDUwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQtZmctY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5teF9MZWdhY3lDYWxsVmlld19hdmF0YXJzQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbFZpZXdfaG9sZEJhY2tncm91bmQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBibHVyKDIwcHgpO1xyXG5cclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5teF9MZWdhY3lDYWxsVmlld19jb250ZW50X2hvbGQgLm14X0xlZ2FjeUNhbGxWaWV3X3N0YXR1cyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvcmVzL2ltZy92b2lwL3BhdXNlZC5zdmdcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm14X0xlZ2FjeUNhbGxWaWV3X3BpcCAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCgubXhfTGVnYWN5Q2FsbFZpZXdfc2lkZWJhcikgLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAubXhfVmlkZW9GZWVkX3ByaW1hcnkge1xyXG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IHVuc2V0O1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcblxyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0xlZ2FjeUNhbGxWaWV3X3BpcCB7XHJcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcblxyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN5c3RlbTtcclxuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDIwcHggcmdiKDAsIDAsIDAsIDAuMik7XHJcblxyXG4gICAgICAgIC5teF9MZWdhY3lDYWxsVmlld0J1dHRvbnMge1xyXG4gICAgICAgICAgICBib3R0b206IDEzcHg7XHJcblxyXG4gICAgICAgICAgICAubXhfTGVnYWN5Q2FsbFZpZXdCdXR0b25zX2J1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzRweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzRweDtcclxuXHJcbiAgICAgICAgICAgICAgICAmLm14X0xlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHZhcigtLUxlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHZhcigtLUxlZ2FjeUNhbGxWaWV3QnV0dG9uc19kcm9wZG93bkJ1dHRvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm14X0xlZ2FjeUNhbGxWaWV3X2NvbnRlbnQge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxODBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9MZWdhY3lDYWxsVmlld19sYXJnZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIGZsZXg6IDE7XHJcblxyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICBtYXJnaW46IHZhcigtLWNvbnRhaW5lci1nYXAtd2lkdGgpO1xyXG4gICAgICAgIC8qIFRoZSBsZWZ0IHNpZGUgZ2FwIGlzIGZ1bGx5IGhhbmRsZWQgYnkgdGhpcyBtYXJnaW4uIFRvIHByb2hpYml0IGJsZWVkaW5nIG9uIHdlYmtpdCBicm93c2VyLiAqL1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItZ2FwLXdpZHRoKSAvIDIpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5teF9MZWdhY3lDYWxsVmlld19iZWxvd1dpZGdldCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cclxuQ29weXJpZ2h0IDIwMjEgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfTGVnYWN5Q2FsbFZpZXdGb3JSb29tIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgLm14X0xlZ2FjeUNhbGxWaWV3Rm9yUm9vbV9SZXNpemVXcmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICAmOmhvdmVyIC5teF9MZWdhY3lDYWxsVmlld0ZvclJvb21fUmVzaXplSGFuZGxlIHtcclxuICAgICAgICAgICAgLyogTmVlZCB0byB1c2UgaW1wb3J0YW50IHRvIG92ZXJyaWRlIGVsZW1lbnQgc3R5bGUgYXR0cmlidXRlcyAqL1xyXG4gICAgICAgICAgICAvKiBzZXQgYnkgcmUtcmVzaXphYmxlICovXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjRweDtcclxuXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSwgMjAyMiDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXHJcblxyXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcclxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cclxuKi9cclxuXHJcbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlciB7XHJcbiAgICBoZWlnaHQ6IDQ0cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICYubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfcGlwIHtcclxuICAgICAgICBjdXJzb3I6IGdyYWI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5teF9MZWdhY3lDYWxsVmlld0hlYWRlcl90ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4ubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfc2Vjb25kYXJ5Q2FsbEluZm8ge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIsK3XCI7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX2NvbnRyb2xzIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogNXB4O1xyXG59XHJcblxyXG4ubXhfTGVnYWN5Q2FsbFZpZXdIZWFkZXJfYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX2NhbGxJbmZvIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX3Jvb21OYW1lIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XHJcbiAgICBoZWlnaHQ6IDE1cHg7XHJcblxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLm14X0xlZ2FjeUNhbGxWaWV3X3NlY29uZGFyeUNhbGxfcm9vbU5hbWUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcclxufVxyXG5cclxuLm14X0xlZ2FjeUNhbGxWaWV3SGVhZGVyX2ljb24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICB3aWR0aDogMTZweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXHJcbkNvcHlyaWdodCAyMDIxLCAyMDIyIMWgaW1vbiBCcmFuZG5lciA8c2ltb24uYnJhLmFnQGdtYWlsLmNvbT5cclxuXHJcblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxyXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxyXG4qL1xyXG5cclxuLm14X0xlZ2FjeUNhbGxWaWV3U2lkZWJhciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMTBweDtcclxuXHJcbiAgICB3aWR0aDogMjAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIGdhcDogMTJweDtcclxuXHJcbiAgICA+IC5teF9WaWRlb0ZlZWQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHJcbiAgICAgICAgJi5teF9WaWRlb0ZlZWRfdm9pY2Uge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2aWRlby1mZWVkLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm14X0xlZ2FjeUNhbGxWaWV3U2lkZWJhcl9waXBNb2RlIHtcclxuICAgICAgICB0b3A6IDE2cHg7XHJcbiAgICAgICAgYm90dG9tOiB1bnNldDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGdhcDogNHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxyXG5Db3B5cmlnaHQgMjAyMSwgMjAyMiDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XHJcbkNvcHlyaWdodCAyMDE1LCAyMDE2ICwgMjAyMCwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxyXG5cclxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXHJcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXHJcbiovXHJcblxyXG4ubXhfVmlkZW9GZWVkIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyOiB0cmFuc3BhcmVudCAycHggc29saWQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cclxuICAgICYubXhfVmlkZW9GZWVkX3NlY29uZGFyeSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAyNHB4O1xyXG4gICAgICAgIGJvdHRvbTogNzJweDtcclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgfVxyXG5cclxuICAgICYubXhfVmlkZW9GZWVkX3ZvaWNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJ0ZWQtYmctY29sb3I7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgJjpub3QoLm14X1ZpZGVvRmVlZF9wcmltYXJ5KSB7XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfVmlkZW9GZWVkX3ZpZGVvIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XHJcblxyXG4gICAgICAgICYubXhfVmlkZW9GZWVkX3ZpZGVvX21pcnJvciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubXhfVmlkZW9GZWVkX21pYyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDZweDtcclxuICAgICAgICBib3R0b206IDZweDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAwLCAwLCAwLjUpOyAvKiBTYW1lIG9uIGJvdGggdGhlbWVzICovXHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcclxuICAgICAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7IC8qIFNhbWUgb24gYm90aCB0aGVtZXMgKi9cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyogRmFsbGJhY2sgZm9yIEludGVyIHJlZ3VsYXIgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogSGVsdmV0aWNhIE5ldWVcIjtcbiAgc3JjOiBsb2NhbCgnSGVsdmV0aWNhIE5ldWUnKSwgbG9jYWwoJ0hlbHZldGljYU5ldWUnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTEuMjg4MyU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjczMDElO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDYuMTE5OCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFNlZ29lIFVJXCI7XG4gIHNyYzogbG9jYWwoJ1NlZ29lIFVJJyksIGxvY2FsKCdTZWdvZVVJJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg5Ljk0MTIlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi4zOTQ2JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy43MDkzJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogUm9ib3RvXCI7XG4gIHNyYzogbG9jYWwoJ1JvYm90byBSZWd1bGFyJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MC4yMzg0JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNDY4NiU7XG4gIHNpemUtYWRqdXN0OiAxMDcuMzU0NiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFVidW50dVwiO1xuICBzcmM6IGxvY2FsKCdVYnVudHUgUmVndWxhcicpLCBsb2NhbCgnVWJ1bnR1LVJlZ3VsYXInKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTIuMzAyNyU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjk4MjYlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDQuOTUzNiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEZpcmEgU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdGaXJhIFNhbnMgUmVndWxhcicpLCBsb2NhbCgnRmlyYVNhbnMtUmVndWxhcicpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Mi45MTEyJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuMTM0MiU7XG4gIHNpemUtYWRqdXN0OiAxMDQuMjY2MiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IE5vdG8gU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdOb3RvIFNhbnMgUmVndWxhcicpLCBsb2NhbCgnTm90b1NhbnMtUmVndWxhcicpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Ni4xNTcxJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuOTQyMyU7XG4gIHNpemUtYWRqdXN0OiAxMDAuNzQ2NiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEFyaWFsXCI7XG4gIHNyYzogbG9jYWwoJ0FyaWFsJyksIGxvY2FsKCdBcmlhbE1UJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjQzNjUlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi41MTglO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDcuMTE5NCU7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogSGVsdmV0aWNhIE5ldWVcIjtcbiAgc3JjOiBsb2NhbCgnSGVsdmV0aWNhIE5ldWUgSXRhbGljJyksIGxvY2FsKCdIZWx2ZXRpY2FOZXVlLUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MC4zMjg1JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNDkxMSU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy4yNDc1JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogU2Vnb2UgVUlcIjtcbiAgc3JjOiBsb2NhbCgnU2Vnb2UgVUkgSXRhbGljJyksIGxvY2FsKCdTZWdvZVVJLUl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA4Ny40MjM4JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjEuNzY3OCU7XG4gIHNpemUtYWRqdXN0OiAxMTAuODEwOCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFJvYm90b1wiO1xuICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg3LjIyNjklO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMS43MTg4JTtcbiAgc2l6ZS1hZGp1c3Q6IDExMS4wNjA5JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogVWJ1bnR1XCI7XG4gIHNyYzogbG9jYWwoJ1VidW50dSBJdGFsaWMnKSwgbG9jYWwoJ1VidW50dS1JdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogODguNzE1NCU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjA4OTQlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDkuMTk3NCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEZpcmEgU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdGaXJhIFNhbnMgSXRhbGljJyksIGxvY2FsKCdGaXJhU2Fucy1JdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTEuMzM2NiU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjc0MjElO1xuICBzaXplLWFkanVzdDogMTA2LjA2MzclO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBOb3RvIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnTm90byBTYW5zIEl0YWxpYycpLCBsb2NhbCgnTm90b1NhbnMtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjEyNjglO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi40NDA5JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy40ODc0JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogQXJpYWxcIjtcbiAgc3JjOiBsb2NhbCgnQXJpYWwgSXRhbGljJyksIGxvY2FsKCdBcmlhbC1JdGFsaWNNVCcpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA4OS44ODUlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi4zODA2JTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA3Ljc3NjYlO1xufVxuXG5cbi8qIEZhbGxiYWNrIGZvciBJbnRlciBtZWRpdW0gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogSGVsdmV0aWNhIE5ldWVcIjtcbiAgc3JjOiBsb2NhbCgnSGVsdmV0aWNhIE5ldWUgTWVkaXVtJyksIGxvY2FsKCdIZWx2ZXRpY2FOZXVlLU1lZGl1bScpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5My4zNzY1JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuMjUlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDMuNzQ2NiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFNlZ29lIFVJXCI7XG4gIHNyYzogbG9jYWwoJ1NlZ29lIFVJIFNlbWlib2xkJyksIGxvY2FsKCdTZWdvZVVJLVNlbWlib2xkJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkxLjg3NDQlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi44NzYlO1xuICBzaXplLWFkanVzdDogMTA1LjQ0MjklO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBSb2JvdG9cIjtcbiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bScpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bScpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MC4xMDk0JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNDM2NSU7XG4gIHNpemUtYWRqdXN0OiAxMDcuNTA4MiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFVidW50dVwiO1xuICBzcmM6IGxvY2FsKCdVYnVudHUgTWVkaXVtJyksIGxvY2FsKCdVYnVudHUtTWVkaXVtJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkzLjU3NzMlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy4zJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTAzLjUyNCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEZpcmEgU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdGaXJhIFNhbnMgTWVkaXVtJyksIGxvY2FsKCdGaXJhU2Fucy1NZWRpdW0nKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTIuMTcxNyU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjk1JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNS4xMDI4JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogTm90byBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ05vdG8gU2FucyBNZWRpdW0nKSwgbG9jYWwoJ05vdG9TYW5zLU1lZGl1bScpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5Ni43OTAzJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjQuMSU7XG4gIHNpemUtYWRqdXN0OiAxMDAuMDg3NSU7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogSGVsdmV0aWNhIE5ldWVcIjtcbiAgc3JjOiBsb2NhbCgnSGVsdmV0aWNhIE5ldWUgTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnSGVsdmV0aWNhTmV1ZS1NZWRpdW1JdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTIuODEyOSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjEwOTclO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDQuMzc2NyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFNlZ29lIFVJXCI7XG4gIHNyYzogbG9jYWwoJ1NlZ29lIFVJIFNlbWlib2xkIEl0YWxpYycpLCBsb2NhbCgnU2Vnb2VVSS1TZW1pYm9sZEl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MC4zNDUyJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuNDk1MiU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy4yMjc2JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogUm9ib3RvXCI7XG4gIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDg3LjAzMTYlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMS42NzAyJTtcbiAgc2l6ZS1hZGp1c3Q6IDExMS4zMTAyJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogVWJ1bnR1XCI7XG4gIHNyYzogbG9jYWwoJ1VidW50dSBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdVYnVudHUtTWVkaXVtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjYxNzMlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi41NjMlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDYuOTA1NiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEZpcmEgU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdGaXJhIFNhbnMgTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnRmlyYVNhbnMtTWVkaXVtSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkwLjIxODElO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi40NjM2JTtcbiAgc2l6ZS1hZGp1c3Q6IDEwNy4zNzg3JTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogTm90byBTYW5zXCI7XG4gIHNyYzogbG9jYWwoJ05vdG8gU2FucyBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdOb3RvU2Fucy1NZWRpdW1JdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTEuMDE2NSU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjY2MjQlO1xuICBzaXplLWFkanVzdDogMTA2LjQzNjclO1xufVxuXG5cbi8qIEZhbGxiYWNrIGZvciBJbnRlciBzZW1pYm9sZCAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBIZWx2ZXRpY2EgTmV1ZVwiO1xuICBzcmM6IGxvY2FsKCdIZWx2ZXRpY2EgTmV1ZSBCb2xkJyksIGxvY2FsKCdIZWx2ZXRpY2FOZXVlLUJvbGQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTUuNDIyOCU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjc1OTUlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDEuNTIxOCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFNlZ29lIFVJXCI7XG4gIHNyYzogbG9jYWwoJ1NlZ29lIFVJIEJvbGQnKSwgbG9jYWwoJ1NlZ29lVUktQm9sZCcpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5NC40NDgzJTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuNTE2OSU7XG4gIHNpemUtYWRqdXN0OiAxMDIuNTY5NCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFJvYm90b1wiO1xuICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogODkuODg2JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuMzgwOSU7XG4gIHNpemUtYWRqdXN0OiAxMDcuNzc1NCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFVidW50dVwiO1xuICBzcmM6IGxvY2FsKCdVYnVudHUgQm9sZCcpLCBsb2NhbCgnVWJ1bnR1LUJvbGQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTUuNDIyOCU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjc1OTUlO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDEuNTIxOCU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEZpcmEgU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdGaXJhIFNhbnMgU2VtaUJvbGQnKSwgbG9jYWwoJ0ZpcmFTYW5zLVNlbWlCb2xkJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkxLjI0ODElO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMi43MiU7XG4gIHNpemUtYWRqdXN0OiAxMDYuMTY2NiU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IE5vdG8gU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdOb3RvIFNhbnMgU2VtaUJvbGQnKSwgbG9jYWwoJ05vdG9TYW5zLVNlbWlCb2xkJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk3LjgwODQlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyNC4zNTM1JTtcbiAgc2l6ZS1hZGp1c3Q6IDk5LjA0NTclO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBBcmlhbFwiO1xuICBzcmM6IGxvY2FsKCdBcmlhbCBCb2xkJyksIGxvY2FsKCdBcmlhbC1Cb2xkTVQnKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTUuNDE5JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjMuNzU4NiU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMS41MjU5JTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBIZWx2ZXRpY2EgTmV1ZVwiO1xuICBzcmM6IGxvY2FsKCdIZWx2ZXRpY2EgTmV1ZSBCb2xkIEl0YWxpYycpLCBsb2NhbCgnSGVsdmV0aWNhTmV1ZS1Cb2xkSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDk0Ljk1NTYlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy42NDMyJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTAyLjAyMTMlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBTZWdvZSBVSVwiO1xuICBzcmM6IGxvY2FsKCdTZWdvZSBVSSBCb2xkIEl0YWxpYycpLCBsb2NhbCgnU2Vnb2VVSS1Cb2xkSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkzLjQwNDklO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy4yNTcxJTtcbiAgc2l6ZS1hZGp1c3Q6IDEwMy43MTUyJTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJbnRlciBGYWxsYmFjazogUm9ib3RvXCI7XG4gIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogODYuNzUzNyU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIxLjYwMSU7XG4gIHNpemUtYWRqdXN0OiAxMTEuNjY2NyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IFVidW50dVwiO1xuICBzcmM6IGxvY2FsKCdVYnVudHUgQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1VidW50dS1Cb2xkSXRhbGljJyk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBhc2NlbnQtb3ZlcnJpZGU6IDkyLjM4OTMlO1xuICBkZXNjZW50LW92ZXJyaWRlOiAyMy4wMDQyJTtcbiAgbGluZS1nYXAtb3ZlcnJpZGU6IDAlO1xuICBzaXplLWFkanVzdDogMTA0Ljg1NTMlO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyIEZhbGxiYWNrOiBGaXJhIFNhbnNcIjtcbiAgc3JjOiBsb2NhbCgnRmlyYSBTYW5zIFNlbWlCb2xkIEl0YWxpYycpLCBsb2NhbCgnRmlyYVNhbnMtU2VtaUJvbGRJdGFsaWMnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogODkuMjMwNiU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIyLjIxNzclO1xuICBzaXplLWFkanVzdDogMTA4LjU2NyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IE5vdG8gU2Fuc1wiO1xuICBzcmM6IGxvY2FsKCdOb3RvIFNhbnMgU2VtaUJvbGQgSXRhbGljJyksIGxvY2FsKCdOb3RvU2Fucy1TZW1pQm9sZEl0YWxpYycpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgYXNjZW50LW92ZXJyaWRlOiA5MS45OTQ0JTtcbiAgZGVzY2VudC1vdmVycmlkZTogMjIuOTA1OSU7XG4gIHNpemUtYWRqdXN0OiAxMDUuMzA1MyU7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXIgRmFsbGJhY2s6IEFyaWFsXCI7XG4gIHNyYzogbG9jYWwoJ0FyaWFsIEJvbGQgSXRhbGljJyksIGxvY2FsKCdBcmlhbC1Cb2xkSXRhbGljTVQnKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGFzY2VudC1vdmVycmlkZTogOTQuNzU0NCU7XG4gIGRlc2NlbnQtb3ZlcnJpZGU6IDIzLjU5MzElO1xuICBsaW5lLWdhcC1vdmVycmlkZTogMCU7XG4gIHNpemUtYWRqdXN0OiAxMDIuMjM4JTtcbn1cbiIsIjpyb290LCBbY2xhc3MqPVwiY3BkLXRoZW1lLVwiXSB7XG4gIC0tY3BkLXNwYWNlLXNjYWxlOiA0cHg7XG4gIC0tY3BkLXNwYWNlLTB4OiAwO1xuICAtLWNwZC1zcGFjZS02eDogMjRweDtcbiAgLS1jcGQtc3BhY2UtMTB4OiA0MHB4O1xuICAtLWNwZC1zcGFjZS0xMXg6IDQ0cHg7XG4gIC0tY3BkLXNwYWNlLTEyeDogNDhweDtcbiAgLS1jcGQtc3BhY2UtMTZ4OiA2NHB4O1xuICAtLWNwZC1zcGFjZS0zNng6IDE0NHB4O1xuICAtLWNwZC1zcGFjZS01Nng6IDIyNHB4O1xuICAtLWNwZC1ib3JkZXItd2lkdGgtMTogMXB4O1xuICAtLWNwZC1ib3JkZXItd2lkdGgtMjogMnB4O1xuICAtLWNwZC1ib3JkZXItd2lkdGgtNDogNHB4O1xuICAtLWNwZC1ib3JkZXItd2lkdGgtMC01OiAwLjVweDtcbiAgLS1jcGQtZm9udC1mYW1pbHktc2FuczogSW50ZXIsIFwiSW50ZXIgRmFsbGJhY2s6IEhlbHZldGljYSBOZXVlXCIsIFwiSW50ZXIgRmFsbGJhY2s6IFNlZ29lIFVJXCIsIFwiSW50ZXIgRmFsbGJhY2s6IFJvYm90b1wiLCBcIkludGVyIEZhbGxiYWNrOiBVYnVudHVcIiwgXCJJbnRlciBGYWxsYmFjazogRmlyYSBTYW5zXCIsIFwiSW50ZXIgRmFsbGJhY2s6IE5vdG8gU2Fuc1wiLCBcIkludGVyIEZhbGxiYWNrOiBBcmlhbFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBVYnVudHUsIFwiRmlyYSBTYW5zXCIsIFwiTm90byBTYW5zXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWNwZC1mb250LWZhbWlseS1tb25vOiBJbmNvbnNvbGF0YSwgdWktbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMDtcbiAgLS1jcGQtZm9udC13ZWlnaHQtbWVkaXVtOiA1MDA7XG4gIC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiA2MDA7XG4gIC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtbWluaW11bTogMTtcbiAgLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodDogMS4yNTtcbiAgLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyOiAxLjU7XG4gIC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXhzOiAwLjY4NzVyZW07XG4gIC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXNtOiAwLjgxMjVyZW07XG4gIC0tY3BkLWZvbnQtc2l6ZS1ib2R5LW1kOiAwLjkzNzVyZW07XG4gIC0tY3BkLWZvbnQtc2l6ZS1ib2R5LWxnOiAxLjA2MjVyZW07XG4gIC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLXNtOiAxLjI1cmVtO1xuICAtLWNwZC1mb250LXNpemUtaGVhZGluZy1tZDogMS41cmVtO1xuICAtLWNwZC1mb250LXNpemUtaGVhZGluZy1sZzogMS43NXJlbTtcbiAgLS1jcGQtZm9udC1zaXplLWhlYWRpbmcteGw6IDJyZW07XG4gIC0tY3BkLWZvbnQtc2l6ZS1yb290OiAxcmVtO1xuICAtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHkteHM6IDAuMDA0OGVtO1xuICAtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktc206IC0wLjAwMzFlbTtcbiAgLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LW1kOiAtMC4wMDg4ZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1sZzogLTAuMDEyOGVtO1xuICAtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctc206IC0wLjAxNjZlbTtcbiAgLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLW1kOiAtMC4wMTk1ZW07XG4gIC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1sZzogLTAuMDIwOWVtO1xuICAtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmcteGw6IC0wLjAyMTZlbTtcbiAgLS1jcGQtc3BhY2UtMC01eDogMnB4O1xuICAtLWNwZC1zcGFjZS0xeDogdmFyKC0tY3BkLXNwYWNlLXNjYWxlKTtcbiAgLS1jcGQtc3BhY2UtMS01eDogNnB4O1xuICAtLWNwZC1zcGFjZS0yeDogOHB4O1xuICAtLWNwZC1zcGFjZS0zeDogMTJweDtcbiAgLS1jcGQtc3BhY2UtNHg6IDE2cHg7XG4gIC0tY3BkLXNwYWNlLTV4OiAyMHB4O1xuICAtLWNwZC1zcGFjZS03eDogMjhweDtcbiAgLS1jcGQtc3BhY2UtOHg6IDMycHg7XG4gIC0tY3BkLXNwYWNlLTl4OiAzNnB4O1xuICAtLWNwZC1zcGFjZS0xM3g6IDUycHg7XG4gIC0tY3BkLXNwYWNlLTE0eDogNTZweDtcbiAgLS1jcGQtc3BhY2UtMTV4OiA2MHB4O1xuICAtLWNwZC1zcGFjZS0yMHg6IDgwcHg7XG4gIC0tY3BkLXNwYWNlLTI0eDogOTZweDtcbiAgLS1jcGQtc3BhY2UtMjh4OiAxMTJweDtcbiAgLS1jcGQtc3BhY2UtMzJ4OiAxMjhweDtcbiAgLS1jcGQtc3BhY2UtNDB4OiAxNjBweDtcbiAgLS1jcGQtc3BhY2UtNDh4OiAxOTJweDtcbiAgLS1jcGQtc3BhY2UtNjR4OiAyNTZweDtcbiAgLS1jcGQtZm9udC1ib2R5LXhzLXJlZ3VsYXI6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHkteHMpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LXhzLW1lZGl1bTogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LW1lZGl1bSkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXhzKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtYm9keS14cy1zZW1pYm9sZDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHkteHMpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXI6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LXNtLW1lZGl1bTogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LW1lZGl1bSkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LXNtKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtYm9keS1zbS1zZW1pYm9sZDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXI6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktbWQpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bTogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LW1lZGl1bSkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LW1kKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktbWQpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LWxnLXJlZ3VsYXI6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktbGcpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1ib2R5LWxnLW1lZGl1bTogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LW1lZGl1bSkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1ib2R5LWxnKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtYm9keS1sZy1zZW1pYm9sZDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKSB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktbGcpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLXNtLXJlZ3VsYXI6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1zaXplLWhlYWRpbmctc20pL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0KSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtaGVhZGluZy1zbS1tZWRpdW06IHZhcigtLWNwZC1mb250LXdlaWdodC1tZWRpdW0pIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy1zbSkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy1zbSkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLW1kLXJlZ3VsYXI6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKSB2YXIoLS1jcGQtZm9udC1zaXplLWhlYWRpbmctbWQpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0KSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtaGVhZGluZy1tZC1zZW1pYm9sZDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXNlbWlib2xkKSB2YXIoLS1jcGQtZm9udC1zaXplLWhlYWRpbmctbWQpL3ZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXRpZ2h0KSB2YXIoLS1jcGQtZm9udC1mYW1pbHktc2Fucyk7XG4gIC0tY3BkLWZvbnQtaGVhZGluZy1sZy1yZWd1bGFyOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtcmVndWxhcikgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLWxnKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmctbGctc2VtaWJvbGQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1zZW1pYm9sZCkgdmFyKC0tY3BkLWZvbnQtc2l6ZS1oZWFkaW5nLWxnKS92YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC10aWdodCkgdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICAtLWNwZC1mb250LWhlYWRpbmcteGwtcmVndWxhcjogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy14bCkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbiAgLS1jcGQtZm9udC1oZWFkaW5nLXhsLXNlbWlib2xkOiB2YXIoLS1jcGQtZm9udC13ZWlnaHQtc2VtaWJvbGQpIHZhcigtLWNwZC1mb250LXNpemUtaGVhZGluZy14bCkvdmFyKC0tY3BkLWZvbnQtbGluZS1oZWlnaHQtdGlnaHQpIHZhcigtLWNwZC1mb250LWZhbWlseS1zYW5zKTtcbn1cbiIsIjpyb290LCBbY2xhc3MqPVwiY3BkLXRoZW1lLVwiXSB7XG4gIC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktMTQwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS05MDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS04MDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWFjdGlvbi1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xNDAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1hY3Rpb24tYWNjZW50OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1saW5rLWV4dGVybmFsOiB2YXIoLS1jcGQtY29sb3ItYmx1ZS0xMTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItcmVkLTkwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtc3VjY2Vzcy1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1pbmZvLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ibHVlLTExMDApO1xuICAtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS0xOiB2YXIoLS1jcGQtY29sb3ItbGltZS0xMTAwKTtcbiAgLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTI6IHZhcigtLWNwZC1jb2xvci1jeWFuLTExMDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtMzogdmFyKC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTEwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS00OiB2YXIoLS1jcGQtY29sb3ItcHVycGxlLTExMDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWRlY29yYXRpdmUtNTogdmFyKC0tY3BkLWNvbG9yLXBpbmstMTEwMCk7XG4gIC0tY3BkLWNvbG9yLXRleHQtZGVjb3JhdGl2ZS02OiB2YXIoLS1jcGQtY29sb3Itb3JhbmdlLTExMDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWJhZGdlLWFjY2VudDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTExMDApO1xuICAtLWNwZC1jb2xvci10ZXh0LWJhZGdlLWluZm86IHZhcigtLWNwZC1jb2xvci1ibHVlLTExMDApO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcbiAgLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQ6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kaXNhYmxlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMjAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMTQwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTEyMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1wcmVzc2VkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xMTAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTcwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktcmVzdDogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1ob3ZlcmVkOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LXByZXNzZWQ6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWFjdGlvbi10ZXJ0aWFyeS1yZXN0OiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1iZy1hY3Rpb24tdGVydGlhcnktaG92ZXJlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWN0aW9uLXRlcnRpYXJ5LXNlbGVjdGVkOiB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItcmVkLTkwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1yZWQtMTAwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZTogdmFyKC0tY3BkLWNvbG9yLXJlZC0yMDApO1xuICAtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUtaG92ZXJlZDogdmFyKC0tY3BkLWNvbG9yLXJlZC0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1zdWNjZXNzLXN1YnRsZTogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTIwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWluZm8tc3VidGxlOiB2YXIoLS1jcGQtY29sb3ItYmx1ZS0yMDApO1xuICAtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTE6IHZhcigtLWNwZC1jb2xvci1saW1lLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLWRlY29yYXRpdmUtMjogdmFyKC0tY3BkLWNvbG9yLWN5YW4tMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS0zOiB2YXIoLS1jcGQtY29sb3ItZnVjaHNpYS0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTQ6IHZhcigtLWNwZC1jb2xvci1wdXJwbGUtMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS01OiB2YXIoLS1jcGQtY29sb3ItcGluay0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1kZWNvcmF0aXZlLTY6IHZhcigtLWNwZC1jb2xvci1vcmFuZ2UtMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3Q6IHZhcigtLWNwZC1jb2xvci1ncmVlbi05MDApO1xuICAtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTEwMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY2NlbnQtcHJlc3NlZDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTExMDApO1xuICAtLWNwZC1jb2xvci1iZy1hY2NlbnQtc2VsZWN0ZWQ6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDApO1xuICAtLWNwZC1jb2xvci1iZy1iYWRnZS1hY2NlbnQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi00MDApO1xuICAtLWNwZC1jb2xvci1iZy1iYWRnZS1pbmZvOiB2YXIoLS1jcGQtY29sb3ItYmx1ZS00MDApO1xuICAtLWNwZC1jb2xvci1iZy1iYWRnZS1kZWZhdWx0OiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1iZy1iYWRnZS1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xNDAwKTtcbiAgLS1jcGQtY29sb3ItYmctYmFkZ2Utc2Vjb25kYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAtLWNwZC1jb2xvci1iZy1iYWRnZS1jcml0aWNhbDogdmFyKC0tY3BkLWNvbG9yLXJlZC0zMDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTUwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkOiB2YXIoLS1jcGQtY29sb3ItYmx1ZS05MDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktODAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktNjAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQ6IHZhcigtLWNwZC1jb2xvci1ncmF5LTExMDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtcHJpbWFyeTogdmFyKC0tY3BkLWNvbG9yLXJlZC05MDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtaG92ZXJlZDogdmFyKC0tY3BkLWNvbG9yLXJlZC0xMDAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXN1YnRsZTogdmFyKC0tY3BkLWNvbG9yLXJlZC01MDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItc3VjY2Vzcy1zdWJ0bGU6IHZhcigtLWNwZC1jb2xvci1ncmVlbi01MDApO1xuICAtLWNwZC1jb2xvci1ib3JkZXItaW5mby1zdWJ0bGU6IHZhcigtLWNwZC1jb2xvci1ibHVlLTcwMCk7XG4gIC0tY3BkLWNvbG9yLWJvcmRlci1hY2NlbnQtc3VidGxlOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNzAwKTtcbiAgLS1jcGQtY29sb3ItYm9yZGVyLWFjY2VudC1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS0xNDAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTkwMCk7XG4gIC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnk6IHZhcigtLWNwZC1jb2xvci1ncmF5LTgwMCk7XG4gIC0tY3BkLWNvbG9yLWljb24tcXVhdGVybmFyeTogdmFyKC0tY3BkLWNvbG9yLWdyYXktNzAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1kaXNhYmxlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktNzAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5LWFscGhhOiB2YXIoLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnktYWxwaGE6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMCk7XG4gIC0tY3BkLWNvbG9yLWljb24tdGVydGlhcnktYWxwaGE6IHZhcigtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTgwMCk7XG4gIC0tY3BkLWNvbG9yLWljb24tcXVhdGVybmFyeS1hbHBoYTogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNzAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1hY2NlbnQtdGVydGlhcnk6IHZhcigtLWNwZC1jb2xvci1ncmVlbi04MDApO1xuICAtLWNwZC1jb2xvci1pY29uLWFjY2VudC1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItcmVkLTkwMCk7XG4gIC0tY3BkLWNvbG9yLWljb24tc3VjY2Vzcy1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItaWNvbi1pbmZvLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci1ibHVlLTExMDApO1xuICAtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnk6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LXN1YnRsZS1zdG9wMTogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LXN1YnRsZS1zdG9wMjogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LXN1YnRsZS1zdG9wMzogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LXN1YnRsZS1zdG9wNDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTIwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LXN1YnRsZS1zdG9wNTogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LXN1YnRsZS1zdG9wNjogdmFyKC0tY3BkLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtaW5mby1zdG9wMTogdmFyKC0tY3BkLWNvbG9yLWJsdWUtMjAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtaW5mby1zdG9wMjogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtY3JpdGljYWwtc3RvcDE6IHZhcigtLWNwZC1jb2xvci1yZWQtMjAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtY3JpdGljYWwtc3RvcDI6IHZhcigtLWNwZC1jb2xvci10aGVtZS1iZyk7XG4gIC0tY3BkLWNvbG9yLXNlcGFyYXRvci1wcmltYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICAtLWNwZC1jb2xvci1zZXBhcmF0b3Itc2Vjb25kYXJ5OiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1zdWJ0bGUtbGluZWFyOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtc3VidGxlLXN0b3AxKSAwJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LXN1YnRsZS1zdG9wMikgMjAlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtc3VidGxlLXN0b3AzKSA0MCUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1zdWJ0bGUtc3RvcDQpIDYwJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LXN1YnRsZS1zdG9wNSkgODAlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtc3VidGxlLXN0b3A2KSAxMDAlKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtaW5mby1saW5lYXI6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1pbmZvLXN0b3AxKSAwJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWluZm8tc3RvcDIpIDEwMCUpO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1jcml0aWNhbC1saW5lYXI6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1jcml0aWNhbC1zdG9wMSkgMCUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1jcml0aWNhbC1zdG9wMikgMTAwJSk7XG59XG4iLCIuY3BkLXRoZW1lLWxpZ2h0LmNwZC10aGVtZS1saWdodCB7XG4gIC0tY3BkLWNvbG9yLXRoZW1lLWJnOiAjZmZmZmZmO1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDogI2ZiZmNmZDtcbiAgLS1jcGQtY29sb3ItZ3JheS0yMDA6ICNmN2Y5ZmE7XG4gIC0tY3BkLWNvbG9yLWdyYXktMzAwOiAjZjBmMmY1O1xuICAtLWNwZC1jb2xvci1ncmF5LTQwMDogI2UxZTZlYztcbiAgLS1jcGQtY29sb3ItZ3JheS01MDA6ICNjZGQzZGE7XG4gIC0tY3BkLWNvbG9yLWdyYXktNjAwOiAjYmRjNGNjO1xuICAtLWNwZC1jb2xvci1ncmF5LTcwMDogI2E2YWRiNztcbiAgLS1jcGQtY29sb3ItZ3JheS04MDA6ICM4MThhOTU7XG4gIC0tY3BkLWNvbG9yLWdyYXktOTAwOiAjNjU2ZDc3O1xuICAtLWNwZC1jb2xvci1ncmF5LTEwMDA6ICM1OTVlNjc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTEwMDogIzRjNTE1ODtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMjAwOiAjM2M0MDQ1O1xuICAtLWNwZC1jb2xvci1ncmF5LTEzMDA6ICMyYjJkMzI7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTQwMDogIzFiMWQyMjtcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDogI2ZmZmFmOTtcbiAgLS1jcGQtY29sb3ItcmVkLTIwMDogI2ZmZjdmNjtcbiAgLS1jcGQtY29sb3ItcmVkLTMwMDogI2ZmZWZlYztcbiAgLS1jcGQtY29sb3ItcmVkLTQwMDogI2ZmZGZkYTtcbiAgLS1jcGQtY29sb3ItcmVkLTUwMDogI2ZmYzViYztcbiAgLS1jcGQtY29sb3ItcmVkLTYwMDogI2ZmYWZhNTtcbiAgLS1jcGQtY29sb3ItcmVkLTcwMDogI2ZmOGM4MTtcbiAgLS1jcGQtY29sb3ItcmVkLTgwMDogI2ZmM2QzZDtcbiAgLS1jcGQtY29sb3ItcmVkLTkwMDogI2Q1MTkyODtcbiAgLS1jcGQtY29sb3ItcmVkLTEwMDA6ICNiYzBmMjI7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMTAwOiAjYTQwNDFkO1xuICAtLWNwZC1jb2xvci1yZWQtMTIwMDogIzg1MDAwNjtcbiAgLS1jcGQtY29sb3ItcmVkLTEzMDA6ICM2MjAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0xNDAwOiAjNDUwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwOiAjZmZmYWY3O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMjAwOiAjZmZmNmVmO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMzAwOiAjZmZlZmU0O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNDAwOiAjZmZkZmM4O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNTAwOiAjZmZjOGExO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNjAwOiAjZmRiMzdjO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtNzAwOiAjZjg5NDQwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtODAwOiAjZGM2NzAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtOTAwOiAjYmM0NTAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTAwMDogI2FjMzMwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTExMDA6ICM5YjIyMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMjAwOiAjODUwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTMwMDogIzYyMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTE0MDA6ICM0NTAwMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDA6ICNmZmZjZjA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0yMDA6ICNmZmY4ZTA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0zMDA6ICNmZmYyYzE7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy00MDA6ICNmZmU0ODQ7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy01MDA6ICNmYmNlMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy02MDA6ICNmMWJkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy03MDA6ICNkZWEyMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy04MDA6ICNiZTdhMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy05MDA6ICM5ZjViMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMDAwOiAjOGY0ZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTEwMDogIzgwM2YwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEyMDA6ICM2OTJlMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMzAwOiAjNTQxYTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTQwMDogIzQxMDYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMDA6ICNmOGZkZjY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMjAwOiAjZjFmY2VlO1xuICAtLWNwZC1jb2xvci1saW1lLTMwMDogI2UwZjhkOTtcbiAgLS1jcGQtY29sb3ItbGltZS00MDA6ICNjOGYxYmE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNTAwOiAjOTllNTdlO1xuICAtLWNwZC1jb2xvci1saW1lLTYwMDogIzc2ZGI0YztcbiAgLS1jcGQtY29sb3ItbGltZS03MDA6ICM1NGM0MjQ7XG4gIC0tY3BkLWNvbG9yLWxpbWUtODAwOiAjMzU5ZDE4O1xuICAtLWNwZC1jb2xvci1saW1lLTkwMDogIzE5N2QwYztcbiAgLS1jcGQtY29sb3ItbGltZS0xMDAwOiAjMDA2ZTAwO1xuICAtLWNwZC1jb2xvci1saW1lLTExMDA6ICMwMDVmMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTIwMDogIzAwNGIwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMzAwOiAjMDAzNjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTE0MDA6ICMwMDI0MDA7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDogI2Y4ZmRmYjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMjAwOiAjZjFmYmY2O1xuICAtLWNwZC1jb2xvci1ncmVlbi0zMDA6ICNlM2Y3ZWQ7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTQwMDogI2M2ZWVkYjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNTAwOiAjOThlMWMxO1xuICAtLWNwZC1jb2xvci1ncmVlbi02MDA6ICM3MWQ3YWU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTcwMDogIzBiYzQ5MTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tODAwOiAjMDA5Yjc4O1xuICAtLWNwZC1jb2xvci1ncmVlbi05MDA6ICMwMDdhNjE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEwMDA6ICMwMDZiNTI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTExMDA6ICMwMDVjNDU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEyMDA6ICMwMDQ5MzM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTEzMDA6ICMwMDM0MjA7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTE0MDA6ICMwMDIzMTE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwOiAjZjhmZGZkO1xuICAtLWNwZC1jb2xvci1jeWFuLTIwMDogI2YxZmFmYjtcbiAgLS1jcGQtY29sb3ItY3lhbi0zMDA6ICNlM2Y1Zjg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNDAwOiAjYzdlY2YwO1xuICAtLWNwZC1jb2xvci1jeWFuLTUwMDogIzliZGRlNTtcbiAgLS1jcGQtY29sb3ItY3lhbi02MDA6ICM3NmQxZGQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNzAwOiAjMTViZWNmO1xuICAtLWNwZC1jb2xvci1jeWFuLTgwMDogIzAwOTRjMDtcbiAgLS1jcGQtY29sb3ItY3lhbi05MDA6ICMwMDcyYWM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTAwMDogIzAwNjI5YztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMTAwOiAjMDA1NDhjO1xuICAtLWNwZC1jb2xvci1jeWFuLTEyMDA6ICMwMDQwNzc7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTMwMDogIzAwMmI2MTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xNDAwOiAjMDAxOTRmO1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDogI2Y5ZmNmZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0yMDA6ICNmNGY4ZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMzAwOiAjZTlmMmZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTQwMDogI2Q4ZTdmZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS01MDA6ICNiYWQ1ZmM7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNjAwOiAjYTNjNmZhO1xuICAtLWNwZC1jb2xvci1ibHVlLTcwMDogIzdlYWZmNjtcbiAgLS1jcGQtY29sb3ItYmx1ZS04MDA6ICM0MDg4ZWU7XG4gIC0tY3BkLWNvbG9yLWJsdWUtOTAwOiAjMDQ2N2RkO1xuICAtLWNwZC1jb2xvci1ibHVlLTEwMDA6ICMwNTU4Yzc7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTEwMDogIzA2NGFiMTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMjAwOiAjMDQzODk0O1xuICAtLWNwZC1jb2xvci1ibHVlLTEzMDA6ICMwMTI0Nzg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTQwMDogIzAwMGU2NTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDogI2ZiZmJmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTIwMDogI2Y4ZjdmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTMwMDogI2YxZWZmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTQwMDogI2U2ZTJmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTUwMDogI2Q0Y2RmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTYwMDogI2M1YmJmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTcwMDogI2IxYTBmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTgwMDogIzkyNzFmZDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTkwMDogIzdhNDdmMTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEwMDA6ICM2YjM3ZGU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMTAwOiAjNWQyNmNkO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTIwMDogIzRjMDViNTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEzMDA6ICMzMzAwOGQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xNDAwOiAjMjAwMDY2O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDogI2ZlZmFmZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0yMDA6ICNmY2Y1ZmQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMzAwOiAjZmFlZWZiO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTQwMDogI2Y2ZGZmNztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS01MDA6ICNlZGM2ZjA7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNjAwOiAjZTdiMmVhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTcwMDogI2RiOTNlMTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS04MDA6ICNjODVlZDE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtOTAwOiAjYWQzM2JkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEwMDA6ICM5NzJhYWE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTEwMDogIzgyMjE5ODtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMjAwOiAjNjcxNDgxO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEzMDA6ICM0ZTAwNjg7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTQwMDogIzM0MDA0YztcbiAgLS1jcGQtY29sb3ItcGluay0xMDA6ICNmZmZhZmI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMjAwOiAjZmZmNWY3O1xuICAtLWNwZC1jb2xvci1waW5rLTMwMDogI2ZmZWNmMDtcbiAgLS1jcGQtY29sb3ItcGluay00MDA6ICNmZmRlZTU7XG4gIC0tY3BkLWNvbG9yLXBpbmstNTAwOiAjZmZjMmNmO1xuICAtLWNwZC1jb2xvci1waW5rLTYwMDogI2ZmYWRjMDtcbiAgLS1jcGQtY29sb3ItcGluay03MDA6ICNmZjg4YTY7XG4gIC0tY3BkLWNvbG9yLXBpbmstODAwOiAjZjc0MDdkO1xuICAtLWNwZC1jb2xvci1waW5rLTkwMDogI2QyMGM2NTtcbiAgLS1jcGQtY29sb3ItcGluay0xMDAwOiAjYjgwYTViO1xuICAtLWNwZC1jb2xvci1waW5rLTExMDA6ICM5ZjA4NTA7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTIwMDogIzdlMDY0MjtcbiAgLS1jcGQtY29sb3ItcGluay0xMzAwOiAjNWYwMDJiO1xuICAtLWNwZC1jb2xvci1waW5rLTE0MDA6ICM0MzAwMTc7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTAwOiBoc2xhKDIxMCwgNDglLCA0MSUsIDAuMDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTIwMDogaHNsYSgyMDAsIDQxJSwgMzYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0zMDA6IGhzbGEoMjE2LCA4OSUsIDE4JSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwOiBoc2xhKDIxMywgOTAlLCAyMCUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMTIsIDg3JSwgMTUlLCAwLjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTYwMDogaHNsYSgyMTIsIDk3JSwgMTIlLCAwLjI2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDA6IGhzbGEoMjE1LCA5NiUsIDEwJSwgMC4zNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwOiBoc2xhKDIxMywgODclLCA5JSwgMC41KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjEzLCA4MyUsIDclLCAwLjYxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDAwOiBoc2xhKDIxOCwgNzklLCA2JSwgMC42Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTEwMDogaHNsYSgyMTUsIDc0JSwgNSUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEyMDA6IGhzbGEoMjEzLCA3MyUsIDMlLCAwLjc3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMzAwOiBoc2xhKDIyNSwgNTclLCAzJSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMjMsIDY0JSwgMiUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDA6IGhzbGEoMTAsIDEwMCUsIDYxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0yMDA6IGhzbGEoNywgMTAwJSwgNTYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTMwMDogaHNsYSg5LCAxMDAlLCA1NCUsIDAuMDgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNDAwOiBoc2xhKDgsIDEwMCUsIDUyJSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC01MDA6IGhzbGEoOCwgMTAwJSwgNTElLCAwLjI3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTYwMDogaHNsYSg3LCAxMDAlLCA1MSUsIDAuMzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNzAwOiBoc2xhKDUsIDEwMCUsIDUxJSwgMC41KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTgwMDogaHNsYSgwLCAxMDAlLCA1MSUsIDAuNzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtOTAwOiBoc2xhKDM1NSwgOTglLCA0MSUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwMDogaHNsYSgzNTMsIDk4JSwgMzclLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTExMDA6IGhzbGEoMzUwLCA5OSUsIDMyJSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woMzU3LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTMwMDogaHNsKDAsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xNDAwOiBoc2woMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDogaHNsYSgyMiwgMTAwJSwgNjElLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTIwMDogaHNsYSgyNiwgMTAwJSwgNTUlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTMwMDogaHNsYSgyNCwgMTAwJSwgNTIlLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTQwMDogaHNsYSgyNSwgMTAwJSwgNTElLCAwLjIyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTUwMDogaHNsYSgyNSwgMTAwJSwgNTAlLCAwLjM3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsYSgyNiwgOTglLCA1MCUsIDAuNTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNzAwOiBoc2xhKDI3LCAxMDAlLCA0OCUsIDAuNzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtODAwOiBoc2woMjgsIDEwMCUsIDQzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbCgyMiwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEwMDA6IGhzbCgxOCwgMTAwJSwgMzQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTExMDA6IGhzbCgxMywgMTAwJSwgMzAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbCgwLCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTMwMDogaHNsKDAsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xNDAwOiBoc2woMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsYSg0OCwgMTAwJSwgNTElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTIwMDogaHNsYSg0NiwgMTAwJSwgNTMlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTMwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjI1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjQ5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsKDQ5LCAxMDAlLCA0OSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNjAwOiBoc2woNDcsIDEwMCUsIDQ3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbCg0NCwgMTAwJSwgNDQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTgwMDogaHNsKDM5LCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctOTAwOiBoc2woMzQsIDEwMCUsIDMxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDAwOiBoc2woMzIsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMTAwOiBoc2woMzAsIDEwMCUsIDI1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMjAwOiBoc2woMjYsIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMzAwOiBoc2woMTksIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNiwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDA6IGhzbGEoMTAzLCA3NSUsIDQ2JSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2xhKDEwNywgODklLCA0NCUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsYSgxMDcsIDk4JSwgNDElLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS00MDA6IGhzbGEoMTA1LCA5MiUsIDQyJSwgMC4yOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNTAwOiBoc2xhKDEwNCwgOTglLCA0MCUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTYwMDogaHNsYSgxMDIsIDk3JSwgNDElLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbGEoMTAyLCAxMDAlLCAzNyUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTgwMDogaHNsYSgxMDcsIDk5JSwgMjklLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS05MDA6IGhzbGEoMTEzLCA5NyUsIDI0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwMDogaHNsKDEyMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMTAwOiBoc2woMTIwLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEyMDA6IGhzbCgxMjAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTMwMDogaHNsKDEyMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xNDAwOiBoc2woMTIwLCAxMDAlLCA3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsYSgxNTYsIDc5JSwgNDElLCAwLjAzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMjAwOiBoc2xhKDE1MCwgNzklLCA0MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0zMDA6IGhzbGEoMTUwLCAxMDAlLCAzNiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi00MDA6IGhzbGEoMTUxLCA5MyUsIDM3JSwgMC4yMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsYSgxNTQsIDk2JSwgMzclLCAwLjQxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2xhKDE1NiwgOTklLCAzNiUsIDAuNTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbGEoMTYzLCA5OSUsIDM4JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsKDE2NiwgMTAwJSwgMzAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2woMTY4LCAxMDAlLCAyNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2woMTY2LCAxMDAlLCAyMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2woMTY1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2woMTYyLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2woMTU3LCAxMDAlLCAxMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xNDAwOiBoc2woMTQ5LCAxMDAlLCA3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwOiBoc2xhKDE4MCwgNzklLCA0MSUsIDAuMDMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTIwMDogaHNsYSgxODYsIDc5JSwgNDElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0zMDA6IGhzbGEoMTg4LCAxMDAlLCAzOCUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsYSgxODYsIDEwMCUsIDM3JSwgMC4yMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNTAwOiBoc2xhKDE4NiwgOTUlLCAzOCUsIDAuNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2xhKDE4NywgOTklLCAzOCUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsYSgxODYsIDk5JSwgNDAlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbCgxOTQsIDEwMCUsIDM4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tOTAwOiBoc2woMjAwLCAxMDAlLCAzNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDA6IGhzbCgyMDIsIDEwMCUsIDMxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTEwMDogaHNsKDIwNCwgMTAwJSwgMjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMjAwOiBoc2woMjA4LCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbCgyMTMsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsKDIyMSwgMTAwJSwgMTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbGEoMjEwLCAxMDAlLCA2MSUsIDAuMDMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTIwMDogaHNsYSgyMTgsIDEwMCUsIDU3JSwgMC4wNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwOiBoc2xhKDIxNSwgMTAwJSwgNTIlLCAwLjA5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS00MDA6IGhzbGEoMjE2LCA5NSUsIDUxJSwgMC4xNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNTAwOiBoc2xhKDIxNSwgOTMlLCA1MCUsIDAuMjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTYwMDogaHNsYSgyMTYsIDk1JSwgNDglLCAwLjM3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS03MDA6IGhzbGEoMjE1LCA5OCUsIDQ3JSwgMC41MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtODAwOiBoc2xhKDIxNSwgMTAwJSwgNDYlLCAwLjc1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS05MDA6IGhzbGEoMjEzLCA5OSUsIDQ0JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwMDogaHNsYSgyMTQsIDk4JSwgMzklLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMTAwOiBoc2xhKDIxNiwgOTklLCAzNSUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEyMDA6IGhzbGEoMjE4LCA5OSUsIDI5JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTMwMDogaHNsKDIyMiwgOTglLCAyNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTE0MDA6IGhzbCgyMzIsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDA6IGhzbGEoMjQwLCAxMDAlLCA2MSUsIDAuMDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMjAwOiBoc2xhKDI0OCwgMTAwJSwgNjElLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTMwMDogaHNsYSgyNDgsIDEwMCUsIDU1JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS00MDA6IGhzbGEoMjQ4LCAxMDAlLCA1MyUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNTAwOiBoc2xhKDI0OCwgMTAwJSwgNTElLCAwLjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNjAwOiBoc2xhKDI0OSwgMTAwJSwgNTElLCAwLjI3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTcwMDogaHNsYSgyNTEsIDEwMCUsIDUxJSwgMC4zOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS04MDA6IGhzbGEoMjU0LCA5OSUsIDQ5JSwgMC41Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS05MDA6IGhzbGEoMjU4LCA5OCUsIDQ3JSwgMC43Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2xhKDI1OSwgOTglLCA0MiUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTEwMDogaHNsYSgyNjAsIDk3JSwgMzklLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEyMDA6IGhzbGEoMjY0LCA5OCUsIDM2JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMzAwOiBoc2woMjYyLCAxMDAlLCAyOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTQwMDogaHNsKDI1OSwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDA6IGhzbGEoMzAwLCA5NSUsIDQxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMjAwOiBoc2xhKDI5MywgOTUlLCA0MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTMwMDogaHNsYSgyOTUsIDg5JSwgNDElLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS00MDA6IGhzbGEoMjk4LCA5MSUsIDQwJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNTAwOiBoc2xhKDI5NiwgOTMlLCAzOSUsIDAuMjMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTYwMDogaHNsYSgyOTcsIDkzJSwgMzglLCAwLjMxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS03MDA6IGhzbGEoMjk1LCA5NiUsIDM3JSwgMC40Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NSwgOTclLCAzNyUsIDAuNjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyOTMsIDEwMCUsIDM0JSwgMC44KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDAwOiBoc2xhKDI5MSwgOTklLCAzMCUsIDAuODQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTExMDA6IGhzbGEoMjg5LCA5NiUsIDI4JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTIwMDogaHNsYSgyODYsIDk3JSwgMjQlLCAwLjkzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMzAwOiBoc2woMjg1LCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTE0MDA6IGhzbCgyODEsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwOiBoc2xhKDM0OCwgMTAwJSwgNTElLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0yMDA6IGhzbGEoMzQ4LCAxMDAlLCA1MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTMwMDogaHNsYSgzNDcsIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNDAwOiBoc2xhKDM0NywgMTAwJSwgNTAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay01MDA6IGhzbGEoMzQ3LCAxMDAlLCA1MCUsIDAuMjQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTYwMDogaHNsYSgzNDYsIDEwMCUsIDUxJSwgMC4zMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNzAwOiBoc2xhKDM0NSwgMTAwJSwgNTAlLCAwLjQ3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay04MDA6IGhzbGEoMzQwLCAxMDAlLCA0OCUsIDAuNzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTkwMDogaHNsYSgzMzMsIDk4JSwgNDElLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2xhKDMzMiwgOTglLCAzNiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTExMDA6IGhzbGEoMzMxLCAxMDAlLCAzMSUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEyMDA6IGhzbGEoMzMwLCA5OCUsIDI0JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTMwMDogaHNsKDMzMywgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xNDAwOiBoc2woMzM5LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci10cmFuc3BhcmVudDogcmdiYSgwLDAsMCwwKTtcbn1cbiIsIjpyb290IHtcbiAgLS1jcGQtY29sb3ItdGhlbWUtYmc6ICNmZmZmZmY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwOiAjZmJmY2ZkO1xuICAtLWNwZC1jb2xvci1ncmF5LTIwMDogI2Y3ZjlmYTtcbiAgLS1jcGQtY29sb3ItZ3JheS0zMDA6ICNmMGYyZjU7XG4gIC0tY3BkLWNvbG9yLWdyYXktNDAwOiAjZTFlNmVjO1xuICAtLWNwZC1jb2xvci1ncmF5LTUwMDogI2NkZDNkYTtcbiAgLS1jcGQtY29sb3ItZ3JheS02MDA6ICNiZGM0Y2M7XG4gIC0tY3BkLWNvbG9yLWdyYXktNzAwOiAjYTZhZGI3O1xuICAtLWNwZC1jb2xvci1ncmF5LTgwMDogIzgxOGE5NTtcbiAgLS1jcGQtY29sb3ItZ3JheS05MDA6ICM2NTZkNzc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwMDogIzU5NWU2NztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMTAwOiAjNGM1MTU4O1xuICAtLWNwZC1jb2xvci1ncmF5LTEyMDA6ICMzYzQwNDU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTMwMDogIzJiMmQzMjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xNDAwOiAjMWIxZDIyO1xuICAtLWNwZC1jb2xvci1yZWQtMTAwOiAjZmZmYWY5O1xuICAtLWNwZC1jb2xvci1yZWQtMjAwOiAjZmZmN2Y2O1xuICAtLWNwZC1jb2xvci1yZWQtMzAwOiAjZmZlZmVjO1xuICAtLWNwZC1jb2xvci1yZWQtNDAwOiAjZmZkZmRhO1xuICAtLWNwZC1jb2xvci1yZWQtNTAwOiAjZmZjNWJjO1xuICAtLWNwZC1jb2xvci1yZWQtNjAwOiAjZmZhZmE1O1xuICAtLWNwZC1jb2xvci1yZWQtNzAwOiAjZmY4YzgxO1xuICAtLWNwZC1jb2xvci1yZWQtODAwOiAjZmYzZDNkO1xuICAtLWNwZC1jb2xvci1yZWQtOTAwOiAjZDUxOTI4O1xuICAtLWNwZC1jb2xvci1yZWQtMTAwMDogI2JjMGYyMjtcbiAgLS1jcGQtY29sb3ItcmVkLTExMDA6ICNhNDA0MWQ7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMjAwOiAjODUwMDA2O1xuICAtLWNwZC1jb2xvci1yZWQtMTMwMDogIzYyMDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTE0MDA6ICM0NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDA6ICNmZmZhZjc7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0yMDA6ICNmZmY2ZWY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0zMDA6ICNmZmVmZTQ7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS00MDA6ICNmZmRmYzg7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS01MDA6ICNmZmM4YTE7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS02MDA6ICNmZGIzN2M7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS03MDA6ICNmODk0NDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS04MDA6ICNkYzY3MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS05MDA6ICNiYzQ1MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDAwOiAjYWMzMzAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMDogIzliMjIwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEyMDA6ICM4NTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMzAwOiAjNjIwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTQwMDogIzQ1MDAwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDogI2ZmZmNmMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTIwMDogI2ZmZjhlMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTMwMDogI2ZmZjJjMTtcbiAgLS1jcGQtY29sb3IteWVsbG93LTQwMDogI2ZmZTQ4NDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTUwMDogI2ZiY2UwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTYwMDogI2YxYmQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTcwMDogI2RlYTIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTgwMDogI2JlN2EwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTkwMDogIzlmNWIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDA6ICM4ZjRkMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMTAwOiAjODAzZjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTIwMDogIzY5MmUwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEzMDA6ICM1NDFhMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xNDAwOiAjNDEwNjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDogI2Y4ZmRmNjtcbiAgLS1jcGQtY29sb3ItbGltZS0yMDA6ICNmMWZjZWU7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMzAwOiAjZTBmOGQ5O1xuICAtLWNwZC1jb2xvci1saW1lLTQwMDogI2M4ZjFiYTtcbiAgLS1jcGQtY29sb3ItbGltZS01MDA6ICM5OWU1N2U7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNjAwOiAjNzZkYjRjO1xuICAtLWNwZC1jb2xvci1saW1lLTcwMDogIzU0YzQyNDtcbiAgLS1jcGQtY29sb3ItbGltZS04MDA6ICMzNTlkMTg7XG4gIC0tY3BkLWNvbG9yLWxpbWUtOTAwOiAjMTk3ZDBjO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDA6ICMwMDZlMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTEwMDogIzAwNWYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMjAwOiAjMDA0YjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEzMDA6ICMwMDM2MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTQwMDogIzAwMjQwMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwOiAjZjhmZGZiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0yMDA6ICNmMWZiZjY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTMwMDogI2UzZjdlZDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNDAwOiAjYzZlZWRiO1xuICAtLWNwZC1jb2xvci1ncmVlbi01MDA6ICM5OGUxYzE7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTYwMDogIzcxZDdhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNzAwOiAjMGJjNDkxO1xuICAtLWNwZC1jb2xvci1ncmVlbi04MDA6ICMwMDliNzg7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTkwMDogIzAwN2E2MTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwMDogIzAwNmI1MjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTEwMDogIzAwNWM0NTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTIwMDogIzAwNDkzMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTMwMDogIzAwMzQyMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTQwMDogIzAwMjMxMTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDA6ICNmOGZkZmQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMjAwOiAjZjFmYWZiO1xuICAtLWNwZC1jb2xvci1jeWFuLTMwMDogI2UzZjVmODtcbiAgLS1jcGQtY29sb3ItY3lhbi00MDA6ICNjN2VjZjA7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNTAwOiAjOWJkZGU1O1xuICAtLWNwZC1jb2xvci1jeWFuLTYwMDogIzc2ZDFkZDtcbiAgLS1jcGQtY29sb3ItY3lhbi03MDA6ICMxNWJlY2Y7XG4gIC0tY3BkLWNvbG9yLWN5YW4tODAwOiAjMDA5NGMwO1xuICAtLWNwZC1jb2xvci1jeWFuLTkwMDogIzAwNzJhYztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDAwOiAjMDA2MjljO1xuICAtLWNwZC1jb2xvci1jeWFuLTExMDA6ICMwMDU0OGM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTIwMDogIzAwNDA3NztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMzAwOiAjMDAyYjYxO1xuICAtLWNwZC1jb2xvci1jeWFuLTE0MDA6ICMwMDE5NGY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwOiAjZjlmY2ZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTIwMDogI2Y0ZjhmZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0zMDA6ICNlOWYyZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNDAwOiAjZDhlN2ZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTUwMDogI2JhZDVmYztcbiAgLS1jcGQtY29sb3ItYmx1ZS02MDA6ICNhM2M2ZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNzAwOiAjN2VhZmY2O1xuICAtLWNwZC1jb2xvci1ibHVlLTgwMDogIzQwODhlZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS05MDA6ICMwNDY3ZGQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwMDogIzA1NThjNztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMTAwOiAjMDY0YWIxO1xuICAtLWNwZC1jb2xvci1ibHVlLTEyMDA6ICMwNDM4OTQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTMwMDogIzAxMjQ3ODtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xNDAwOiAjMDAwZTY1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwOiAjZmJmYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMjAwOiAjZjhmN2ZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMzAwOiAjZjFlZmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNDAwOiAjZTZlMmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNTAwOiAjZDRjZGZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNjAwOiAjYzViYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNzAwOiAjYjFhMGZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtODAwOiAjOTI3MWZkO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtOTAwOiAjN2E0N2YxO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwMDogIzZiMzdkZTtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTExMDA6ICM1ZDI2Y2Q7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMjAwOiAjNGMwNWI1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTMwMDogIzMzMDA4ZDtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTE0MDA6ICMyMDAwNjY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwOiAjZmVmYWZlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTIwMDogI2ZjZjVmZDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0zMDA6ICNmYWVlZmI7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNDAwOiAjZjZkZmY3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTUwMDogI2VkYzZmMDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS02MDA6ICNlN2IyZWE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNzAwOiAjZGI5M2UxO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTgwMDogI2M4NWVkMTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS05MDA6ICNhZDMzYmQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwMDogIzk3MmFhYTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwOiAjODIyMTk4O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEyMDA6ICM2NzE0ODE7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTMwMDogIzRlMDA2ODtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xNDAwOiAjMzQwMDRjO1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDogI2ZmZmFmYjtcbiAgLS1jcGQtY29sb3ItcGluay0yMDA6ICNmZmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMzAwOiAjZmZlY2YwO1xuICAtLWNwZC1jb2xvci1waW5rLTQwMDogI2ZmZGVlNTtcbiAgLS1jcGQtY29sb3ItcGluay01MDA6ICNmZmMyY2Y7XG4gIC0tY3BkLWNvbG9yLXBpbmstNjAwOiAjZmZhZGMwO1xuICAtLWNwZC1jb2xvci1waW5rLTcwMDogI2ZmODhhNjtcbiAgLS1jcGQtY29sb3ItcGluay04MDA6ICNmNzQwN2Q7XG4gIC0tY3BkLWNvbG9yLXBpbmstOTAwOiAjZDIwYzY1O1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDA6ICNiODBhNWI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTEwMDogIzlmMDg1MDtcbiAgLS1jcGQtY29sb3ItcGluay0xMjAwOiAjN2UwNjQyO1xuICAtLWNwZC1jb2xvci1waW5rLTEzMDA6ICM1ZjAwMmI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTQwMDogIzQzMDAxNztcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDA6IGhzbGEoMjEwLCA0OCUsIDQxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMjAwOiBoc2xhKDIwMCwgNDElLCAzNiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMDogaHNsYSgyMTYsIDg5JSwgMTglLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDA6IGhzbGEoMjEzLCA5MCUsIDIwJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNTAwOiBoc2xhKDIxMiwgODclLCAxNSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxMiwgOTclLCAxMiUsIDAuMjYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTUsIDk2JSwgMTAlLCAwLjM1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjEzLCA4NyUsIDklLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMTMsIDgzJSwgNyUsIDAuNjEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjE4LCA3OSUsIDYlLCAwLjY2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxNSwgNzQlLCA1JSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTMsIDczJSwgMyUsIDAuNzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjI1LCA1NyUsIDMlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xNDAwOiBoc2xhKDIyMywgNjQlLCAyJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsYSgxMCwgMTAwJSwgNjElLCAwLjAzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsYSg3LCAxMDAlLCA1NiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2xhKDksIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbGEoOCwgMTAwJSwgNTIlLCAwLjE1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsYSg4LCAxMDAlLCA1MSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDcsIDEwMCUsIDUxJSwgMC4zNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC03MDA6IGhzbGEoNSwgMTAwJSwgNTElLCAwLjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDAsIDEwMCUsIDUxJSwgMC43Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbGEoMzU1LCA5OCUsIDQxJSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2xhKDM1MywgOTglLCAzNyUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsYSgzNTAsIDk5JSwgMzIlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEyMDA6IGhzbCgzNTcsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2xhKDIyLCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2xhKDI2LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2xhKDI0LCAxMDAlLCA1MiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2xhKDI1LCAxMDAlLCA1MSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNTAwOiBoc2xhKDI1LCAxMDAlLCA1MCUsIDAuMzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNjAwOiBoc2xhKDI2LCA5OCUsIDUwJSwgMC41Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMjcsIDEwMCUsIDQ4JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS04MDA6IGhzbCgyOCwgMTAwJSwgNDMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTkwMDogaHNsKDIyLCAxMDAlLCAzNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsKDE4LCAxMDAlLCAzNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTEwMDogaHNsKDEzLCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTIwMDogaHNsKDAsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMCwgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTAwOiBoc2xhKDQ4LCAxMDAlLCA1MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2xhKDQ2LCAxMDAlLCA1MyUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuMjUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNDAwOiBoc2xhKDQ3LCAxMDAlLCA1MSUsIDAuNDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNTAwOiBoc2woNDksIDEwMCUsIDQ5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy02MDA6IGhzbCg0NywgMTAwJSwgNDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDQ0LCAxMDAlLCA0NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzksIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCgzNCwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbCgzMiwgMTAwJSwgMjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbCgzMCwgMTAwJSwgMjUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCgyNiwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCgxOSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTE0MDA6IGhzbCg2LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsYSgxMDMsIDc1JSwgNDYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0yMDA6IGhzbGEoMTA3LCA4OSUsIDQ0JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMzAwOiBoc2xhKDEwNywgOTglLCA0MSUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsYSgxMDUsIDkyJSwgNDIlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbGEoMTA0LCA5OCUsIDQwJSwgMC41MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2xhKDEwMiwgOTclLCA0MSUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMDIsIDEwMCUsIDM3JSwgMC44Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDEwNywgOTklLCAyOSUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMTMsIDk3JSwgMjQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2woMTIwLCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbCgxMjAsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsKDEyMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMzAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbCgxMjAsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwOiBoc2xhKDE1NiwgNzklLCA0MSUsIDAuMDMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbGEoMTUwLCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTMwMDogaHNsYSgxNTAsIDEwMCUsIDM2JSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsYSgxNTEsIDkzJSwgMzclLCAwLjIzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2xhKDE1NCwgOTYlLCAzNyUsIDAuNDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbGEoMTU2LCA5OSUsIDM2JSwgMC41Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsYSgxNjMsIDk5JSwgMzglLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2woMTY2LCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbCgxNjgsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbCgxNjYsIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTExMDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEyMDA6IGhzbCgxNjIsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbCgxNTcsIDEwMCUsIDEwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbCgxNDksIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbGEoMTgwLCA3OSUsIDQxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2xhKDE4NiwgNzklLCA0MSUsIDAuMDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsYSgxODgsIDEwMCUsIDM4JSwgMC4xMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2xhKDE4NiwgMTAwJSwgMzclLCAwLjIyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbGEoMTg2LCA5NSUsIDM4JSwgMC40KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbGEoMTg3LCA5OSUsIDM4JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2xhKDE4NiwgOTklLCA0MCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5NCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbCgyMDAsIDEwMCUsIDM0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsKDIwMiwgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2woMjA0LCAxMDAlLCAyOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbCgyMDgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsKDIxMywgMTAwJSwgMTklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2woMjIxLCAxMDAlLCAxNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsYSgyMTAsIDEwMCUsIDYxJSwgMC4wMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMjAwOiBoc2xhKDIxOCwgMTAwJSwgNTclLCAwLjA1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbGEoMjE1LCAxMDAlLCA1MiUsIDAuMDkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMTYsIDk1JSwgNTElLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE1LCA5MyUsIDUwJSwgMC4yOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNiwgOTUlLCA0OCUsIDAuMzcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDk4JSwgNDclLCAwLjUxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjE1LCAxMDAlLCA0NiUsIDAuNzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTMsIDk5JSwgNDQlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxNCwgOTglLCAzOSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjE2LCA5OSUsIDM1JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMTgsIDk5JSwgMjklLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2woMjIyLCA5OCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTQwMDogaHNsKDIzMiwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDogaHNsYSgyNDAsIDEwMCUsIDYxJSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0yMDA6IGhzbGEoMjQ4LCAxMDAlLCA2MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMzAwOiBoc2xhKDI0OCwgMTAwJSwgNTUlLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTQwMDogaHNsYSgyNDgsIDEwMCUsIDUzJSwgMC4xMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS01MDA6IGhzbGEoMjQ4LCAxMDAlLCA1MSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjQ5LCAxMDAlLCA1MSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1MSwgMTAwJSwgNTElLCAwLjM4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTQsIDk5JSwgNDklLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTkwMDogaHNsYSgyNTgsIDk4JSwgNDclLCAwLjczKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDA6IGhzbGEoMjU5LCA5OCUsIDQyJSwgMC43OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMTAwOiBoc2xhKDI2MCwgOTclLCAzOSUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTIwMDogaHNsYSgyNjQsIDk4JSwgMzYlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEzMDA6IGhzbCgyNjIsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xNDAwOiBoc2woMjU5LCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDogaHNsYSgzMDAsIDk1JSwgNDElLCAwLjAyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0yMDA6IGhzbGEoMjkzLCA5NSUsIDQxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMzAwOiBoc2xhKDI5NSwgODklLCA0MSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTQwMDogaHNsYSgyOTgsIDkxJSwgNDAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS01MDA6IGhzbGEoMjk2LCA5MyUsIDM5JSwgMC4yMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI5NywgOTMlLCAzOCUsIDAuMzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTcwMDogaHNsYSgyOTUsIDk2JSwgMzclLCAwLjQzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk1LCA5NyUsIDM3JSwgMC42NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI5MywgMTAwJSwgMzQlLCAwLjgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjkxLCA5OSUsIDMwJSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyODksIDk2JSwgMjglLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI4NiwgOTclLCAyNCUsIDAuOTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbCgyODUsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsKDI4MSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbGEoMzQ4LCAxMDAlLCA1MSUsIDAuMDIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsYSgzNDgsIDEwMCUsIDUxJSwgMC4wNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2xhKDM0NywgMTAwJSwgNTQlLCAwLjA4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbGEoMzQ3LCAxMDAlLCA1MCUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzNDcsIDEwMCUsIDUwJSwgMC4yNCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDM0NiwgMTAwJSwgNTElLCAwLjMzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzQ1LCAxMDAlLCA1MCUsIDAuNDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTgwMDogaHNsYSgzNDAsIDEwMCUsIDQ4JSwgMC43NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2xhKDMzMywgOTglLCA0MSUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDA6IGhzbGEoMzMyLCA5OCUsIDM2JSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsYSgzMzEsIDEwMCUsIDMxJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsYSgzMzAsIDk4JSwgMjQlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzMzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzMzksIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLXRyYW5zcGFyZW50OiByZ2JhKDAsMCwwLDApO1xufVxuIiwiLmNwZC10aGVtZS1saWdodC5jcGQtdGhlbWUtbGlnaHQge1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdC1sZXZlbC0xOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5LWxldmVsLTA6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMTogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMjogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTcwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMzogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTExMDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tbGluZWFyOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxKSAwJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMikgMzMlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzKSA2NiUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDQpIDEwMCUpO1xufVxuIiwiOnJvb3Qge1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdC1sZXZlbC0xOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5LWxldmVsLTA6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMTogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMjogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTcwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMzogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTExMDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tbGluZWFyOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxKSAwJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMikgMzMlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzKSA2NiUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDQpIDEwMCUpO1xufVxuIiwiLmNwZC10aGVtZS1saWdodC1oYy5jcGQtdGhlbWUtbGlnaHQtaGMge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogI2ZmZmZmZjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICNmN2Y5ZmE7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjZjBmMmY1O1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogI2UxZTZlYztcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICNkN2RjZTM7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjYmRjNGNjO1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogI2E2YWRiNztcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM4NzhmOWI7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNmM3MzdlO1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzQ3NGE1MTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjM2Y0MjQ4O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICMzNTM4M2Q7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogIzJkMzAzNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjMWYyMTI2O1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICMxYTFjMjE7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICNmZmY3ZjY7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICNmZmVmZWM7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICNmZmRmZGE7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICNmZmQxY2E7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICNmZmFmYTU7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICNmZjhjODE7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICNmZjRlNDk7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNlMTFlMmE7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICM5OTAwMWE7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjOGIwMDBjO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogIzc3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICM2NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjNGMwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogIzQyMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogI2ZmZjZlZjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogI2ZmZWZlNDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogI2ZmZGZjODtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogI2ZmZDRiNTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogI2ZkYjM3YztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogI2Y4OTQ0MDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogI2UyNmUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2M0NGQwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogIzkzMTcwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICM4OTA4MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjNzcwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogIzY3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICM0YzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjNDIwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjZmZmOGUwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjZmZmMmMxO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjZmZlNDg0O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjZmZkYTQ5O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjZjFiZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjZGVhMjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjYzM4MTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjYTc2MzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjNzczODAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogIzZlMzEwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICM2MTI2MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjNTcxZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogIzQ1MGMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICMzZjA1MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjZjFmY2VlO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogI2UwZjhkOTtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICNjOGYxYmE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjYWZlYjliO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzc2ZGI0YztcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICM1NGM0MjQ7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjM2FhMzFhO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzFmODUwZjtcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMwMDU3MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzAwNGYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjMDA0MjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICMwMDM5MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogIzAwMjkwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjMDAyMjAwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICNmMWZiZjY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogI2UzZjdlZDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjYzZlZWRiO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICNhZmU4Y2U7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzcxZDdhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMGJjNDkxO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMGEyN2M7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwODI2ODtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMDA1NTNkO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMDA0ZDM2O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMDA0MDJiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjMDAzNzIzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjMDAyNzE1O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjMDAyMTBmO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogI2YxZmFmYjtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICNlM2Y1Zjg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjYzdlY2YwO1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogI2IxZTRlYjtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICM3NmQxZGQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMTViZWNmO1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwOWFjMztcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMDdhYjM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA0Yzg0O1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMDQ0N2I7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzAwMzc2ZTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjMDAyZTY0O1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICMwMDFlNTM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogIzAwMTc0ZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICNmNGY4ZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjZTlmMmZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogI2Q4ZTdmZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICNjOGRkZmQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjYTNjNmZhO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzdlYWZmNjtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICM0YThlZjA7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMDQ2ZWU4O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzA1NDNhNztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjMDUzYjlhO1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICMwNDMwODg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogIzAzMjc3YjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjMDAxNTY5O1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICMwMDBjNjM7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICNmOGY3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICNmMWVmZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICNlNmUyZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICNkZGQ4ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICNjNWJiZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICNiMWEwZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM5Nzc4ZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM4MjRlZjk7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM1NzFjYzQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjNGYwZGJhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogIzQyMDBhNjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICMzNjAwOTQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjMjQwMDcwO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogIzFmMDA2MjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICNmY2Y1ZmQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjZmFlZWZiO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogI2Y2ZGZmNztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICNmMWQyZjM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjZTdiMmVhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogI2RiOTNlMTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICNjYjY4ZDQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYjkzN2M2O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogIzc4MWM5MDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjNmMxNzg1O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICM1YzBmNzY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogIzUyMDI2YztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjM2IwMDUzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICMzMjAwNGE7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjZmZmNWY3O1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogI2ZmZWNmMDtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICNmZmRlZTU7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjZmZkMGRhO1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogI2ZmYWRjMDtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICNmZjg4YTY7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjZjk0ZTg0O1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2UwMGM2YTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICM5MjA4NGI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogIzg0MDc0NTtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjNzIwMDNhO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICM2NDAwMmY7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogIzRhMDAxYztcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjNDEwMDE1O1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMDAsIDQxJSwgMzYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjE2LCA4OSUsIDE4JSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDIxMywgOTAlLCAyMCUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyMTUsIDg4JSwgMTclLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS01MDA6IGhzbGEoMjEyLCA5NyUsIDEyJSwgMC4yNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxNSwgOTYlLCAxMCUsIDAuMzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTYsIDgxJSwgMTAlLCAwLjQ4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjE3LCA4OSUsIDclLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjIzLCA3MCUsIDQlLCAwLjczKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDAwOiBoc2xhKDIyMCwgNzUlLCAzJSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTEwMDogaHNsYSgyMjIsIDYzJSwgMyUsIDAuOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTAsIDY3JSwgMiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjE4LCAxMDAlLCAyJSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMjMsIDc4JSwgMiUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDA6IGhzbGEoNywgMTAwJSwgNTYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsYSg5LCAxMDAlLCA1NCUsIDAuMDgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2xhKDgsIDEwMCUsIDUyJSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbGEoOCwgMTAwJSwgNTElLCAwLjIxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsYSg3LCAxMDAlLCA1MSUsIDAuMzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDUsIDEwMCUsIDUxJSwgMC41KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSgyLCAxMDAlLCA1MCUsIDAuNzIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDM1NiwgOTglLCA0NCUsIDAuODkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtOTAwOiBoc2woMzUwLCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwMDogaHNsKDM1NSwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTExMDA6IGhzbCgwLCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTIwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2xhKDI2LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2xhKDI0LCAxMDAlLCA1MiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2xhKDI1LCAxMDAlLCA1MSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2xhKDI1LCAxMDAlLCA1MiUsIDAuMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS01MDA6IGhzbGEoMjYsIDk4JSwgNTAlLCAwLjUyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsYSgyNywgMTAwJSwgNDglLCAwLjc1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTcwMDogaHNsKDI5LCAxMDAlLCA0NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtODAwOiBoc2woMjQsIDEwMCUsIDM4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbCg5LCAxMDAlLCAyOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsKDQsIDEwMCUsIDI3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMTAwOiBoc2woMCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbCgwLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTMwMDogaHNsKDAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xNDAwOiBoc2woMCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsYSg0NiwgMTAwJSwgNTMlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTIwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjI1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTMwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjQ5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsYSg0OCwgMTAwJSwgNTAlLCAwLjcyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsKDQ3LCAxMDAlLCA0NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNjAwOiBoc2woNDQsIDEwMCUsIDQ0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbCg0MCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTgwMDogaHNsKDM2LCAxMDAlLCAzMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctOTAwOiBoc2woMjgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDAwOiBoc2woMjcsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMTAwOiBoc2woMjQsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMjAwOiBoc2woMjAsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMzAwOiBoc2woMTAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNSwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDA6IGhzbGEoMTA3LCA4OSUsIDQ0JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2xhKDEwNywgOTglLCA0MSUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsYSgxMDUsIDkyJSwgNDIlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS00MDA6IGhzbGEoMTA1LCA5NSUsIDQxJSwgMC40KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbGEoMTAyLCA5NyUsIDQxJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2xhKDEwMiwgMTAwJSwgMzclLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbGEoMTA2LCA5OSUsIDMwJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS04MDA6IGhzbGEoMTEyLCA5NyUsIDI1JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtOTAwOiBoc2woMTIwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDA6IGhzbCgxMjAsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTEwMDogaHNsKDEyMCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMjAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEzMDA6IGhzbCgxMjAsIDEwMCUsIDglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xNDAwOiBoc2woMTIwLCAxMDAlLCA3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsYSgxNTAsIDc5JSwgNDElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMjAwOiBoc2xhKDE1MCwgMTAwJSwgMzYlLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2xhKDE1MSwgOTMlLCAzNyUsIDAuMjMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi00MDA6IGhzbGEoMTUzLCA5NSUsIDM3JSwgMC4zMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsYSgxNTYsIDk5JSwgMzYlLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2xhKDE2MywgOTklLCAzOCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjYsIDEwMCUsIDMyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsKDE2OCwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2woMTYzLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2woMTYyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2woMTYwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2woMTU4LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2woMTUyLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbCgxNDcsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbGEoMTg2LCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2xhKDE4OCwgMTAwJSwgMzglLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0zMDA6IGhzbGEoMTg2LCAxMDAlLCAzNyUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsYSgxODcsIDk3JSwgMzglLCAwLjMxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbGEoMTg3LCA5OSUsIDM4JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2xhKDE4NiwgOTklLCA0MCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDE5MywgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbCgxOTksIDEwMCUsIDM1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tOTAwOiBoc2woMjA1LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDA6IGhzbCgyMDcsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTEwMDogaHNsKDIxMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMjAwOiBoc2woMjEyLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbCgyMTgsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsKDIyMiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbGEoMjE4LCAxMDAlLCA1NyUsIDAuMDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTIwMDogaHNsYSgyMTUsIDEwMCUsIDUyJSwgMC4wOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwOiBoc2xhKDIxNiwgOTUlLCA1MSUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMTYsIDk2JSwgNDklLCAwLjIyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE2LCA5NSUsIDQ4JSwgMC4zNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNSwgOTglLCA0NyUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDEwMCUsIDQ2JSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtODAwOiBoc2xhKDIxMiwgOTklLCA0NiUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTcsIDk4JSwgMzMlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxOCwgOTclLCAzMCUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjIwLCA5OSUsIDI3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMjIsIDEwMCUsIDI0JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTMwMDogaHNsKDIyOCwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjMzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2xhKDI0OCwgMTAwJSwgNjElLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTIwMDogaHNsYSgyNDgsIDEwMCUsIDU1JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbGEoMjQ4LCAxMDAlLCA1MyUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2xhKDI0OCwgMTAwJSwgNTIlLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTUwMDogaHNsYSgyNDksIDEwMCUsIDUxJSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjUxLCAxMDAlLCA1MSUsIDAuMzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1NCwgMTAwJSwgNTAlLCAwLjUzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTgsIDk4JSwgNDklLCAwLjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtOTAwOiBoc2xhKDI2MSwgOTclLCAzOCUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2xhKDI2MywgMTAwJSwgMzYlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTExMDA6IGhzbCgyNjQsIDEwMCUsIDMzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjYyLCAxMDAlLCAyOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI1OSwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNTksIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2xhKDI5MywgOTUlLCA0MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsYSgyOTUsIDg5JSwgNDElLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbGEoMjk4LCA5MSUsIDQwJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2xhKDI5NiwgOTUlLCAzOCUsIDAuMTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyOTcsIDkzJSwgMzglLCAwLjMxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS02MDA6IGhzbGEoMjk1LCA5NiUsIDM3JSwgMC40Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNzAwOiBoc2xhKDI5NSwgOTclLCAzNyUsIDAuNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NCwgOTglLCAzNiUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyODcsIDk2JSwgMjclLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjg2LCAxMDAlLCAyNCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTExMDA6IGhzbGEoMjg1LCA5NyUsIDIyJSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTIwMDogaHNsKDI4NSwgOTYlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbCgyODMsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsKDI4MSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbGEoMzQ4LCAxMDAlLCA1MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsYSgzNDcsIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2xhKDM0NywgMTAwJSwgNTAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbGEoMzQ3LCAxMDAlLCA1MiUsIDAuMTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzNDYsIDEwMCUsIDUxJSwgMC4zMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDM0NSwgMTAwJSwgNTAlLCAwLjQ3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzQxLCA5OCUsIDQ5JSwgMC43KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay04MDA6IGhzbGEoMzMzLCA5OCUsIDQ0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2xhKDMzMSwgMTAwJSwgMjglLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2xhKDMzMCwgOTclLCAyNiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTExMDA6IGhzbCgzMjksIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDMzMiwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzM3LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDEsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLXRyYW5zcGFyZW50OiByZ2JhKDAsMCwwLDApO1xufVxuIiwiOnJvb3Qge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogI2ZmZmZmZjtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICNmN2Y5ZmE7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjZjBmMmY1O1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogI2UxZTZlYztcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICNkN2RjZTM7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjYmRjNGNjO1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogI2E2YWRiNztcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM4NzhmOWI7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNmM3MzdlO1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogIzQ3NGE1MTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjM2Y0MjQ4O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICMzNTM4M2Q7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogIzJkMzAzNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjMWYyMTI2O1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICMxYTFjMjE7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICNmZmY3ZjY7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICNmZmVmZWM7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICNmZmRmZGE7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICNmZmQxY2E7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICNmZmFmYTU7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICNmZjhjODE7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICNmZjRlNDk7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNlMTFlMmE7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICM5OTAwMWE7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjOGIwMDBjO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogIzc3MDAwMDtcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICM2NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjNGMwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogIzQyMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogI2ZmZjZlZjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogI2ZmZWZlNDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogI2ZmZGZjODtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogI2ZmZDRiNTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogI2ZkYjM3YztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogI2Y4OTQ0MDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogI2UyNmUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2M0NGQwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogIzkzMTcwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICM4OTA4MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjNzcwMDAwO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogIzY3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICM0YzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjNDIwMDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjZmZmOGUwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjZmZmMmMxO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjZmZlNDg0O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjZmZkYTQ5O1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjZjFiZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjZGVhMjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjYzM4MTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjYTc2MzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjNzczODAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogIzZlMzEwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICM2MTI2MDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjNTcxZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogIzQ1MGMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICMzZjA1MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjZjFmY2VlO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogI2UwZjhkOTtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICNjOGYxYmE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjYWZlYjliO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzc2ZGI0YztcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICM1NGM0MjQ7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjM2FhMzFhO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzFmODUwZjtcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICMwMDU3MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzAwNGYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjMDA0MjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICMwMDM5MDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogIzAwMjkwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjMDAyMjAwO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICNmMWZiZjY7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogI2UzZjdlZDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjYzZlZWRiO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICNhZmU4Y2U7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzcxZDdhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMGJjNDkxO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMGEyN2M7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzAwODI2ODtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMDA1NTNkO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjMDA0ZDM2O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjMDA0MDJiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjMDAzNzIzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjMDAyNzE1O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjMDAyMTBmO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogI2YxZmFmYjtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICNlM2Y1Zjg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjYzdlY2YwO1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogI2IxZTRlYjtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICM3NmQxZGQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMTViZWNmO1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwOWFjMztcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMDdhYjM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjMDA0Yzg0O1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICMwMDQ0N2I7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzAwMzc2ZTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjMDAyZTY0O1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICMwMDFlNTM7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogIzAwMTc0ZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICNmNGY4ZmY7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjZTlmMmZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogI2Q4ZTdmZTtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICNjOGRkZmQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjYTNjNmZhO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzdlYWZmNjtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICM0YThlZjA7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMDQ2ZWU4O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzA1NDNhNztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjMDUzYjlhO1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICMwNDMwODg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogIzAzMjc3YjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjMDAxNTY5O1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICMwMDBjNjM7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICNmOGY3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICNmMWVmZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICNlNmUyZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICNkZGQ4ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICNjNWJiZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICNiMWEwZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM5Nzc4ZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM4MjRlZjk7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICM1NzFjYzQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjNGYwZGJhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogIzQyMDBhNjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICMzNjAwOTQ7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjMjQwMDcwO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogIzFmMDA2MjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICNmY2Y1ZmQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjZmFlZWZiO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogI2Y2ZGZmNztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICNmMWQyZjM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjZTdiMmVhO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogI2RiOTNlMTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICNjYjY4ZDQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYjkzN2M2O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogIzc4MWM5MDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjNmMxNzg1O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICM1YzBmNzY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogIzUyMDI2YztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjM2IwMDUzO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICMzMjAwNGE7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjZmZmNWY3O1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogI2ZmZWNmMDtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICNmZmRlZTU7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjZmZkMGRhO1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogI2ZmYWRjMDtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICNmZjg4YTY7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjZjk0ZTg0O1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2UwMGM2YTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICM5MjA4NGI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogIzg0MDc0NTtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjNzIwMDNhO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICM2NDAwMmY7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogIzRhMDAxYztcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjNDEwMDE1O1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyMDAsIDQxJSwgMzYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjE2LCA4OSUsIDE4JSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDIxMywgOTAlLCAyMCUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTQwMDogaHNsYSgyMTUsIDg4JSwgMTclLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS01MDA6IGhzbGEoMjEyLCA5NyUsIDEyJSwgMC4yNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIxNSwgOTYlLCAxMCUsIDAuMzUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTcwMDogaHNsYSgyMTYsIDgxJSwgMTAlLCAwLjQ4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS04MDA6IGhzbGEoMjE3LCA4OSUsIDclLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS05MDA6IGhzbGEoMjIzLCA3MCUsIDQlLCAwLjczKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDAwOiBoc2xhKDIyMCwgNzUlLCAzJSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTEwMDogaHNsYSgyMjIsIDYzJSwgMyUsIDAuOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTIwMDogaHNsYSgyMTAsIDY3JSwgMiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjE4LCAxMDAlLCAyJSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMjMsIDc4JSwgMiUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDA6IGhzbGEoNywgMTAwJSwgNTYlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTIwMDogaHNsYSg5LCAxMDAlLCA1NCUsIDAuMDgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2xhKDgsIDEwMCUsIDUyJSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC00MDA6IGhzbGEoOCwgMTAwJSwgNTElLCAwLjIxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTUwMDogaHNsYSg3LCAxMDAlLCA1MSUsIDAuMzYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2xhKDUsIDEwMCUsIDUxJSwgMC41KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSgyLCAxMDAlLCA1MCUsIDAuNzIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtODAwOiBoc2xhKDM1NiwgOTglLCA0NCUsIDAuODkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtOTAwOiBoc2woMzUwLCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTAwMDogaHNsKDM1NSwgMTAwJSwgMjclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTExMDA6IGhzbCgwLCAxMDAlLCAyMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTIwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woMCwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCgwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2xhKDI2LCAxMDAlLCA1NSUsIDAuMDcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMjAwOiBoc2xhKDI0LCAxMDAlLCA1MiUsIDAuMTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMzAwOiBoc2xhKDI1LCAxMDAlLCA1MSUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2xhKDI1LCAxMDAlLCA1MiUsIDAuMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS01MDA6IGhzbGEoMjYsIDk4JSwgNTAlLCAwLjUyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTYwMDogaHNsYSgyNywgMTAwJSwgNDglLCAwLjc1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTcwMDogaHNsKDI5LCAxMDAlLCA0NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtODAwOiBoc2woMjQsIDEwMCUsIDM4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS05MDA6IGhzbCg5LCAxMDAlLCAyOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwMDogaHNsKDQsIDEwMCUsIDI3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMTAwOiBoc2woMCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEyMDA6IGhzbCgwLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTMwMDogaHNsKDAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xNDAwOiBoc2woMCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsYSg0NiwgMTAwJSwgNTMlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTIwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjI1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTMwMDogaHNsYSg0NywgMTAwJSwgNTElLCAwLjQ5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTQwMDogaHNsYSg0OCwgMTAwJSwgNTAlLCAwLjcyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsKDQ3LCAxMDAlLCA0NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNjAwOiBoc2woNDQsIDEwMCUsIDQ0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy03MDA6IGhzbCg0MCwgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTgwMDogaHNsKDM2LCAxMDAlLCAzMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctOTAwOiBoc2woMjgsIDEwMCUsIDIzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDAwOiBoc2woMjcsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMTAwOiBoc2woMjQsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMjAwOiBoc2woMjAsIDEwMCUsIDE3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMzAwOiBoc2woMTAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xNDAwOiBoc2woNSwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDA6IGhzbGEoMTA3LCA4OSUsIDQ0JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMjAwOiBoc2xhKDEwNywgOTglLCA0MSUsIDAuMTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsYSgxMDUsIDkyJSwgNDIlLCAwLjI4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS00MDA6IGhzbGEoMTA1LCA5NSUsIDQxJSwgMC40KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbGEoMTAyLCA5NyUsIDQxJSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2xhKDEwMiwgMTAwJSwgMzclLCAwLjg2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS03MDA6IGhzbGEoMTA2LCA5OSUsIDMwJSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS04MDA6IGhzbGEoMTEyLCA5NyUsIDI1JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtOTAwOiBoc2woMTIwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDA6IGhzbCgxMjAsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTEwMDogaHNsKDEyMCwgMTAwJSwgMTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMjAwOiBoc2woMTIwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEzMDA6IGhzbCgxMjAsIDEwMCUsIDglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xNDAwOiBoc2woMTIwLCAxMDAlLCA3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsYSgxNTAsIDc5JSwgNDElLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMjAwOiBoc2xhKDE1MCwgMTAwJSwgMzYlLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2xhKDE1MSwgOTMlLCAzNyUsIDAuMjMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi00MDA6IGhzbGEoMTUzLCA5NSUsIDM3JSwgMC4zMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTUwMDogaHNsYSgxNTYsIDk5JSwgMzYlLCAwLjU2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNjAwOiBoc2xhKDE2MywgOTklLCAzOCUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi03MDA6IGhzbCgxNjYsIDEwMCUsIDMyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTgwMDogaHNsKDE2OCwgMTAwJSwgMjYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tOTAwOiBoc2woMTYzLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMDAwOiBoc2woMTYyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2woMTYwLCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2woMTU4LCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMzAwOiBoc2woMTUyLCAxMDAlLCA4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbCgxNDcsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbGEoMTg2LCA3OSUsIDQxJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2xhKDE4OCwgMTAwJSwgMzglLCAwLjExKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0zMDA6IGhzbGEoMTg2LCAxMDAlLCAzNyUsIDAuMjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTQwMDogaHNsYSgxODcsIDk3JSwgMzglLCAwLjMxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi01MDA6IGhzbGEoMTg3LCA5OSUsIDM4JSwgMC41NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNjAwOiBoc2xhKDE4NiwgOTklLCA0MCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTcwMDogaHNsKDE5MywgMTAwJSwgMzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi04MDA6IGhzbCgxOTksIDEwMCUsIDM1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tOTAwOiBoc2woMjA1LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEwMDA6IGhzbCgyMDcsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTEwMDogaHNsKDIxMCwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMjAwOiBoc2woMjEyLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEzMDA6IGhzbCgyMTgsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTQwMDogaHNsKDIyMiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDA6IGhzbGEoMjE4LCAxMDAlLCA1NyUsIDAuMDUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTIwMDogaHNsYSgyMTUsIDEwMCUsIDUyJSwgMC4wOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwOiBoc2xhKDIxNiwgOTUlLCA1MSUsIDAuMTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMTYsIDk2JSwgNDklLCAwLjIyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS01MDA6IGhzbGEoMjE2LCA5NSUsIDQ4JSwgMC4zNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxNSwgOTglLCA0NyUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTUsIDEwMCUsIDQ2JSwgMC43MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtODAwOiBoc2xhKDIxMiwgOTklLCA0NiUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTcsIDk4JSwgMzMlLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxOCwgOTclLCAzMCUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTExMDA6IGhzbGEoMjIwLCA5OSUsIDI3JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTIwMDogaHNsYSgyMjIsIDEwMCUsIDI0JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTMwMDogaHNsKDIyOCwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjMzLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTAwOiBoc2xhKDI0OCwgMTAwJSwgNjElLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTIwMDogaHNsYSgyNDgsIDEwMCUsIDU1JSwgMC4wNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbGEoMjQ4LCAxMDAlLCA1MyUsIDAuMTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNDAwOiBoc2xhKDI0OCwgMTAwJSwgNTIlLCAwLjE2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTUwMDogaHNsYSgyNDksIDEwMCUsIDUxJSwgMC4yNyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjUxLCAxMDAlLCA1MSUsIDAuMzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtNzAwOiBoc2xhKDI1NCwgMTAwJSwgNTAlLCAwLjUzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTgsIDk4JSwgNDklLCAwLjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtOTAwOiBoc2xhKDI2MSwgOTclLCAzOCUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2xhKDI2MywgMTAwJSwgMzYlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTExMDA6IGhzbCgyNjQsIDEwMCUsIDMzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMjAwOiBoc2woMjYyLCAxMDAlLCAyOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTMwMDogaHNsKDI1OSwgMTAwJSwgMjIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTE0MDA6IGhzbCgyNTksIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTAwOiBoc2xhKDI5MywgOTUlLCA0MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTIwMDogaHNsYSgyOTUsIDg5JSwgNDElLCAwLjA3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0zMDA6IGhzbGEoMjk4LCA5MSUsIDQwJSwgMC4xMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNDAwOiBoc2xhKDI5NiwgOTUlLCAzOCUsIDAuMTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyOTcsIDkzJSwgMzglLCAwLjMxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS02MDA6IGhzbGEoMjk1LCA5NiUsIDM3JSwgMC40Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNzAwOiBoc2xhKDI5NSwgOTclLCAzNyUsIDAuNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtODAwOiBoc2xhKDI5NCwgOTglLCAzNiUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTkwMDogaHNsYSgyODcsIDk2JSwgMjclLCAwLjkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDA6IGhzbGEoMjg2LCAxMDAlLCAyNCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTExMDA6IGhzbGEoMjg1LCA5NyUsIDIyJSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTIwMDogaHNsKDI4NSwgOTYlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbCgyODMsIDEwMCUsIDE2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsKDI4MSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbGEoMzQ4LCAxMDAlLCA1MSUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTIwMDogaHNsYSgzNDcsIDEwMCUsIDU0JSwgMC4wOCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2xhKDM0NywgMTAwJSwgNTAlLCAwLjEzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbGEoMzQ3LCAxMDAlLCA1MiUsIDAuMTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTUwMDogaHNsYSgzNDYsIDEwMCUsIDUxJSwgMC4zMyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDM0NSwgMTAwJSwgNTAlLCAwLjQ3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzQxLCA5OCUsIDQ5JSwgMC43KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay04MDA6IGhzbGEoMzMzLCA5OCUsIDQ0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstOTAwOiBoc2xhKDMzMSwgMTAwJSwgMjglLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2xhKDMzMCwgOTclLCAyNiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTExMDA6IGhzbCgzMjksIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDMzMiwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzM3LCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDEsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLXRyYW5zcGFyZW50OiByZ2JhKDAsMCwwLDApO1xufVxuIiwiLmNwZC10aGVtZS1saWdodC1oYy5jcGQtdGhlbWUtbGlnaHQtaGMge1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdC1sZXZlbC0xOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5LWxldmVsLTA6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMTogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMjogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTcwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMzogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTExMDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tbGluZWFyOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxKSAwJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMikgMzMlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzKSA2NiUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDQpIDEwMCUpO1xufVxuIiwiOnJvb3Qge1xuICAtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdC1sZXZlbC0xOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5LWxldmVsLTA6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMTogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMjogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTcwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMzogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTExMDApO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tbGluZWFyOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxKSAwJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMikgMzMlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzKSA2NiUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDQpIDEwMCUpO1xufVxuIiwiLmNwZC10aGVtZS1kYXJrLmNwZC10aGVtZS1kYXJrIHtcbiAgLS1jcGQtY29sb3ItdGhlbWUtYmc6ICMxMDEzMTc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwOiAjMTQxNzFiO1xuICAtLWNwZC1jb2xvci1ncmF5LTIwMDogIzE4MWExZjtcbiAgLS1jcGQtY29sb3ItZ3JheS0zMDA6ICMxZDFmMjQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNDAwOiAjMjYyODJkO1xuICAtLWNwZC1jb2xvci1ncmF5LTUwMDogIzMyMzUzOTtcbiAgLS1jcGQtY29sb3ItZ3JheS02MDA6ICMzYzNmNDQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNzAwOiAjNGE0ZjU1O1xuICAtLWNwZC1jb2xvci1ncmF5LTgwMDogIzY1NmM3NjtcbiAgLS1jcGQtY29sb3ItZ3JheS05MDA6ICM4MDg5OTQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwMDogIzkxOTlhNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMTAwOiAjYTNhYWI0O1xuICAtLWNwZC1jb2xvci1ncmF5LTEyMDA6ICNiZGMzY2M7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTMwMDogI2Q5ZGVlNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xNDAwOiAjZWJlZWYyO1xuICAtLWNwZC1jb2xvci1yZWQtMTAwOiAjMzcwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMjAwOiAjM2UwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMzAwOiAjNDcwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtNDAwOiAjNTkwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtNTAwOiAjNzEwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtNjAwOiAjODMwMDA5O1xuICAtLWNwZC1jb2xvci1yZWQtNzAwOiAjOWYwZDFlO1xuICAtLWNwZC1jb2xvci1yZWQtODAwOiAjZDEyMTJhO1xuICAtLWNwZC1jb2xvci1yZWQtOTAwOiAjZmQzZTNjO1xuICAtLWNwZC1jb2xvci1yZWQtMTAwMDogI2ZmNjY1ZDtcbiAgLS1jcGQtY29sb3ItcmVkLTExMDA6ICNmZjg3N2M7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMjAwOiAjZmZhZWE0O1xuICAtLWNwZC1jb2xvci1yZWQtMTMwMDogI2ZmZDRjZDtcbiAgLS1jcGQtY29sb3ItcmVkLTE0MDA6ICNmZmU5ZTY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDA6ICMzODAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0yMDA6ICMzYzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0zMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS00MDA6ICM1ODAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS01MDA6ICM3MTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS02MDA6ICM4MzA1MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS03MDA6ICM5NzIyMDY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS04MDA6ICNiOTQ2MDc7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS05MDA6ICNkYTY3MGQ7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDAwOiAjZWI3YTEyO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMDogI2Y2OTEzZDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEyMDA6ICNmYmIzN2U7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMzAwOiAjZmZkNWI5O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTQwMDogI2ZmZWFkYjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDogIzM2MDAwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTIwMDogIzNhMDMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTMwMDogIzQxMDkwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTQwMDogIzRjMTQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTUwMDogIzVjMjQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTYwMDogIzY4MmUwMztcbiAgLS1jcGQtY29sb3IteWVsbG93LTcwMDogIzdjM2UwMjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTgwMDogIzlkNWIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTkwMDogI2JjN2EwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDA6ICNjYzhjMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMTAwOiAjZGI5ZjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTIwMDogI2VmYmIwYjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEzMDA6ICNmZWRiNTg7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xNDAwOiAjZmZlZGIxO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDogIzAwMWIwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0yMDA6ICMwMDIwMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMzAwOiAjMDAyNjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTQwMDogIzAwMzAwMDtcbiAgLS1jcGQtY29sb3ItbGltZS01MDA6ICMwMDNlMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNjAwOiAjMDA0YTAwO1xuICAtLWNwZC1jb2xvci1saW1lLTcwMDogIzAwNWMwMDtcbiAgLS1jcGQtY29sb3ItbGltZS04MDA6ICMxZDdjMTM7XG4gIC0tY3BkLWNvbG9yLWxpbWUtOTAwOiAjMzg5YjIwO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDA6ICM0N2FkMjY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTEwMDogIzU2YzAyYztcbiAgLS1jcGQtY29sb3ItbGltZS0xMjAwOiAjNzdkOTRmO1xuICAtLWNwZC1jb2xvci1saW1lLTEzMDA6ICNiNmVjYTM7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTQwMDogI2RhZjZkMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwOiAjMDAxYzBiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0yMDA6ICMwMDFmMGU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTMwMDogIzAwMjUxMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNDAwOiAjMDAyZTFiO1xuICAtLWNwZC1jb2xvci1ncmVlbi01MDA6ICMwMDNkMjk7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTYwMDogIzAwNDgzMjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNzAwOiAjMDA1YTQzO1xuICAtLWNwZC1jb2xvci1ncmVlbi04MDA6ICMwMDdhNjI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTkwMDogIzEyOWE3ODtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwMDogIzE3YWM4NDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTEwMDogIzFmYzA5MDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTIwMDogIzcyZDVhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTMwMDogI2I1ZThkMTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTQwMDogI2Q5ZjRlNztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDA6ICMwMDExNDQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMjAwOiAjMDAxNDQ4O1xuICAtLWNwZC1jb2xvci1jeWFuLTMwMDogIzAwMWI0ZTtcbiAgLS1jcGQtY29sb3ItY3lhbi00MDA6ICMwMDI1NTk7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNTAwOiAjMDAzNDY4O1xuICAtLWNwZC1jb2xvci1jeWFuLTYwMDogIzAwM2Y3NTtcbiAgLS1jcGQtY29sb3ItY3lhbi03MDA6ICMwMDUxODg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tODAwOiAjMDI3MWFhO1xuICAtLWNwZC1jb2xvci1jeWFuLTkwMDogIzAwOTNiZTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDAwOiAjMDJhN2M2O1xuICAtLWNwZC1jb2xvci1jeWFuLTExMDA6ICMyMWJhY2Q7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTIwMDogIzc4ZDBkYztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMzAwOiAjYjhlNWViO1xuICAtLWNwZC1jb2xvci1jeWFuLTE0MDA6ICNkYmYyZjU7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwOiAjMDAwNTVhO1xuICAtLWNwZC1jb2xvci1ibHVlLTIwMDogIzAwMDk1ZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0zMDA6ICMwMDEyNjQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNDAwOiAjMDAxZTZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTUwMDogIzA2MmQ4MDtcbiAgLS1jcGQtY29sb3ItYmx1ZS02MDA6ICMwODM4OTE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNzAwOiAjMGI0OWFiO1xuICAtLWNwZC1jb2xvci1ibHVlLTgwMDogIzBlNjdkOTtcbiAgLS1jcGQtY29sb3ItYmx1ZS05MDA6ICM0MTg3ZWI7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwMDogIzVlOTlmMDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMTAwOiAjN2FhY2Y0O1xuICAtLWNwZC1jb2xvci1ibHVlLTEyMDA6ICNhMWM0Zjg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTMwMDogI2NiZGZmYztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xNDAwOiAjZTRlZWZlO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwOiAjMWEwMDU1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMjAwOiAjMWMwMDVhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMzAwOiAjMjIwMDZhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNDAwOiAjMmMwMDgwO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNTAwOiAjM2QwMDllO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNjAwOiAjNGEwZGIxO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNzAwOiAjNWEyN2M2O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtODAwOiAjNzg0OWVjO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtOTAwOiAjOTE3MWY5O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwMDogIzllODdmYztcbiAgLS1jcGQtY29sb3ItcHVycGxlLTExMDA6ICNhZDljZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMjAwOiAjYzRiYWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTMwMDogI2RlZGFmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTE0MDA6ICNlZWViZmY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwOiAjMjgwMDNkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTIwMDogIzJlMDA0NDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0zMDA6ICMzNzAwNGU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNDAwOiAjNDYwMDVlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTUwMDogIzU2MGY2ZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS02MDA6ICM2NTE3N2Q7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNzAwOiAjN2QyMzk0O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTgwMDogI2FhMzZiYTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS05MDA6ICNjNTYwY2Y7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwMDogI2NmNzhkNztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwOiAjZDk5MWRlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEyMDA6ICNlNWIxZTk7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTMwMDogI2YxZDRmMztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xNDAwOiAjZjhlOWY5O1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDogIzM3MDAwZjtcbiAgLS1jcGQtY29sb3ItcGluay0yMDA6ICMzYzAwMTI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMzAwOiAjNDUwMDE4O1xuICAtLWNwZC1jb2xvci1waW5rLTQwMDogIzU1MDAyNDtcbiAgLS1jcGQtY29sb3ItcGluay01MDA6ICM2ZDAwMzY7XG4gIC0tY3BkLWNvbG9yLXBpbmstNjAwOiAjN2MwYzQxO1xuICAtLWNwZC1jb2xvci1waW5rLTcwMDogIzk5MTE0ZjtcbiAgLS1jcGQtY29sb3ItcGluay04MDA6ICNjZTE4NjU7XG4gIC0tY3BkLWNvbG9yLXBpbmstOTAwOiAjZjQ0MjdkO1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDA6ICNmYTY1OGY7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTEwMDogI2ZlODRhMjtcbiAgLS1jcGQtY29sb3ItcGluay0xMjAwOiAjZmZhYmJlO1xuICAtLWNwZC1jb2xvci1waW5rLTEzMDA6ICNmZmQyZGM7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTQwMDogI2ZmZThlZDtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDA6IGhzbGEoMjE0LCAxMCUsIDg2JSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMjAwOiBoc2xhKDI4NiwgMzElLCA4MiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMDogaHNsYSgyODAsIDQxJSwgOTAlLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDA6IGhzbGEoMjcwLCAzNyUsIDkzJSwgMC4xKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS01MDA6IGhzbGEoMjE0LCA0MSUsIDk3JSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIyNSwgNDYlLCA5NSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNzAwOiBoc2xhKDIxMywgODUlLCA5NSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTgwMDogaHNsYSgyMTYsIDEwMCUsIDk0JSwgMC40MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktOTAwOiBoc2xhKDIxMSwgOTQlLCA5NCUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjEzLCA5MyUsIDk0JSwgMC42MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTEwMDogaHNsYSgyMTUsIDkyJSwgOTUlLCAwLjY4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMjAwOiBoc2xhKDIxNSwgNzQlLCA5NiUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjEzLCA3MyUsIDk3JSwgMC44OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMTQsIDc4JSwgOTglLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsKDAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0yMDA6IGhzbCgwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2woMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTQwMDogaHNsKDAsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC01MDA6IGhzbCgwLCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2woMzU2LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNzAwOiBoc2xhKDM1NCwgOTklLCA1MiUsIDAuNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC04MDA6IGhzbGEoMzU3LCA5OSUsIDU3JSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbCgxLCA5OCUsIDYxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2woMywgMTAwJSwgNjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTExMDA6IGhzbCg1LCAxMDAlLCA3NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTIwMDogaHNsKDcsIDEwMCUsIDgyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woOCwgMTAwJSwgOTAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCg3LCAxMDAlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2woMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTIwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0zMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2woMCwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTUwMDogaHNsKDAsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS02MDA6IGhzbCgyLCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNzAwOiBoc2xhKDEyLCAxMDAlLCAzOSUsIDAuNzQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtODAwOiBoc2xhKDIxLCAxMDAlLCA1MCUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtOTAwOiBoc2xhKDI2LCA5OSUsIDUyJSwgMC44NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDAwOiBoc2xhKDI5LCA5OSUsIDUzJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMTAwOiBoc2xhKDI3LCA5OCUsIDYyJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMjAwOiBoc2xhKDI2LCA5NyUsIDc1JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMjQsIDEwMCUsIDg2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xNDAwOiBoc2woMjUsIDEwMCUsIDkzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDA6IGhzbCgwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2woMywgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTMwMDogaHNsKDgsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy00MDA6IGhzbCgxNiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsKDIzLCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNjAwOiBoc2xhKDI2LCAxMDAlLCAyMyUsIDAuODcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNzAwOiBoc2xhKDMwLCAxMDAlLCAyNiUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzUsIDEwMCUsIDMxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCgzOSwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbCg0MSwgMTAwJSwgNDAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbCg0NCwgMTAwJSwgNDMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbGEoNDYsIDk4JSwgNTIlLCAwLjk0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCg0NywgOTklLCA2NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTQwMDogaHNsKDQ2LCAxMDAlLCA4NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsKDEyMCwgMTAwJSwgNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTIwMDogaHNsKDEyMCwgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsKDEyMCwgMTAwJSwgOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsKDEyMCwgMTAwJSwgOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTUwMDogaHNsKDEyMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS02MDA6IGhzbCgxMjAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNzAwOiBoc2woMTIwLCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTgwMDogaHNsYSgxMTIsIDk4JSwgNTIlLCAwLjQ1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS05MDA6IGhzbGEoMTA3LCA5OCUsIDU3JSwgMC41OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwMDogaHNsYSgxMDUsIDk3JSwgNTglLCAwLjY2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMTAwOiBoc2xhKDEwMiwgOTglLCA2MCUsIDAuNzQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEyMDA6IGhzbGEoMTAyLCAxMDAlLCA2OCUsIDAuODQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEzMDA6IGhzbGEoMTA0LCAxMDAlLCA4NCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbGEoMTA1LCA5MSUsIDkyJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsKDE0NCwgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbCgxNDcsIDEwMCUsIDYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2woMTUxLCAxMDAlLCA3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsKDE1NSwgMTAwJSwgOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi01MDA6IGhzbCgxNjAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTYwMDogaHNsKDE2MiwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNzAwOiBoc2woMTY1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi04MDA6IGhzbCgxNjgsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTkwMDogaHNsYSgxNjQsIDk4JSwgNTMlLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwMDogaHNsYSgxNjMsIDk5JSwgNTUlLCAwLjY1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTEwMDogaHNsYSgxNjIsIDk4JSwgNTclLCAwLjc0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTIwMDogaHNsYSgxNTYsIDk3JSwgNzYlLCAwLjgzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTMwMDogaHNsYSgxNTIsIDkzJSwgODglLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTQwMDogaHNsYSgxNTIsIDg4JSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbCgyMjUsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2woMjIzLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsKDIxOSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi00MDA6IGhzbCgyMTUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNTAwOiBoc2woMjEwLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTYwMDogaHNsKDIwOCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi03MDA6IGhzbCgyMDQsIDEwMCUsIDI3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tODAwOiBoc2xhKDIwMCwgMTAwJSwgMzclLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbCgxOTQsIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsYSgxODksIDEwMCUsIDQ0JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTEwMDogaHNsYSgxODYsIDk4JSwgNTclLCAwLjc5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMjAwOiBoc2xhKDE4NywgMTAwJSwgNzclLCAwLjg1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMzAwOiBoc2xhKDE4NywgOTMlLCA4OSUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTE0MDA6IGhzbGEoMTg3LCA5MyUsIDk0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwOiBoc2woMjM3LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTIwMDogaHNsKDIzNCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbCgyMjksIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNDAwOiBoc2woMjI0LCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTUwMDogaHNsYSgyMjEsIDEwMCUsIDM3JSwgMC42Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxOSwgOTklLCA1MCUsIDAuNTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTcsIDk5JSwgNTElLCAwLjY0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjE0LCA5OSUsIDUzJSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtOTAwOiBoc2xhKDIxNSwgOTglLCA2MyUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDA6IGhzbGEoMjE2LCA5OSUsIDY5JSwgMC45NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTEwMDogaHNsYSgyMTUsIDk3JSwgNzQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMjAwOiBoc2xhKDIxNiwgMTAwJSwgODIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2xhKDIxNiwgOTYlLCA5MCUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTE0MDA6IGhzbCgyMTcsIDkzJSwgOTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDogaHNsKDI1OCwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTIwMDogaHNsKDI1OSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTMwMDogaHNsKDI1OSwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTQwMDogaHNsKDI2MSwgMTAwJSwgMjUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTUwMDogaHNsKDI2MywgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTYwMDogaHNsYSgyNjMsIDk4JSwgNTIlLCAwLjY3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTcwMDogaHNsYSgyNjAsIDk4JSwgNTglLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTcsIDEwMCUsIDY1JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS05MDA6IGhzbGEoMjU0LCA5OSUsIDcyJSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2xhKDI1MiwgOTglLCA3NyUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTEwMDogaHNsKDI1MCwgOTglLCA4MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTIwMDogaHNsKDI0OSwgMTAwJSwgODclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEzMDA6IGhzbCgyNDYsIDEwMCUsIDkzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xNDAwOiBoc2woMjQ5LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDogaHNsKDI3OSwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0yMDA6IGhzbCgyODEsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMzAwOiBoc2woMjgyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTQwMDogaHNsKDI4NSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS01MDA6IGhzbGEoMjg3LCAxMDAlLCA1MiUsIDAuMzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTYwMDogaHNsYSgyODgsIDEwMCUsIDU2JSwgMC40NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNzAwOiBoc2xhKDI4OSwgOTklLCA1OSUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTgwMDogaHNsYSgyOTQsIDk4JSwgNjMlLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS05MDA6IGhzbGEoMjk1LCA5NyUsIDcyJSwgMC44KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDAwOiBoc2xhKDI5NiwgOTglLCA3OCUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTExMDA6IGhzbGEoMjk3LCA5OCUsIDgyJSwgMC44Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTIwMDogaHNsYSgyOTYsIDk3JSwgODglLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMzAwOiBoc2xhKDI5NiwgMTAwJSwgOTQlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xNDAwOiBoc2xhKDI5NiwgOTAlLCA5NiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDogaHNsKDM0NCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0yMDA6IGhzbCgzNDIsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2woMzM5LCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTQwMDogaHNsKDMzNSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay01MDA6IGhzbCgzMzAsIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDMzMywgOTclLCA1MCUsIDAuNDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTcwMDogaHNsYSgzMzQsIDk4JSwgNTMlLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay04MDA6IGhzbGEoMzM1LCA5OSUsIDU1JSwgMC44KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay05MDA6IGhzbGEoMzQwLCA5OSUsIDYzJSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwMDogaHNsYSgzNDMsIDEwMCUsIDcwJSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsKDM0NSwgOTglLCA3NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEyMDA6IGhzbCgzNDYsIDEwMCUsIDg0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTMwMDogaHNsKDM0NywgMTAwJSwgOTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xNDAwOiBoc2woMzQ3LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci10cmFuc3BhcmVudDogcmdiYSgwLDAsMCwwKTtcbn1cbiIsIjpyb290IHtcbiAgLS1jcGQtY29sb3ItdGhlbWUtYmc6ICMxMDEzMTc7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwOiAjMTQxNzFiO1xuICAtLWNwZC1jb2xvci1ncmF5LTIwMDogIzE4MWExZjtcbiAgLS1jcGQtY29sb3ItZ3JheS0zMDA6ICMxZDFmMjQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNDAwOiAjMjYyODJkO1xuICAtLWNwZC1jb2xvci1ncmF5LTUwMDogIzMyMzUzOTtcbiAgLS1jcGQtY29sb3ItZ3JheS02MDA6ICMzYzNmNDQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktNzAwOiAjNGE0ZjU1O1xuICAtLWNwZC1jb2xvci1ncmF5LTgwMDogIzY1NmM3NjtcbiAgLS1jcGQtY29sb3ItZ3JheS05MDA6ICM4MDg5OTQ7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTAwMDogIzkxOTlhNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMTAwOiAjYTNhYWI0O1xuICAtLWNwZC1jb2xvci1ncmF5LTEyMDA6ICNiZGMzY2M7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTMwMDogI2Q5ZGVlNDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xNDAwOiAjZWJlZWYyO1xuICAtLWNwZC1jb2xvci1yZWQtMTAwOiAjMzcwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMjAwOiAjM2UwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtMzAwOiAjNDcwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtNDAwOiAjNTkwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtNTAwOiAjNzEwMDAwO1xuICAtLWNwZC1jb2xvci1yZWQtNjAwOiAjODMwMDA5O1xuICAtLWNwZC1jb2xvci1yZWQtNzAwOiAjOWYwZDFlO1xuICAtLWNwZC1jb2xvci1yZWQtODAwOiAjZDEyMTJhO1xuICAtLWNwZC1jb2xvci1yZWQtOTAwOiAjZmQzZTNjO1xuICAtLWNwZC1jb2xvci1yZWQtMTAwMDogI2ZmNjY1ZDtcbiAgLS1jcGQtY29sb3ItcmVkLTExMDA6ICNmZjg3N2M7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMjAwOiAjZmZhZWE0O1xuICAtLWNwZC1jb2xvci1yZWQtMTMwMDogI2ZmZDRjZDtcbiAgLS1jcGQtY29sb3ItcmVkLTE0MDA6ICNmZmU5ZTY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDA6ICMzODAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0yMDA6ICMzYzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0zMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS00MDA6ICM1ODAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS01MDA6ICM3MTAwMDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS02MDA6ICM4MzA1MDA7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS03MDA6ICM5NzIyMDY7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS04MDA6ICNiOTQ2MDc7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS05MDA6ICNkYTY3MGQ7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMDAwOiAjZWI3YTEyO1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTEwMDogI2Y2OTEzZDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEyMDA6ICNmYmIzN2U7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMzAwOiAjZmZkNWI5O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTQwMDogI2ZmZWFkYjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDogIzM2MDAwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTIwMDogIzNhMDMwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTMwMDogIzQxMDkwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTQwMDogIzRjMTQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTUwMDogIzVjMjQwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTYwMDogIzY4MmUwMztcbiAgLS1jcGQtY29sb3IteWVsbG93LTcwMDogIzdjM2UwMjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTgwMDogIzlkNWIwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTkwMDogI2JjN2EwMDtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEwMDA6ICNjYzhjMDA7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMTAwOiAjZGI5ZjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTIwMDogI2VmYmIwYjtcbiAgLS1jcGQtY29sb3IteWVsbG93LTEzMDA6ICNmZWRiNTg7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xNDAwOiAjZmZlZGIxO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDogIzAwMWIwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0yMDA6ICMwMDIwMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMzAwOiAjMDAyNjAwO1xuICAtLWNwZC1jb2xvci1saW1lLTQwMDogIzAwMzAwMDtcbiAgLS1jcGQtY29sb3ItbGltZS01MDA6ICMwMDNlMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNjAwOiAjMDA0YTAwO1xuICAtLWNwZC1jb2xvci1saW1lLTcwMDogIzAwNWMwMDtcbiAgLS1jcGQtY29sb3ItbGltZS04MDA6ICMxZDdjMTM7XG4gIC0tY3BkLWNvbG9yLWxpbWUtOTAwOiAjMzg5YjIwO1xuICAtLWNwZC1jb2xvci1saW1lLTEwMDA6ICM0N2FkMjY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTEwMDogIzU2YzAyYztcbiAgLS1jcGQtY29sb3ItbGltZS0xMjAwOiAjNzdkOTRmO1xuICAtLWNwZC1jb2xvci1saW1lLTEzMDA6ICNiNmVjYTM7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTQwMDogI2RhZjZkMDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwOiAjMDAxYzBiO1xuICAtLWNwZC1jb2xvci1ncmVlbi0yMDA6ICMwMDFmMGU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTMwMDogIzAwMjUxMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNDAwOiAjMDAyZTFiO1xuICAtLWNwZC1jb2xvci1ncmVlbi01MDA6ICMwMDNkMjk7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTYwMDogIzAwNDgzMjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNzAwOiAjMDA1YTQzO1xuICAtLWNwZC1jb2xvci1ncmVlbi04MDA6ICMwMDdhNjI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTkwMDogIzEyOWE3ODtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTAwMDogIzE3YWM4NDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTEwMDogIzFmYzA5MDtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTIwMDogIzcyZDVhZTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTMwMDogI2I1ZThkMTtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMTQwMDogI2Q5ZjRlNztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDA6ICMwMDExNDQ7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMjAwOiAjMDAxNDQ4O1xuICAtLWNwZC1jb2xvci1jeWFuLTMwMDogIzAwMWI0ZTtcbiAgLS1jcGQtY29sb3ItY3lhbi00MDA6ICMwMDI1NTk7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNTAwOiAjMDAzNDY4O1xuICAtLWNwZC1jb2xvci1jeWFuLTYwMDogIzAwM2Y3NTtcbiAgLS1jcGQtY29sb3ItY3lhbi03MDA6ICMwMDUxODg7XG4gIC0tY3BkLWNvbG9yLWN5YW4tODAwOiAjMDI3MWFhO1xuICAtLWNwZC1jb2xvci1jeWFuLTkwMDogIzAwOTNiZTtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMDAwOiAjMDJhN2M2O1xuICAtLWNwZC1jb2xvci1jeWFuLTExMDA6ICMyMWJhY2Q7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTIwMDogIzc4ZDBkYztcbiAgLS1jcGQtY29sb3ItY3lhbi0xMzAwOiAjYjhlNWViO1xuICAtLWNwZC1jb2xvci1jeWFuLTE0MDA6ICNkYmYyZjU7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwOiAjMDAwNTVhO1xuICAtLWNwZC1jb2xvci1ibHVlLTIwMDogIzAwMDk1ZDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0zMDA6ICMwMDEyNjQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNDAwOiAjMDAxZTZmO1xuICAtLWNwZC1jb2xvci1ibHVlLTUwMDogIzA2MmQ4MDtcbiAgLS1jcGQtY29sb3ItYmx1ZS02MDA6ICMwODM4OTE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNzAwOiAjMGI0OWFiO1xuICAtLWNwZC1jb2xvci1ibHVlLTgwMDogIzBlNjdkOTtcbiAgLS1jcGQtY29sb3ItYmx1ZS05MDA6ICM0MTg3ZWI7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTAwMDogIzVlOTlmMDtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMTAwOiAjN2FhY2Y0O1xuICAtLWNwZC1jb2xvci1ibHVlLTEyMDA6ICNhMWM0Zjg7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTMwMDogI2NiZGZmYztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xNDAwOiAjZTRlZWZlO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwOiAjMWEwMDU1O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMjAwOiAjMWMwMDVhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMzAwOiAjMjIwMDZhO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNDAwOiAjMmMwMDgwO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNTAwOiAjM2QwMDllO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNjAwOiAjNGEwZGIxO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtNzAwOiAjNWEyN2M2O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtODAwOiAjNzg0OWVjO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtOTAwOiAjOTE3MWY5O1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTAwMDogIzllODdmYztcbiAgLS1jcGQtY29sb3ItcHVycGxlLTExMDA6ICNhZDljZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMjAwOiAjYzRiYWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTMwMDogI2RlZGFmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTE0MDA6ICNlZWViZmY7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwOiAjMjgwMDNkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTIwMDogIzJlMDA0NDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0zMDA6ICMzNzAwNGU7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNDAwOiAjNDYwMDVlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTUwMDogIzU2MGY2ZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS02MDA6ICM2NTE3N2Q7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNzAwOiAjN2QyMzk0O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTgwMDogI2FhMzZiYTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS05MDA6ICNjNTYwY2Y7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTAwMDogI2NmNzhkNztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMTAwOiAjZDk5MWRlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTEyMDA6ICNlNWIxZTk7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTMwMDogI2YxZDRmMztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xNDAwOiAjZjhlOWY5O1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDogIzM3MDAwZjtcbiAgLS1jcGQtY29sb3ItcGluay0yMDA6ICMzYzAwMTI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMzAwOiAjNDUwMDE4O1xuICAtLWNwZC1jb2xvci1waW5rLTQwMDogIzU1MDAyNDtcbiAgLS1jcGQtY29sb3ItcGluay01MDA6ICM2ZDAwMzY7XG4gIC0tY3BkLWNvbG9yLXBpbmstNjAwOiAjN2MwYzQxO1xuICAtLWNwZC1jb2xvci1waW5rLTcwMDogIzk5MTE0ZjtcbiAgLS1jcGQtY29sb3ItcGluay04MDA6ICNjZTE4NjU7XG4gIC0tY3BkLWNvbG9yLXBpbmstOTAwOiAjZjQ0MjdkO1xuICAtLWNwZC1jb2xvci1waW5rLTEwMDA6ICNmYTY1OGY7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTEwMDogI2ZlODRhMjtcbiAgLS1jcGQtY29sb3ItcGluay0xMjAwOiAjZmZhYmJlO1xuICAtLWNwZC1jb2xvci1waW5rLTEzMDA6ICNmZmQyZGM7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTQwMDogI2ZmZThlZDtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDA6IGhzbGEoMjE0LCAxMCUsIDg2JSwgMC4wMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMjAwOiBoc2xhKDI4NiwgMzElLCA4MiUsIDAuMDQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTMwMDogaHNsYSgyODAsIDQxJSwgOTAlLCAwLjA2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS00MDA6IGhzbGEoMjcwLCAzNyUsIDkzJSwgMC4xKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS01MDA6IGhzbGEoMjE0LCA0MSUsIDk3JSwgMC4xNSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNjAwOiBoc2xhKDIyNSwgNDYlLCA5NSUsIDAuMik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNzAwOiBoc2xhKDIxMywgODUlLCA5NSUsIDAuMjcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTgwMDogaHNsYSgyMTYsIDEwMCUsIDk0JSwgMC40MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktOTAwOiBoc2xhKDIxMSwgOTQlLCA5NCUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDA6IGhzbGEoMjEzLCA5MyUsIDk0JSwgMC42MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTEwMDogaHNsYSgyMTUsIDkyJSwgOTUlLCAwLjY4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMjAwOiBoc2xhKDIxNSwgNzQlLCA5NiUsIDAuNzkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjEzLCA3MyUsIDk3JSwgMC44OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMTQsIDc4JSwgOTglLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsKDAsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0yMDA6IGhzbCgwLCAxMDAlLCAxMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2woMCwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTQwMDogaHNsKDAsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC01MDA6IGhzbCgwLCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNjAwOiBoc2woMzU2LCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtNzAwOiBoc2xhKDM1NCwgOTklLCA1MiUsIDAuNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC04MDA6IGhzbGEoMzU3LCA5OSUsIDU3JSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC05MDA6IGhzbCgxLCA5OCUsIDYxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMDAwOiBoc2woMywgMTAwJSwgNjglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTExMDA6IGhzbCg1LCAxMDAlLCA3NCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTIwMDogaHNsKDcsIDEwMCUsIDgyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMzAwOiBoc2woOCwgMTAwJSwgOTAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTE0MDA6IGhzbCg3LCAxMDAlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2woMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTIwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0zMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2woMCwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTUwMDogaHNsKDAsIDEwMCUsIDIyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS02MDA6IGhzbCgyLCAxMDAlLCAyNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNzAwOiBoc2xhKDEyLCAxMDAlLCAzOSUsIDAuNzQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtODAwOiBoc2xhKDIxLCAxMDAlLCA1MCUsIDAuNzEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtOTAwOiBoc2xhKDI2LCA5OSUsIDUyJSwgMC44NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDAwOiBoc2xhKDI5LCA5OSUsIDUzJSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMTAwOiBoc2xhKDI3LCA5OCUsIDYyJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMjAwOiBoc2xhKDI2LCA5NyUsIDc1JSwgMC45OSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMzAwOiBoc2woMjQsIDEwMCUsIDg2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xNDAwOiBoc2woMjUsIDEwMCUsIDkzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0xMDA6IGhzbCgwLCAxMDAlLCAxMSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMjAwOiBoc2woMywgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTMwMDogaHNsKDgsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy00MDA6IGhzbCgxNiwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsKDIzLCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNjAwOiBoc2xhKDI2LCAxMDAlLCAyMyUsIDAuODcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctNzAwOiBoc2xhKDMwLCAxMDAlLCAyNiUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzUsIDEwMCUsIDMxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCgzOSwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbCg0MSwgMTAwJSwgNDAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbCg0NCwgMTAwJSwgNDMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbGEoNDYsIDk4JSwgNTIlLCAwLjk0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEzMDA6IGhzbCg0NywgOTklLCA2NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTQwMDogaHNsKDQ2LCAxMDAlLCA4NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsKDEyMCwgMTAwJSwgNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTIwMDogaHNsKDEyMCwgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsKDEyMCwgMTAwJSwgOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsKDEyMCwgMTAwJSwgOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTUwMDogaHNsKDEyMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS02MDA6IGhzbCgxMjAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNzAwOiBoc2woMTIwLCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTgwMDogaHNsYSgxMTIsIDk4JSwgNTIlLCAwLjQ1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS05MDA6IGhzbGEoMTA3LCA5OCUsIDU3JSwgMC41OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTAwMDogaHNsYSgxMDUsIDk3JSwgNTglLCAwLjY2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMTAwOiBoc2xhKDEwMiwgOTglLCA2MCUsIDAuNzQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEyMDA6IGhzbGEoMTAyLCAxMDAlLCA2OCUsIDAuODQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEzMDA6IGhzbGEoMTA0LCAxMDAlLCA4NCUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbGEoMTA1LCA5MSUsIDkyJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsKDE0NCwgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbCgxNDcsIDEwMCUsIDYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2woMTUxLCAxMDAlLCA3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsKDE1NSwgMTAwJSwgOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi01MDA6IGhzbCgxNjAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTYwMDogaHNsKDE2MiwgMTAwJSwgMTQlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNzAwOiBoc2woMTY1LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi04MDA6IGhzbCgxNjgsIDEwMCUsIDI0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTkwMDogaHNsYSgxNjQsIDk4JSwgNTMlLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTAwMDogaHNsYSgxNjMsIDk5JSwgNTUlLCAwLjY1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTEwMDogaHNsYSgxNjIsIDk4JSwgNTclLCAwLjc0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTIwMDogaHNsYSgxNTYsIDk3JSwgNzYlLCAwLjgzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTMwMDogaHNsYSgxNTIsIDkzJSwgODglLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMTQwMDogaHNsYSgxNTIsIDg4JSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMDA6IGhzbCgyMjUsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMjAwOiBoc2woMjIzLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTMwMDogaHNsKDIxOSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi00MDA6IGhzbCgyMTUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNTAwOiBoc2woMjEwLCAxMDAlLCAyMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTYwMDogaHNsKDIwOCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi03MDA6IGhzbCgyMDQsIDEwMCUsIDI3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tODAwOiBoc2xhKDIwMCwgMTAwJSwgMzclLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbCgxOTQsIDEwMCUsIDM3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsYSgxODksIDEwMCUsIDQ0JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTEwMDogaHNsYSgxODYsIDk4JSwgNTclLCAwLjc5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMjAwOiBoc2xhKDE4NywgMTAwJSwgNzclLCAwLjg1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMzAwOiBoc2xhKDE4NywgOTMlLCA4OSUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTE0MDA6IGhzbGEoMTg3LCA5MyUsIDk0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTAwOiBoc2woMjM3LCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTIwMDogaHNsKDIzNCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0zMDA6IGhzbCgyMjksIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNDAwOiBoc2woMjI0LCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTUwMDogaHNsYSgyMjEsIDEwMCUsIDM3JSwgMC42Myk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNjAwOiBoc2xhKDIxOSwgOTklLCA1MCUsIDAuNTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTcwMDogaHNsYSgyMTcsIDk5JSwgNTElLCAwLjY0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS04MDA6IGhzbGEoMjE0LCA5OSUsIDUzJSwgMC44NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtOTAwOiBoc2xhKDIxNSwgOTglLCA2MyUsIDAuOTIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDA6IGhzbGEoMjE2LCA5OSUsIDY5JSwgMC45NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMTEwMDogaHNsYSgyMTUsIDk3JSwgNzQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMjAwOiBoc2xhKDIxNiwgMTAwJSwgODIlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMzAwOiBoc2xhKDIxNiwgOTYlLCA5MCUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTE0MDA6IGhzbCgyMTcsIDkzJSwgOTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEwMDogaHNsKDI1OCwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTIwMDogaHNsKDI1OSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTMwMDogaHNsKDI1OSwgMTAwJSwgMjElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTQwMDogaHNsKDI2MSwgMTAwJSwgMjUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTUwMDogaHNsKDI2MywgMTAwJSwgMzElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTYwMDogaHNsYSgyNjMsIDk4JSwgNTIlLCAwLjY3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTcwMDogaHNsYSgyNjAsIDk4JSwgNTglLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTcsIDEwMCUsIDY1JSwgMC45Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS05MDA6IGhzbGEoMjU0LCA5OSUsIDcyJSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2xhKDI1MiwgOTglLCA3NyUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTEwMDogaHNsKDI1MCwgOTglLCA4MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTIwMDogaHNsKDI0OSwgMTAwJSwgODclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEzMDA6IGhzbCgyNDYsIDEwMCUsIDkzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xNDAwOiBoc2woMjQ5LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEwMDogaHNsKDI3OSwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0yMDA6IGhzbCgyODEsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMzAwOiBoc2woMjgyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTQwMDogaHNsKDI4NSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS01MDA6IGhzbGEoMjg3LCAxMDAlLCA1MiUsIDAuMzgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTYwMDogaHNsYSgyODgsIDEwMCUsIDU2JSwgMC40NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNzAwOiBoc2xhKDI4OSwgOTklLCA1OSUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTgwMDogaHNsYSgyOTQsIDk4JSwgNjMlLCAwLjcxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS05MDA6IGhzbGEoMjk1LCA5NyUsIDcyJSwgMC44KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDAwOiBoc2xhKDI5NiwgOTglLCA3OCUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTExMDA6IGhzbGEoMjk3LCA5OCUsIDgyJSwgMC44Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTIwMDogaHNsYSgyOTYsIDk3JSwgODglLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMzAwOiBoc2xhKDI5NiwgMTAwJSwgOTQlLCAwLjk1KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xNDAwOiBoc2xhKDI5NiwgOTAlLCA5NiUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEwMDogaHNsKDM0NCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0yMDA6IGhzbCgzNDIsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMzAwOiBoc2woMzM5LCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTQwMDogaHNsKDMzNSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay01MDA6IGhzbCgzMzAsIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNjAwOiBoc2xhKDMzMywgOTclLCA1MCUsIDAuNDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTcwMDogaHNsYSgzMzQsIDk4JSwgNTMlLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay04MDA6IGhzbGEoMzM1LCA5OSUsIDU1JSwgMC44KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay05MDA6IGhzbGEoMzQwLCA5OSUsIDYzJSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTAwMDogaHNsYSgzNDMsIDEwMCUsIDcwJSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTEwMDogaHNsKDM0NSwgOTglLCA3NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTEyMDA6IGhzbCgzNDYsIDEwMCUsIDg0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTMwMDogaHNsKDM0NywgMTAwJSwgOTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xNDAwOiBoc2woMzQ3LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci10cmFuc3BhcmVudDogcmdiYSgwLDAsMCwwKTtcbn1cbiIsIi5jcGQtdGhlbWUtZGFyay5jcGQtdGhlbWUtZGFyayB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMjogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMzogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTcwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1saW5lYXI6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDEpIDAlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyKSAzMyUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDMpIDY2JSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNCkgMTAwJSk7XG59XG4iLCI6cm9vdCB7XG4gIC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0LWxldmVsLTE6IHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gIC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnktbGV2ZWwtMDogdmFyKC0tY3BkLWNvbG9yLXRoZW1lLWJnKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AxOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tMTEwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMjogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMzogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTcwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNDogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XG4gIC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1saW5lYXI6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDEpIDAlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyKSAzMyUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDMpIDY2JSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wNCkgMTAwJSk7XG59XG4iLCIuY3BkLXRoZW1lLWRhcmstaGMuY3BkLXRoZW1lLWRhcmstaGMge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogIzEwMTMxNztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICMxODFhMWY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjMWQxZjI0O1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogIzI2MjgyZDtcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICMyYjJlMzM7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjM2MzZjQ0O1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogIzRhNGY1NTtcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM2MDY3NzA7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNzk4MThkO1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogI2FjYjRiZDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjYjhiZmM3O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICNjOGNlZDU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogI2Q1ZGFlMTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjZWJlZWYyO1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICNmMmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICMzZTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICM1OTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICM2NDAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICM4MzAwMDk7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICM5ZjBkMWU7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICNjODFlMjg7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNmNTJmMzM7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICNmZjk2OGM7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjZmZhNzlkO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogI2ZmYmRiNTtcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICNmZmNmYzg7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjZmZlOWU2O1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogI2ZmZjJlZjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogIzNjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogIzU4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogIzY1MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogIzgzMDUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogIzk3MjIwNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogI2I0NDAwNztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2QxNWYwYjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogI2Y4OWQ1ODtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICNmYWFkNzM7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjZmRjMTk3O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogI2ZlZDBiMTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICNmZmVhZGI7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjZmZmMmVhO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjM2EwMzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjNDEwOTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjNGMxNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjNTQxZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjNjgyZTAzO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjN2MzZTAyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjOTg1NjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjYjQ3MjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjZTNhYTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogI2ViYjYwNztcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICNmN2M4MTY7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjZmVkNjMyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogI2ZmZWRiMTtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICNmZmY0ZDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjMDAyMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogIzAwMjYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICMwMDMwMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjMDAzNzAwO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzAwNGEwMDtcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICMwMDVjMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjMTg3NjExO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzMxOTQxZDtcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICM1ZWNhMmY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzZhZDYzOTtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjOTJlMTc1O1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICNhZmU5OWE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogI2RhZjZkMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjZTlmOWUzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICMwMDFmMGU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogIzAwMjUxMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjMDAyZTFiO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICMwMDM2MjI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzAwNDgzMjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMDA1YTQzO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMDc0NWM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzEwOTE3MztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMzdjOTk4O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjNjFkMmE2O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjOGZkZGJjO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjYWNlNmNjO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjZDlmNGU3O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjZTlmOGYxO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogIzAwMTQ0ODtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICMwMDFiNGU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjMDAyNTU5O1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogIzAwMmQ2MTtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICMwMDNmNzU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMDA1MTg4O1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwNmNhNDtcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMDhhYmE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjNDZjM2QyO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICM2YmNjZDk7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzkzZDllMjtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjYWZlMmU5O1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICNkYmYyZjU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogI2VhZjdmOTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICMwMDA5NWQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjMDAxMjY0O1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogIzAwMWU2ZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICMwMzI2Nzc7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjMDgzODkxO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzBiNDlhYjtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICMwZTYxZDE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMzM3ZmU5O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzg5YjVmNjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjOWFjMGY4O1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICNiMmNmZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogI2M1ZGJmYztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjZTRlZWZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICNlZmY1ZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICMxYzAwNWE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICMyMjAwNmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICMyYzAwODA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICMzNTAwOTA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICM0YTBkYjE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICM1YTI3YzY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM3MzQzZTY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM4YjY2Zjg7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICNiNmE3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjYzBiNWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogI2NlYzdmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICNkYWQ1ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjZWVlYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogI2Y1ZjNmZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICMyZTAwNDQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjMzcwMDRlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogIzQ2MDA1ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICM0ZjAzNjg7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjNjUxNzdkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogIzdkMjM5NDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICNhMjMzYjM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYzE1M2NiO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogI2RkOWRlMztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjZTNhYmU3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICNlYWMwZWQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogI2YwY2ZmMjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjZjhlOWY5O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICNmYmYxZmI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjM2MwMDEyO1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogIzQ1MDAxODtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICM1NTAwMjQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjNjEwMDJkO1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogIzdjMGM0MTtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICM5OTExNGY7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjYzUxNzYxO1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2YxMmM3NTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICNmZjkyYWM7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogI2ZmYTRiOTtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjZmZiYmNhO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICNmZmNjZDc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogI2ZmZThlZDtcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjZmZmMWY0O1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyODYsIDMxJSwgODIlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjgwLCA0MSUsIDkwJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDI3MCwgMzclLCA5MyUsIDAuMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwOiBoc2xhKDIyNywgMjklLCA5MSUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMjUsIDQ2JSwgOTUlLCAwLjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTYwMDogaHNsYSgyMTMsIDg1JSwgOTUlLCAwLjI3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDA6IGhzbGEoMjE0LCA3OSUsIDkzJSwgMC4zOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwOiBoc2xhKDIxNiwgOTQlLCA5MyUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMTEsIDkxJSwgOTYlLCAwLjcyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDAwOiBoc2xhKDIxMywgMTAwJSwgOTclLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxMiwgMTAwJSwgOTclLCAwLjgyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMjAwOiBoc2xhKDIxNywgNzclLCA5NyUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjE0LCA3OCUsIDk4JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMDQsIDcxJSwgOTklLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0yMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2woMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTQwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC01MDA6IGhzbCgzNTYsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbGEoMzU0LCA5OSUsIDUyJSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSgzNTcsIDEwMCUsIDU3JSwgMC43Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC04MDA6IGhzbGEoMzU5LCAxMDAlLCA1OSUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtOTAwOiBoc2woNSwgMTAwJSwgNzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDA6IGhzbCg2LCAxMDAlLCA4MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDYsIDEwMCUsIDg2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woOCwgMTAwJSwgODklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCg3LCAxMDAlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDExLCAxMDAlLCA5NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTIwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0zMDA6IGhzbCgwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2woMCwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTUwMDogaHNsKDIsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS02MDA6IGhzbGEoMTIsIDEwMCUsIDM5JSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMjAsIDEwMCUsIDQ5JSwgMC43KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTgwMDogaHNsYSgyNiwgOTklLCA1MSUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtOTAwOiBoc2xhKDI2LCA5OCUsIDY3JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDAwOiBoc2xhKDI2LCAxMDAlLCA3MyUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTEwMDogaHNsKDI1LCA5NiUsIDc5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMjAwOiBoc2woMjQsIDk4JSwgODUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEzMDA6IGhzbCgyNSwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgyMywgMTAwJSwgOTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsKDMsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0yMDA6IGhzbCg4LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2woMTYsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy00MDA6IGhzbCgyMSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsYSgyNiwgMTAwJSwgMjMlLCAwLjg3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTYwMDogaHNsYSgzMCwgMTAwJSwgMjYlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDM0LCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzgsIDEwMCUsIDM1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCg0NSwgMTAwJSwgNDUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbGEoNDYsIDk5JSwgNTElLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbGEoNDgsIDk5JSwgNTQlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCg0OCwgOTklLCA2MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTMwMDogaHNsKDQ2LCAxMDAlLCA4NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTQwMDogaHNsKDQ2LCAxMDAlLCA5MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsKDEyMCwgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTIwMDogaHNsKDEyMCwgMTAwJSwgOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsKDEyMCwgMTAwJSwgOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsKDEyMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbCgxMjAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2woMTIwLCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMTQsIDEwMCUsIDUyJSwgMC40Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDEwOSwgOTklLCA1NyUsIDAuNTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMDEsIDk5JSwgNjAlLCAwLjc4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2xhKDEwMSwgOTklLCA2MiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbGEoMTAzLCA5NyUsIDc1JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsYSgxMDMsIDk4JSwgODMlLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMzAwOiBoc2xhKDEwNSwgOTElLCA5MiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbGEoMTA0LCA5MiUsIDk1JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsKDE0NywgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbCgxNTEsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2woMTU1LCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsKDE1OCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2woMTYyLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsKDE2OCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2xhKDE2NSwgOTglLCA1MyUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbGEoMTU5LCA5NyUsIDYyJSwgMC43OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbGEoMTU2LCAxMDAlLCA3MyUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2xhKDE1NCwgOTglLCA4MiUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2xhKDE1MywgOTQlLCA4NyUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbGEoMTUyLCA4OCUsIDk0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbGEoMTUwLCA4MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwOiBoc2woMjIzLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTIwMDogaHNsKDIxOSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0zMDA6IGhzbCgyMTUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2woMjEyLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTUwMDogaHNsKDIwOCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbCgyMDQsIDEwMCUsIDI3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2woMjAwLCAxMDAlLCAzMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5NSwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbGEoMTg2LCA5OSUsIDY2JSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsYSgxODcsIDk5JSwgNzQlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2xhKDE4NywgOTglLCA4MiUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbGEoMTg4LCA5NyUsIDg3JSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsYSgxODcsIDkzJSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2xhKDE4NywgODklLCA5NyUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsKDIzNCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0yMDA6IGhzbCgyMjksIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwOiBoc2woMjI0LCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMjIsIDEwMCUsIDI4JSwgMC44Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNTAwOiBoc2xhKDIxOSwgOTklLCA1MCUsIDAuNTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTYwMDogaHNsYSgyMTcsIDk5JSwgNTElLCAwLjY0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS03MDA6IGhzbGEoMjE1LCA5OCUsIDUyJSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtODAwOiBoc2xhKDIxNSwgOTklLCA2MCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTYsIDk3JSwgNzclLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxNiwgMTAwJSwgODElLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMTAwOiBoc2xhKDIxNiwgMTAwJSwgODYlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMjAwOiBoc2xhKDIxNiwgOTclLCA4OSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEzMDA6IGhzbCgyMTcsIDkzJSwgOTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjE2LCA4OCUsIDk3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDA6IGhzbCgyNTksIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0yMDA6IGhzbCgyNTksIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbCgyNjEsIDEwMCUsIDI1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS00MDA6IGhzbCgyNjIsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS01MDA6IGhzbGEoMjYzLCA5OCUsIDUyJSwgMC42Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjYwLCA5OCUsIDU4JSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS03MDA6IGhzbGEoMjU4LCA5OCUsIDY0JSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTUsIDEwMCUsIDcxJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS05MDA6IGhzbCgyNTAsIDEwMCUsIDgzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2woMjQ5LCAxMDAlLCA4NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTEwMDogaHNsKDI0OCwgMTAwJSwgODklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEyMDA6IGhzbCgyNDcsIDEwMCUsIDkyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMzAwOiBoc2woMjQ5LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTQwMDogaHNsKDI1MCwgMTAwJSwgOTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDA6IGhzbCgyODEsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMjAwOiBoc2woMjgyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTMwMDogaHNsKDI4NSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS00MDA6IGhzbGEoMjg2LCAxMDAlLCAyMyUsIDAuODUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyODgsIDEwMCUsIDU2JSwgMC40NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI4OSwgOTklLCA1OSUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTcwMDogaHNsYSgyOTMsIDk3JSwgNjIlLCAwLjY4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk2LCA5OSUsIDcwJSwgMC43OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI5NSwgMTAwJSwgODUlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDAwOiBoc2xhKDI5NiwgOTclLCA4NyUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyOTYsIDkyJSwgOTAlLCAwLjkzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI5NywgOTUlLCA5MiUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbGEoMjk2LCA5MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsYSgzMDAsIDcxJSwgOTclLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbCgzNDIsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMjAwOiBoc2woMzM5LCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTMwMDogaHNsKDMzNSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbCgzMzIsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNTAwOiBoc2xhKDMzMywgOTclLCA1MCUsIDAuNDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTYwMDogaHNsYSgzMzQsIDk4JSwgNTMlLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzM1LCA5OSUsIDU1JSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstODAwOiBoc2xhKDMzOCwgOTglLCA1OCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTkwMDogaHNsKDM0NiwgMTAwJSwgNzklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2woMzQ2LCAxMDAlLCA4MiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTExMDA6IGhzbCgzNDcsIDEwMCUsIDg3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDM0NywgMTAwJSwgOTAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzQ3LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDcsIDEwMCUsIDk3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLXRyYW5zcGFyZW50OiByZ2JhKDAsMCwwLDApO1xufVxuIiwiOnJvb3Qge1xuICAtLWNwZC1jb2xvci10aGVtZS1iZzogIzEwMTMxNztcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDA6ICMxODFhMWY7XG4gIC0tY3BkLWNvbG9yLWdyYXktMjAwOiAjMWQxZjI0O1xuICAtLWNwZC1jb2xvci1ncmF5LTMwMDogIzI2MjgyZDtcbiAgLS1jcGQtY29sb3ItZ3JheS00MDA6ICMyYjJlMzM7XG4gIC0tY3BkLWNvbG9yLWdyYXktNTAwOiAjM2MzZjQ0O1xuICAtLWNwZC1jb2xvci1ncmF5LTYwMDogIzRhNGY1NTtcbiAgLS1jcGQtY29sb3ItZ3JheS03MDA6ICM2MDY3NzA7XG4gIC0tY3BkLWNvbG9yLWdyYXktODAwOiAjNzk4MThkO1xuICAtLWNwZC1jb2xvci1ncmF5LTkwMDogI2FjYjRiZDtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMDAwOiAjYjhiZmM3O1xuICAtLWNwZC1jb2xvci1ncmF5LTExMDA6ICNjOGNlZDU7XG4gIC0tY3BkLWNvbG9yLWdyYXktMTIwMDogI2Q1ZGFlMTtcbiAgLS1jcGQtY29sb3ItZ3JheS0xMzAwOiAjZWJlZWYyO1xuICAtLWNwZC1jb2xvci1ncmF5LTE0MDA6ICNmMmY1Zjc7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDA6ICMzZTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0yMDA6ICM0NzAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC0zMDA6ICM1OTAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC00MDA6ICM2NDAwMDA7XG4gIC0tY3BkLWNvbG9yLXJlZC01MDA6ICM4MzAwMDk7XG4gIC0tY3BkLWNvbG9yLXJlZC02MDA6ICM5ZjBkMWU7XG4gIC0tY3BkLWNvbG9yLXJlZC03MDA6ICNjODFlMjg7XG4gIC0tY3BkLWNvbG9yLXJlZC04MDA6ICNmNTJmMzM7XG4gIC0tY3BkLWNvbG9yLXJlZC05MDA6ICNmZjk2OGM7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMDAwOiAjZmZhNzlkO1xuICAtLWNwZC1jb2xvci1yZWQtMTEwMDogI2ZmYmRiNTtcbiAgLS1jcGQtY29sb3ItcmVkLTEyMDA6ICNmZmNmYzg7XG4gIC0tY3BkLWNvbG9yLXJlZC0xMzAwOiAjZmZlOWU2O1xuICAtLWNwZC1jb2xvci1yZWQtMTQwMDogI2ZmZjJlZjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDogIzNjMDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTIwMDogIzQ3MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTMwMDogIzU4MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTQwMDogIzY1MDAwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTUwMDogIzgzMDUwMDtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTYwMDogIzk3MjIwNjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTcwMDogI2I0NDAwNztcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTgwMDogI2QxNWYwYjtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTkwMDogI2Y4OWQ1ODtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEwMDA6ICNmYWFkNzM7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xMTAwOiAjZmRjMTk3O1xuICAtLWNwZC1jb2xvci1vcmFuZ2UtMTIwMDogI2ZlZDBiMTtcbiAgLS1jcGQtY29sb3Itb3JhbmdlLTEzMDA6ICNmZmVhZGI7XG4gIC0tY3BkLWNvbG9yLW9yYW5nZS0xNDAwOiAjZmZmMmVhO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwOiAjM2EwMzAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMjAwOiAjNDEwOTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMzAwOiAjNGMxNDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNDAwOiAjNTQxZDAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNTAwOiAjNjgyZTAzO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNjAwOiAjN2MzZTAyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctNzAwOiAjOTg1NjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctODAwOiAjYjQ3MjAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctOTAwOiAjZTNhYTAwO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTAwMDogI2ViYjYwNztcbiAgLS1jcGQtY29sb3IteWVsbG93LTExMDA6ICNmN2M4MTY7XG4gIC0tY3BkLWNvbG9yLXllbGxvdy0xMjAwOiAjZmVkNjMyO1xuICAtLWNwZC1jb2xvci15ZWxsb3ctMTMwMDogI2ZmZWRiMTtcbiAgLS1jcGQtY29sb3IteWVsbG93LTE0MDA6ICNmZmY0ZDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwOiAjMDAyMDAwO1xuICAtLWNwZC1jb2xvci1saW1lLTIwMDogIzAwMjYwMDtcbiAgLS1jcGQtY29sb3ItbGltZS0zMDA6ICMwMDMwMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNDAwOiAjMDAzNzAwO1xuICAtLWNwZC1jb2xvci1saW1lLTUwMDogIzAwNGEwMDtcbiAgLS1jcGQtY29sb3ItbGltZS02MDA6ICMwMDVjMDA7XG4gIC0tY3BkLWNvbG9yLWxpbWUtNzAwOiAjMTg3NjExO1xuICAtLWNwZC1jb2xvci1saW1lLTgwMDogIzMxOTQxZDtcbiAgLS1jcGQtY29sb3ItbGltZS05MDA6ICM1ZWNhMmY7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTAwMDogIzZhZDYzOTtcbiAgLS1jcGQtY29sb3ItbGltZS0xMTAwOiAjOTJlMTc1O1xuICAtLWNwZC1jb2xvci1saW1lLTEyMDA6ICNhZmU5OWE7XG4gIC0tY3BkLWNvbG9yLWxpbWUtMTMwMDogI2RhZjZkMDtcbiAgLS1jcGQtY29sb3ItbGltZS0xNDAwOiAjZTlmOWUzO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDA6ICMwMDFmMGU7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTIwMDogIzAwMjUxMztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tMzAwOiAjMDAyZTFiO1xuICAtLWNwZC1jb2xvci1ncmVlbi00MDA6ICMwMDM2MjI7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTUwMDogIzAwNDgzMjtcbiAgLS1jcGQtY29sb3ItZ3JlZW4tNjAwOiAjMDA1YTQzO1xuICAtLWNwZC1jb2xvci1ncmVlbi03MDA6ICMwMDc0NWM7XG4gIC0tY3BkLWNvbG9yLWdyZWVuLTgwMDogIzEwOTE3MztcbiAgLS1jcGQtY29sb3ItZ3JlZW4tOTAwOiAjMzdjOTk4O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMDAwOiAjNjFkMmE2O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMTAwOiAjOGZkZGJjO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMjAwOiAjYWNlNmNjO1xuICAtLWNwZC1jb2xvci1ncmVlbi0xMzAwOiAjZDlmNGU3O1xuICAtLWNwZC1jb2xvci1ncmVlbi0xNDAwOiAjZTlmOGYxO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDogIzAwMTQ0ODtcbiAgLS1jcGQtY29sb3ItY3lhbi0yMDA6ICMwMDFiNGU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMzAwOiAjMDAyNTU5O1xuICAtLWNwZC1jb2xvci1jeWFuLTQwMDogIzAwMmQ2MTtcbiAgLS1jcGQtY29sb3ItY3lhbi01MDA6ICMwMDNmNzU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tNjAwOiAjMDA1MTg4O1xuICAtLWNwZC1jb2xvci1jeWFuLTcwMDogIzAwNmNhNDtcbiAgLS1jcGQtY29sb3ItY3lhbi04MDA6ICMwMDhhYmE7XG4gIC0tY3BkLWNvbG9yLWN5YW4tOTAwOiAjNDZjM2QyO1xuICAtLWNwZC1jb2xvci1jeWFuLTEwMDA6ICM2YmNjZDk7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTEwMDogIzkzZDllMjtcbiAgLS1jcGQtY29sb3ItY3lhbi0xMjAwOiAjYWZlMmU5O1xuICAtLWNwZC1jb2xvci1jeWFuLTEzMDA6ICNkYmYyZjU7XG4gIC0tY3BkLWNvbG9yLWN5YW4tMTQwMDogI2VhZjdmOTtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDA6ICMwMDA5NWQ7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMjAwOiAjMDAxMjY0O1xuICAtLWNwZC1jb2xvci1ibHVlLTMwMDogIzAwMWU2ZjtcbiAgLS1jcGQtY29sb3ItYmx1ZS00MDA6ICMwMzI2Nzc7XG4gIC0tY3BkLWNvbG9yLWJsdWUtNTAwOiAjMDgzODkxO1xuICAtLWNwZC1jb2xvci1ibHVlLTYwMDogIzBiNDlhYjtcbiAgLS1jcGQtY29sb3ItYmx1ZS03MDA6ICMwZTYxZDE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtODAwOiAjMzM3ZmU5O1xuICAtLWNwZC1jb2xvci1ibHVlLTkwMDogIzg5YjVmNjtcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMDAwOiAjOWFjMGY4O1xuICAtLWNwZC1jb2xvci1ibHVlLTExMDA6ICNiMmNmZmE7XG4gIC0tY3BkLWNvbG9yLWJsdWUtMTIwMDogI2M1ZGJmYztcbiAgLS1jcGQtY29sb3ItYmx1ZS0xMzAwOiAjZTRlZWZlO1xuICAtLWNwZC1jb2xvci1ibHVlLTE0MDA6ICNlZmY1ZmU7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDA6ICMxYzAwNWE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0yMDA6ICMyMjAwNmE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0zMDA6ICMyYzAwODA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS00MDA6ICMzNTAwOTA7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS01MDA6ICM0YTBkYjE7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS02MDA6ICM1YTI3YzY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS03MDA6ICM3MzQzZTY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS04MDA6ICM4YjY2Zjg7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS05MDA6ICNiNmE3ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMDAwOiAjYzBiNWZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTEwMDogI2NlYzdmZjtcbiAgLS1jcGQtY29sb3ItcHVycGxlLTEyMDA6ICNkYWQ1ZmY7XG4gIC0tY3BkLWNvbG9yLXB1cnBsZS0xMzAwOiAjZWVlYmZmO1xuICAtLWNwZC1jb2xvci1wdXJwbGUtMTQwMDogI2Y1ZjNmZjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDA6ICMyZTAwNDQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMjAwOiAjMzcwMDRlO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTMwMDogIzQ2MDA1ZTtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS00MDA6ICM0ZjAzNjg7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtNTAwOiAjNjUxNzdkO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTYwMDogIzdkMjM5NDtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS03MDA6ICNhMjMzYjM7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtODAwOiAjYzE1M2NiO1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTkwMDogI2RkOWRlMztcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMDAwOiAjZTNhYmU3O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTExMDA6ICNlYWMwZWQ7XG4gIC0tY3BkLWNvbG9yLWZ1Y2hzaWEtMTIwMDogI2YwY2ZmMjtcbiAgLS1jcGQtY29sb3ItZnVjaHNpYS0xMzAwOiAjZjhlOWY5O1xuICAtLWNwZC1jb2xvci1mdWNoc2lhLTE0MDA6ICNmYmYxZmI7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwOiAjM2MwMDEyO1xuICAtLWNwZC1jb2xvci1waW5rLTIwMDogIzQ1MDAxODtcbiAgLS1jcGQtY29sb3ItcGluay0zMDA6ICM1NTAwMjQ7XG4gIC0tY3BkLWNvbG9yLXBpbmstNDAwOiAjNjEwMDJkO1xuICAtLWNwZC1jb2xvci1waW5rLTUwMDogIzdjMGM0MTtcbiAgLS1jcGQtY29sb3ItcGluay02MDA6ICM5OTExNGY7XG4gIC0tY3BkLWNvbG9yLXBpbmstNzAwOiAjYzUxNzYxO1xuICAtLWNwZC1jb2xvci1waW5rLTgwMDogI2YxMmM3NTtcbiAgLS1jcGQtY29sb3ItcGluay05MDA6ICNmZjkyYWM7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTAwMDogI2ZmYTRiOTtcbiAgLS1jcGQtY29sb3ItcGluay0xMTAwOiAjZmZiYmNhO1xuICAtLWNwZC1jb2xvci1waW5rLTEyMDA6ICNmZmNjZDc7XG4gIC0tY3BkLWNvbG9yLXBpbmstMTMwMDogI2ZmZThlZDtcbiAgLS1jcGQtY29sb3ItcGluay0xNDAwOiAjZmZmMWY0O1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEwMDogaHNsYSgyODYsIDMxJSwgODIlLCAwLjA0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0yMDA6IGhzbGEoMjgwLCA0MSUsIDkwJSwgMC4wNik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMzAwOiBoc2xhKDI3MCwgMzclLCA5MyUsIDAuMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwOiBoc2xhKDIyNywgMjklLCA5MSUsIDAuMTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTUwMDogaHNsYSgyMjUsIDQ2JSwgOTUlLCAwLjIpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTYwMDogaHNsYSgyMTMsIDg1JSwgOTUlLCAwLjI3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS03MDA6IGhzbGEoMjE0LCA3OSUsIDkzJSwgMC4zOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktODAwOiBoc2xhKDIxNiwgOTQlLCA5MyUsIDAuNTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTkwMDogaHNsYSgyMTEsIDkxJSwgOTYlLCAwLjcyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMDAwOiBoc2xhKDIxMywgMTAwJSwgOTclLCAwLjc2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMTAwOiBoc2xhKDIxMiwgMTAwJSwgOTclLCAwLjgyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JheS0xMjAwOiBoc2xhKDIxNywgNzclLCA5NyUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmF5LTEzMDA6IGhzbGEoMjE0LCA3OCUsIDk4JSwgMC45NSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMDogaHNsYSgyMDQsIDcxJSwgOTklLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDogaHNsKDAsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0yMDA6IGhzbCgwLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMzAwOiBoc2woMCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTQwMDogaHNsKDAsIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC01MDA6IGhzbCgzNTYsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC02MDA6IGhzbGEoMzU0LCA5OSUsIDUyJSwgMC42KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTcwMDogaHNsYSgzNTcsIDEwMCUsIDU3JSwgMC43Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC04MDA6IGhzbGEoMzU5LCAxMDAlLCA1OSUsIDAuOTYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtOTAwOiBoc2woNSwgMTAwJSwgNzglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEwMDA6IGhzbCg2LCAxMDAlLCA4MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTEwMDogaHNsKDYsIDEwMCUsIDg2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXJlZC0xMjAwOiBoc2woOCwgMTAwJSwgODklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcmVkLTEzMDA6IGhzbCg3LCAxMDAlLCA5NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1yZWQtMTQwMDogaHNsKDExLCAxMDAlLCA5NyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTAwOiBoc2woMCwgMTAwJSwgMTIlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTIwMDogaHNsKDAsIDEwMCUsIDE0JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0zMDA6IGhzbCgwLCAxMDAlLCAxNyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtNDAwOiBoc2woMCwgMTAwJSwgMjAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTUwMDogaHNsKDIsIDEwMCUsIDI2JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS02MDA6IGhzbGEoMTIsIDEwMCUsIDM5JSwgMC43NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS03MDA6IGhzbGEoMjAsIDEwMCUsIDQ5JSwgMC43KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTgwMDogaHNsYSgyNiwgOTklLCA1MSUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtOTAwOiBoc2xhKDI2LCA5OCUsIDY3JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMDAwOiBoc2xhKDI2LCAxMDAlLCA3MyUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1vcmFuZ2UtMTEwMDogaHNsKDI1LCA5NiUsIDc5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLW9yYW5nZS0xMjAwOiBoc2woMjQsIDk4JSwgODUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTEzMDA6IGhzbCgyNSwgMTAwJSwgOTMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtb3JhbmdlLTE0MDA6IGhzbCgyMywgMTAwJSwgOTYlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDogaHNsKDMsIDEwMCUsIDExJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy0yMDA6IGhzbCg4LCAxMDAlLCAxMyUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMzAwOiBoc2woMTYsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy00MDA6IGhzbCgyMSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTUwMDogaHNsYSgyNiwgMTAwJSwgMjMlLCAwLjg3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTYwMDogaHNsYSgzMCwgMTAwJSwgMjYlLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTcwMDogaHNsKDM0LCAxMDAlLCAzMCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctODAwOiBoc2woMzgsIDEwMCUsIDM1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXllbGxvdy05MDA6IGhzbCg0NSwgMTAwJSwgNDUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEwMDA6IGhzbGEoNDYsIDk5JSwgNTElLCAwLjkyKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTExMDA6IGhzbGEoNDgsIDk5JSwgNTQlLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEteWVsbG93LTEyMDA6IGhzbCg0OCwgOTklLCA2MCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTMwMDogaHNsKDQ2LCAxMDAlLCA4NSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS15ZWxsb3ctMTQwMDogaHNsKDQ2LCAxMDAlLCA5MSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTEwMDogaHNsKDEyMCwgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTIwMDogaHNsKDEyMCwgMTAwJSwgOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTMwMDogaHNsKDEyMCwgMTAwJSwgOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTQwMDogaHNsKDEyMCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS01MDA6IGhzbCgxMjAsIDEwMCUsIDE1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtNjAwOiBoc2woMTIwLCAxMDAlLCAxOCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTcwMDogaHNsYSgxMTQsIDEwMCUsIDUyJSwgMC40Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtODAwOiBoc2xhKDEwOSwgOTklLCA1NyUsIDAuNTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTkwMDogaHNsYSgxMDEsIDk5JSwgNjAlLCAwLjc4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMDAwOiBoc2xhKDEwMSwgOTklLCA2MiUsIDAuODMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTExMDA6IGhzbGEoMTAzLCA5NyUsIDc1JSwgMC44OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWxpbWUtMTIwMDogaHNsYSgxMDMsIDk4JSwgODMlLCAwLjkxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtbGltZS0xMzAwOiBoc2xhKDEwNSwgOTElLCA5MiUsIDAuOTcpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1saW1lLTE0MDA6IGhzbGEoMTA0LCA5MiUsIDk1JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDogaHNsKDE0NywgMTAwJSwgNiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0yMDA6IGhzbCgxNTEsIDEwMCUsIDclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tMzAwOiBoc2woMTU1LCAxMDAlLCA5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTQwMDogaHNsKDE1OCwgMTAwJSwgMTElLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tNTAwOiBoc2woMTYyLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi02MDA6IGhzbCgxNjUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTcwMDogaHNsKDE2OCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZ3JlZW4tODAwOiBoc2xhKDE2NSwgOTglLCA1MyUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi05MDA6IGhzbGEoMTU5LCA5NyUsIDYyJSwgMC43OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEwMDA6IGhzbGEoMTU2LCAxMDAlLCA3MyUsIDAuODEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMTAwOiBoc2xhKDE1NCwgOTglLCA4MiUsIDAuODYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ncmVlbi0xMjAwOiBoc2xhKDE1MywgOTQlLCA4NyUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTEzMDA6IGhzbGEoMTUyLCA4OCUsIDk0JSwgMC45Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWdyZWVuLTE0MDA6IGhzbGEoMTUwLCA4MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwOiBoc2woMjIzLCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTIwMDogaHNsKDIxOSwgMTAwJSwgMTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0zMDA6IGhzbCgyMTUsIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNDAwOiBoc2woMjEyLCAxMDAlLCAxOSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTUwMDogaHNsKDIwOCwgMTAwJSwgMjMlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi02MDA6IGhzbCgyMDQsIDEwMCUsIDI3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tNzAwOiBoc2woMjAwLCAxMDAlLCAzMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTgwMDogaHNsKDE5NSwgMTAwJSwgMzclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi05MDA6IGhzbGEoMTg2LCA5OSUsIDY2JSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTAwMDogaHNsYSgxODcsIDk5JSwgNzQlLCAwLjg0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xMTAwOiBoc2xhKDE4NywgOTglLCA4MiUsIDAuODgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1jeWFuLTEyMDA6IGhzbGEoMTg4LCA5NyUsIDg3JSwgMC45MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWN5YW4tMTMwMDogaHNsYSgxODcsIDkzJSwgOTQlLCAwLjk2KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtY3lhbi0xNDAwOiBoc2xhKDE4NywgODklLCA5NyUsIDAuOTgpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEwMDogaHNsKDIzNCwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0yMDA6IGhzbCgyMjksIDEwMCUsIDIwJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtMzAwOiBoc2woMjI0LCAxMDAlLCAyMiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTQwMDogaHNsYSgyMjIsIDEwMCUsIDI4JSwgMC44Mik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtNTAwOiBoc2xhKDIxOSwgOTklLCA1MCUsIDAuNTMpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTYwMDogaHNsYSgyMTcsIDk5JSwgNTElLCAwLjY0KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS03MDA6IGhzbGEoMjE1LCA5OCUsIDUyJSwgMC44MSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWJsdWUtODAwOiBoc2xhKDIxNSwgOTklLCA2MCUsIDAuOTEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTkwMDogaHNsYSgyMTYsIDk3JSwgNzclLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMDAwOiBoc2xhKDIxNiwgMTAwJSwgODElLCAwLjk3KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMTAwOiBoc2xhKDIxNiwgMTAwJSwgODYlLCAwLjk4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xMjAwOiBoc2xhKDIxNiwgOTclLCA4OSUsIDAuOTkpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1ibHVlLTEzMDA6IGhzbCgyMTcsIDkzJSwgOTUlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtYmx1ZS0xNDAwOiBoc2woMjE2LCA4OCUsIDk3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDA6IGhzbCgyNTksIDEwMCUsIDE4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0yMDA6IGhzbCgyNTksIDEwMCUsIDIxJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0zMDA6IGhzbCgyNjEsIDEwMCUsIDI1JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS00MDA6IGhzbCgyNjIsIDEwMCUsIDI4JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS01MDA6IGhzbGEoMjYzLCA5OCUsIDUyJSwgMC42Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS02MDA6IGhzbGEoMjYwLCA5OCUsIDU4JSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS03MDA6IGhzbGEoMjU4LCA5OCUsIDY0JSwgMC45KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTgwMDogaHNsYSgyNTUsIDEwMCUsIDcxJSwgMC45Nyk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS05MDA6IGhzbCgyNTAsIDEwMCUsIDgzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMDAwOiBoc2woMjQ5LCAxMDAlLCA4NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTEwMDogaHNsKDI0OCwgMTAwJSwgODklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcHVycGxlLTEyMDA6IGhzbCgyNDcsIDEwMCUsIDkyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXB1cnBsZS0xMzAwOiBoc2woMjQ5LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1wdXJwbGUtMTQwMDogaHNsKDI1MCwgMTAwJSwgOTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDA6IGhzbCgyODEsIDEwMCUsIDEzJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMjAwOiBoc2woMjgyLCAxMDAlLCAxNSUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTMwMDogaHNsKDI4NSwgMTAwJSwgMTglLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS00MDA6IGhzbGEoMjg2LCAxMDAlLCAyMyUsIDAuODUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTUwMDogaHNsYSgyODgsIDEwMCUsIDU2JSwgMC40NCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtNjAwOiBoc2xhKDI4OSwgOTklLCA1OSUsIDAuNTQpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTcwMDogaHNsYSgyOTMsIDk3JSwgNjIlLCAwLjY4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS04MDA6IGhzbGEoMjk2LCA5OSUsIDcwJSwgMC43OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtOTAwOiBoc2xhKDI5NSwgMTAwJSwgODUlLCAwLjg4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMDAwOiBoc2xhKDI5NiwgOTclLCA4NyUsIDAuOSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTEwMDogaHNsYSgyOTYsIDkyJSwgOTAlLCAwLjkzKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtZnVjaHNpYS0xMjAwOiBoc2xhKDI5NywgOTUlLCA5MiUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1mdWNoc2lhLTEzMDA6IGhzbGEoMjk2LCA5MCUsIDk2JSwgMC45OCk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLWZ1Y2hzaWEtMTQwMDogaHNsYSgzMDAsIDcxJSwgOTclLCAwLjk5KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDA6IGhzbCgzNDIsIDEwMCUsIDEyJSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMjAwOiBoc2woMzM5LCAxMDAlLCAxNCUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTMwMDogaHNsKDMzNSwgMTAwJSwgMTclLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay00MDA6IGhzbCgzMzIsIDEwMCUsIDE5JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstNTAwOiBoc2xhKDMzMywgOTclLCA1MCUsIDAuNDYpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTYwMDogaHNsYSgzMzQsIDk4JSwgNTMlLCAwLjU4KTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay03MDA6IGhzbGEoMzM1LCA5OSUsIDU1JSwgMC43Nik7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstODAwOiBoc2xhKDMzOCwgOTglLCA1OCUsIDAuOTUpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTkwMDogaHNsKDM0NiwgMTAwJSwgNzklLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMDAwOiBoc2woMzQ2LCAxMDAlLCA4MiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTExMDA6IGhzbCgzNDcsIDEwMCUsIDg3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLWFscGhhLXBpbmstMTIwMDogaHNsKDM0NywgMTAwJSwgOTAlLCAxKTtcbiAgLS1jcGQtY29sb3ItYWxwaGEtcGluay0xMzAwOiBoc2woMzQ3LCAxMDAlLCA5NiUsIDEpO1xuICAtLWNwZC1jb2xvci1hbHBoYS1waW5rLTE0MDA6IGhzbCgzNDcsIDEwMCUsIDk3JSwgMSk7XG4gIC0tY3BkLWNvbG9yLXRyYW5zcGFyZW50OiByZ2JhKDAsMCwwLDApO1xufVxuIiwiLmNwZC10aGVtZS1kYXJrLWhjLmNwZC10aGVtZS1kYXJrLWhjIHtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQtbGV2ZWwtMTogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeS1sZXZlbC0wOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDE6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLWxpbmVhcjogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMSkgMCUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDIpIDMzJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMykgNjYlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0KSAxMDAlKTtcbn1cbiIsIjpyb290IHtcbiAgLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQtbGV2ZWwtMTogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeS1sZXZlbC0wOiB2YXIoLS1jcGQtY29sb3ItdGhlbWUtYmcpO1xuICAtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDE6IHZhcigtLWNwZC1jb2xvci1ncmVlbi0xMTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AyOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tOTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3AzOiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNzAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0OiB2YXIoLS1jcGQtY29sb3ItZ3JlZW4tNTAwKTtcbiAgLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLWxpbmVhcjogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMSkgMCUsIHZhcigtLWNwZC1jb2xvci1ncmFkaWVudC1hY3Rpb24tc3RvcDIpIDMzJSwgdmFyKC0tY3BkLWNvbG9yLWdyYWRpZW50LWFjdGlvbi1zdG9wMykgNjYlLCB2YXIoLS1jcGQtY29sb3ItZ3JhZGllbnQtYWN0aW9uLXN0b3A0KSAxMDAlKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZFxuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuICovXG5cbi5fcGlsbF8xODd0bl84IHtcbiAgYm9yZGVyLXJhZGl1czogMzhweDtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS14cy1zZW1pYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc3VjY2Vzcy1wcmltYXJ5KTtcbiAgcGFkZGluZzogMCB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBibG9jay1zaXplOiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLl9waWxsXzE4N3RuXzgge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLypcbiAqIENvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcbiAqIFBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4gKi9cblxuLl91bnJlYWRfY3RpMGZfOCB7XG4gIGlubGluZS1zaXplOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXYge1xuICAgIGJsb2NrLXNpemU6IDhweDtcbiAgICBpbmxpbmUtc2l6ZTogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAuX3VucmVhZF9jdGkwZl84IGRpdiB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG4vKlxuICogQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGRcbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiAqL1xuXG4uX3VucmVhZC1jb3VudGVyXzExNDdyXzgge1xuICBib3JkZXItcmFkaXVzOiAzOHB4O1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXhzLXNlbWlib2xkKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zdWNjZXNzLXByaW1hcnkpO1xuICBibG9jay1zaXplOiAyMHB4O1xuICBtaW4taW5saW5lLXNpemU6IDIwcHg7XG4gIHBhZGRpbmc6IDAgdmFyKC0tY3BkLXNwYWNlLTEtNXgpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5fdW5yZWFkLWNvdW50ZXJfMTE0N3JfOCB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyogVE9ETzogUmV2aWV3IGVudGlyZSBmaWxlIGZvciBzZW1hbnRpYyB0b2tlbiBkZWZpbml0b24gKi9cblxuLl9hbGVydF96eDc2dF8xMCB7XG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgY29udGFpbmVyLW5hbWU6IGFsZXJ0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbn1cblxuLl9hbGVydF96eDc2dF8xMFtkYXRhLXR5cGU9XCJzdWNjZXNzXCJdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTIwMCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTUwMCk7XG59XG5cbi5fYWxlcnRfeng3NnRfMTBbZGF0YS10eXBlPVwiY3JpdGljYWxcIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItcmVkLTIwMCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXJlZC01MDApO1xufVxuXG4uX2FsZXJ0X3p4NzZ0XzEwW2RhdGEtdHlwZT1cImluZm9cIl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmx1ZS0yMDApO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ibHVlLTUwMCk7XG59XG5cbi5fY29udGVudF96eDc2dF8zNyB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbn1cblxuLl90ZXh0LWNvbnRlbnRfeng3NnRfNDQge1xuICBmbGV4OiAxIDEgMDtcbn1cblxuW2RhdGEtdHlwZT1cInN1Y2Nlc3NcIl0gOmlzKC5fdGl0bGVfeng3NnRfNDgsIC5faWNvbl96eDc2dF80OCkge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWdyZWVuLTkwMCk7XG59XG5cbltkYXRhLXR5cGU9XCJjcml0aWNhbFwiXSA6aXMoLl90aXRsZV96eDc2dF80OCwgLl9pY29uX3p4NzZ0XzQ4KSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItcmVkLTkwMCk7XG59XG5cbltkYXRhLXR5cGU9XCJpbmZvXCJdIDppcyguX3RpdGxlX3p4NzZ0XzQ4LCAuX2ljb25feng3NnRfNDgpIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1ibHVlLTkwMCk7XG59XG5cbi5fYWxlcnRfeng3NnRfMTAgcCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLl9hY3Rpb25zX3p4NzZ0XzY0IHtcbiAgZmxleDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5faWNvbl96eDc2dF80OCB7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBAVE9ETyA2MDBweCBicmVhayBzaG91bGQgYmUgYSB0b2tlbiAqL1xuXG4vKiB3cmFwIGFjdGlvbnMgaW50byBhIHN0YWNrZWQgbGF5b3V0IHdoZW4gdGhlIGFsZXJ0IGlzIDw9NjAwcHggKi9cbkBjb250YWluZXIgYWxlcnQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLl9jb250ZW50X3p4NzZ0XzM3IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAuX3RleHQtY29udGVudF96eDc2dF80NCB7XG4gICAgZmxleDogMSAwIDEwMCU7XG4gIH1cbn1cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2ljb24tYnV0dG9uXzEyMTVnXzgge1xuICAtLWNwZC1pY29uLWJ1dHRvbi1pbmRpY2F0b3ItYm9yZGVyLXNpemU6IGNhbGMoXG4gICAgdmFyKC0tY3BkLWljb24tYnV0dG9uLXNpemUpICogMC4wNjI1XG4gICk7XG5cbiAgaW5saW5lLXNpemU6IHZhcigtLWNwZC1pY29uLWJ1dHRvbi1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLWljb24tYnV0dG9uLXNpemUpO1xuXG4gIC8qIHRoZSBpY29uIGlzIDAuNzUgdGhlIHNpemUgb2YgdGhlIGJ1dHRvbiwgc28gYWRkIHBhZGRpbmcgdG8gcHV0IGl0IGluIHRoZSBtaWRkbGUgKi9cbiAgcGFkZGluZzogY2FsYyh2YXIoLS1jcGQtaWNvbi1idXR0b24tc2l6ZSkgKiAwLjEyNSk7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIGJvcmRlcjogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG59XG5cbi5faWNvbi1idXR0b25fMTIxNWdfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdIHtcbiAgKiB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIH1cbn1cblxuLl9pY29uLWJ1dHRvbl8xMjE1Z184W2RhdGEta2luZD1cInNlY29uZGFyeVwiXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcblxuICAqIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgfVxufVxuXG4uX25vLWJhY2tncm91bmRfMTIxNWdfNDJbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5faWNvbi1idXR0b25fMTIxNWdfOFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgKiB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWRpc2FibGVkKTtcbiAgfVxufVxuXG4vKipcbiAqIEhvdmVyIHN0YXRlXG4gKi9cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2ljb24tYnV0dG9uXzEyMTVnXzg6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG5cbiAgICAqIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbiAgICB9XG4gIH1cbn1cblxuLl9pY29uLWJ1dHRvbl8xMjE1Z184Om5vdChbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0pOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG5cbiAgKiB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICB9XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9pY29uLWJ1dHRvbl8xMjE1Z184Om5vdChbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0pW2RhdGEtaW5kaWNhdG9yXTppcyg6aG92ZXIpOjpiZWZvcmUge1xuICAgIC8qIFNhbWUgY29sb3VyIGFzIHRoZSBiYWNrZ3JvdW5kICovXG4gICAgYm9yZGVyOiB2YXIoLS1jcGQtaWNvbi1idXR0b24taW5kaWNhdG9yLWJvcmRlci1zaXplKSBzb2xpZFxuICAgICAgdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICB9XG59XG5cbi5faWNvbi1idXR0b25fMTIxNWdfODpub3QoW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdKVtkYXRhLWluZGljYXRvcl06aXMoOmFjdGl2ZSk6OmJlZm9yZSB7XG4gIC8qIFNhbWUgY29sb3VyIGFzIHRoZSBiYWNrZ3JvdW5kICovXG4gIGJvcmRlcjogdmFyKC0tY3BkLWljb24tYnV0dG9uLWluZGljYXRvci1ib3JkZXItc2l6ZSkgc29saWRcbiAgICB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgaW5zZXQtaW5saW5lLWVuZDogMDtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2ljb24tYnV0dG9uXzEyMTVnXzg6bm90KFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSkuX2Rlc3RydWN0aXZlXzEyMTVnXzk1OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlLWhvdmVyZWQpO1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLXN1YnRsZSk7XG4gIH1cbn1cblxuLl9pY29uLWJ1dHRvbl8xMjE1Z184Om5vdChbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0pLl9kZXN0cnVjdGl2ZV8xMjE1Z185NSB7XG4gICoge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1jcml0aWNhbC1wcmltYXJ5KTtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qXG4gKiBOb3RlIHRoaXMgaXMgdmVyeSBjbG9zZWx5IGNvdXBsZWQgdG8gdGhlIGluZGljYXRvciBtYXNrIFNWRyBhcyB0aGlzIG1hc2tzIG91dFxuICogdGhlIGljb24gYmVoaW5kIHRvIGRyYXcgdGhlICdzdHJva2UnIGFyb3VuZCB0aGUgaW5kaWNhdG9yIGRvdC5cbiAqXG4gKiBUaGUgU1ZHIGlzIGEgMjR4MjRweCBibGFjayBzcXVhcmUgd2l0aCBhIGNpcmNsZSBvZiByYWRpdXMgNiBwb3NpdGlvbmVkXG4gKiA0cHggYWJvdmUgYW5kIHRvIHRoZSByaWdodCBvZiB0aGUgY2FudmFzLiBUaGlzIGlzIHRoZSBzaXplIG9mIHRoZSBpbmRpY2F0b3JcbiAqIGRvdCBwbHVzIHRoZSBzdHJva2UgKGRpbWVuc2lvbnMgY2FsY3VsYXRlZCBmcm9tIHRoZSBmaWdtYSkuXG4gKi9cblxuLl9pbmRpY2F0b3ItaWNvbl8xNDdsNV8xNyB7XG4gIC8qIFRoaXMgaXMgY2FsbGVkICdidXR0b24gc2l6ZScgYnV0IHRoZSBkb2NzIHNheSAnaWNvbiBzaXplJyAqL1xuICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLWljb24tYnV0dG9uLXNpemUpO1xuICBibG9jay1zaXplOiB2YXIoLS1jcGQtaWNvbi1idXR0b24tc2l6ZSk7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLl9pbmRpY2F0b3ItaWNvbl8xNDdsNV8xNyBzdmcge1xuICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgYmxvY2stc2l6ZTogMTAwJTtcbn1cblxuLl9pbmRpY2F0b3ItaWNvbl8xNDdsNV8xN1tkYXRhLWluZGljYXRvcl0gc3ZnIHtcbiAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzYz94bWwlMjB2ZXJzaW9uPScxLjAnJTIwZW5jb2Rpbmc9J1VURi04Jz8lM2UlM2NzdmclMjBmaWxsPSdub25lJyUyMHZlcnNpb249JzEuMSclMjB2aWV3Qm94PScwJTIwMCUyMDI0JTIwMjQnJTIweG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGglMjBkPSdtMCUyMDB2MjRoMjR2LTE2LjM1OWE2JTIwNiUyMDAlMjAwJTIwMS0yJTIwMC4zNTkzOCUyMDYlMjA2JTIwMCUyMDAlMjAxLTYtNiUyMDYlMjA2JTIwMCUyMDAlMjAxJTIwMC4zNTkzOC0yaC0xNi4zNTl6JyUyMGZpbGw9JyUyMzAwMCclMjBzdHJva2Utd2lkdGg9JzAnLyUzZSUzYy9zdmclM2VcIik7XG4gIG1hc2stcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hc2stc2l6ZTogMTAwJTtcbn1cblxuLl9pbmRpY2F0b3ItaWNvbl8xNDdsNV8xN1tkYXRhLWluZGljYXRvcl06OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAvKiBUaGUgZG90IGlzIDEvMTJ0aCBhYm92ZSAmIHRvIHRoZSByaWdodCBvZiB0aGUgY2FudmFzICovXG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAtOC4zMzMzJTtcbiAgaW5zZXQtaW5saW5lLWVuZDogLTguMzMzMyU7XG5cbiAgLyogYW5kIGlzIDEvM3JkIHRoZSBzaXplIG9mIHRoZSBjYW52YXMgKi9cbiAgaW5saW5lLXNpemU6IDMzLjMzMzMlO1xuICBibG9jay1zaXplOiAzMy4zMzMlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgLS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLl9pbmRpY2F0b3ItaWNvbl8xNDdsNV8xN1tkYXRhLWluZGljYXRvcj1cInN1Y2Nlc3NcIl06OmJlZm9yZSB7XG4gIC0tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc3VjY2Vzcy1wcmltYXJ5KTtcbn1cblxuLl9pbmRpY2F0b3ItaWNvbl8xNDdsNV8xN1tkYXRhLWluZGljYXRvcj1cImNyaXRpY2FsXCJdOjpiZWZvcmUge1xuICAtLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAuX2luZGljYXRvci1pY29uXzE0N2w1XzE3W2RhdGEtaW5kaWNhdG9yXTo6YmVmb3JlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDIzLCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fdG9vbHRpcF8xbnFucV84IHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS14cy1tZWRpdW0pO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMS01eCkgdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLl90b29sdGlwXzFucW5xXzguX2ludmlzaWJsZV8xbnFucV8yMSB7XG4gIC8qIEhpZGUgdGhlIHRvb2x0aXAgaW4gYSB3YXkgdGhhdCBhbGxvd3MgaXQgdG8gYWN0IGFzIGFuIGFjY2Vzc2libGUgbGFiZWwsXG4gIGV2ZW4gd2hlbiBpbnZpc2libGUgKi9cbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl9jYXB0aW9uXzFucW5xXzI4IHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWNwZC1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5fYXJyb3dfMW5xbnFfMzMge1xuICAvKiBzYW1lIGNvbG9yIGFzIHRoZSB0b29sdGlwIGJhY2tncm91bmQgKi9cbiAgZmlsbDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktMTQwMCk7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5fdG9vbHRpcF8xbnFucV84Om5vdCguX2ludmlzaWJsZV8xbnFucV8yMSkge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qKlxuICogRm9udCDigJMgQm9keSDigJMgRXh0cmEgU21hbGxcbiAqL1xuXG4uX2ZvbnQtYm9keS14cy1yZWd1bGFyXzZ2Nm44XzEyIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHkteHMpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXhzLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtYm9keS14cy1zZW1pYm9sZF82djZuOF8xNyB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXhzKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS14cy1zZW1pYm9sZCk7XG59XG5cbi5fZm9udC1ib2R5LXhzLW1lZGl1bV82djZuOF8yMiB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXhzKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS14cy1tZWRpdW0pO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEJvZHkg4oCTIFNtYWxsXG4gKi9cblxuLl9mb250LWJvZHktc20tcmVndWxhcl82djZuOF8zMSB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXNtKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbn1cblxuLl9mb250LWJvZHktc20tc2VtaWJvbGRfNnY2bjhfMzYge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1zbSk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tc2VtaWJvbGQpO1xufVxuXG4uX2ZvbnQtYm9keS1zbS1tZWRpdW1fNnY2bjhfNDEge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1zbSk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tbWVkaXVtKTtcbn1cblxuLyoqXG4gKiBGb250IOKAkyBCb2R5IOKAkyBNZWRpdW1cbiAqL1xuXG4uX2ZvbnQtYm9keS1tZC1yZWd1bGFyXzZ2Nm44XzUwIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWJvZHktbWQpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtYm9keS1tZC1zZW1pYm9sZF82djZuOF81NSB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LW1kKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1zZW1pYm9sZCk7XG59XG5cbi5fZm9udC1ib2R5LW1kLW1lZGl1bV82djZuOF82MCB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LW1kKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xufVxuXG4vKipcbiAqIEZvbnQg4oCTIEJvZHkg4oCTIExhcmdlXG4gKi9cblxuLl9mb250LWJvZHktbGctcmVndWxhcl82djZuOF82OSB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LWxnKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1sZy1yZWd1bGFyKTtcbn1cblxuLl9mb250LWJvZHktbGctc2VtaWJvbGRfNnY2bjhfNzQge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1sZyk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbGctc2VtaWJvbGQpO1xufVxuXG4uX2ZvbnQtYm9keS1sZy1tZWRpdW1fNnY2bjhfNzkge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1sZyk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbGctbWVkaXVtKTtcbn1cblxuLyoqXG4gKiBGb250IOKAkyBIZWFkaW5nIOKAkyBTbWFsbFxuICovXG5cbi5fZm9udC1oZWFkaW5nLXNtLXJlZ3VsYXJfNnY2bjhfODgge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1zbSk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctc20tcmVndWxhcik7XG59XG5cbi5fZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkXzZ2Nm44XzkzIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctc20pO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLXNlbWlib2xkKTtcbn1cblxuLl9mb250LWhlYWRpbmctc20tbWVkaXVtXzZ2Nm44Xzk4IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctc20pO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXNtLW1lZGl1bSk7XG59XG5cbi8qKlxuICogRm9udCDigJMgSGVhZGluZyDigJMgTWVkaXVtXG4gKi9cblxuLl9mb250LWhlYWRpbmctbWQtcmVndWxhcl82djZuOF8xMDcge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy1tZCk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmctbWQtcmVndWxhcik7XG59XG5cbi5fZm9udC1oZWFkaW5nLW1kLXNlbWlib2xkXzZ2Nm44XzExMiB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLW1kKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1tZC1zZW1pYm9sZCk7XG59XG5cbi8qKlxuICogRm9udCDigJMgSGVhZGluZyDigJMgTGFyZ2VcbiAqL1xuXG4uX2ZvbnQtaGVhZGluZy1sZy1yZWd1bGFyXzZ2Nm44XzEyMSB7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1oZWFkaW5nLWxnKTtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtaGVhZGluZy1sZy1yZWd1bGFyKTtcbn1cblxuLl9mb250LWhlYWRpbmctbGctc2VtaWJvbGRfNnY2bjhfMTI2IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmctbGcpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLWxnLXNlbWlib2xkKTtcbn1cblxuLyoqXG4gKiBGb250IOKAkyBIZWFkaW5nIOKAkyBFeHRyYSBMYXJnZVxuICovXG5cbi5fZm9udC1oZWFkaW5nLXhsLXJlZ3VsYXJfNnY2bjhfMTM1IHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNwZC1mb250LWxldHRlci1zcGFjaW5nLWhlYWRpbmcteGwpO1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1oZWFkaW5nLXhsLXJlZ3VsYXIpO1xufVxuXG4uX2ZvbnQtaGVhZGluZy14bC1zZW1pYm9sZF82djZuOF8xNDAge1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctaGVhZGluZy14bCk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWhlYWRpbmcteGwtc2VtaWJvbGQpO1xufVxuXG4vKipcbiAgKiBSZXNldCBmb250LWZlYXR1cmUtc2V0dGluZ3MgYWZ0ZXIgbGV0dGVyLXNwYWNpbmcgaGFzIGJlZW4gdHdlYWtlZC5cbiAgKiBXZSB3YW50IHRvIGFwcGx5IEludGVyIER5bmFtaWMgbWV0cmljcyAoaHR0cHM6Ly9yc21zLm1lL2ludGVyL2R5bm1ldHJpY3MvKVxuICAqIFdlIG5lZWQgdG8gdHdlYWsgdGhlIGBsZXR0ZXItc3BhY2luZ2AgcHJvcGVydHkgYW5kIGRvaW5nIHNvLCBkaXNhYmxlcyBieVxuICAqIGRlZmF1bHQgdGhlIG9wdGlvbmFsIGxpZ2F0dXJlc1xuICAqIGBmb250LWZlYXR1cmUtc2V0dGluZ3NgIGFsbG93cyB1cyB0byBvdmVycmlkZSB0aGlzIGJlaGF2aW91ciBhbmQgaGF2ZSB0aGVcbiAgKiBjb3JyZWN0IGxpZ2F0dXJlcyBhbmQgdGhlIHByb3BlciBkeW5hbWljIG1ldHJpYyBzcGFjaW5nLlxuICAqL1xuLl90eXBvZ3JhcGh5XzZ2Nm44XzE1MyB7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogdmFyKC0tY3BkLWZvbnQtZmVhdHVyZS1zZXR0aW5ncyk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9hdmF0YXJfdmExNGVfOCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAvKiAtMnB4IHRvIGFjY291bnQgZm9yIHRoZSBib3JkZXIgc3R5bGluZyBiZWxvdyAqL1xuICBsaW5lLWhlaWdodDogY2FsYyh2YXIoLS1jcGQtYXZhdGFyLXNpemUpIC0gMnB4KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWNwZC1hdmF0YXItc2l6ZSkgKiAwLjU2MjUpLCA2MHB4KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgc3BlYWs6IG5vbmU7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tcHJvcGVydHktdmFsdWUtbm8tdW5rbm93biAqL1xuICBmb250LWZhbWlseTogdmFyKC0tY3BkLWZvbnQtZmFtaWx5LXNhbnMpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVmZW5zaXZlLWNzcy9uby11c2VyLXNlbGVjdC1ub25lICovXG5cbiAgLyogU2V0IGEgYmFja2dyb3VuZCBjb2xvciB0byBoZWxwIHdpdGggdmlzdWFsIGNvbnNpc3RlbmN5IHdoZW4gZGlzcGxheWluZ1xuICAgKiBhdmF0YXJzIHdpdGggYSB0cmFuc2x1Y2VudCBiYWNrZ3JvdW5kICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG59XG5cbmJ1dHRvbi5fYXZhdGFyX3ZhMTRlXzgge1xuICAvKipcbiAgICogVGhlIGF2YXRhciBjYW4gYmUgYSBidXR0b24gZWxlbWVudCwgd2UgbmVlZCB0byByZXNldCBpdHMgc3R5bGVcbiAgICovXG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5idXR0b24uX2F2YXRhcl92YTE0ZV84OmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLl9hdmF0YXJfdmExNGVfOCxcbi5faW1hZ2VfdmExNGVfNDMge1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLWF2YXRhci1zaXplKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLWF2YXRhci1yYWRpdXMpO1xufVxuXG4uX2ltYWdlX3ZhMTRlXzQzIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEFkZGl0aW9uYWwgc2VsZWN0b3IgZm9yIGJ1dHRvbiB0byByYWlzZSBzZWxlY3RvciBhYm92ZSBidXR0b24uYXZhdGFyICovXG5idXR0b24uX2F2YXRhci1pbWFnZWxlc3NfdmExNGVfNTUsXG4uX2F2YXRhci1pbWFnZWxlc3NfdmExNGVfNTUge1xuICAvKiBJbiB0aGUgZnV0dXJlIHdlJ2QgcHJlZmVyIHRvIHBhc3MgdGhlIEhFWCBjb2RlIGFzIHRoZSBkYXRhIGF0dHJcbiAgICAgYW5kIHVzZSBgYXR0cihkYXRhLWNvbG9yKWAgdG8gYXZvaWQgdGhlIHN0eWxlIGRlY2xhcmF0aW9uIGZyb20gYmVsb3dcbiAgICAgYnV0IHRoaXMgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgaW4gYWxsIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1hdmF0YXItYmcpO1xuICBjb2xvcjogdmFyKC0tY3BkLWF2YXRhci1jb2xvcik7XG5cbiAgLyogQWRkaXRpb25hbCBzdHlsZSB0byBlbnN1cmUgdmlzaWJpbGl0eSBpbiBjb250cmFzdC1tb2RlICovXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1hdmF0YXItYmcpO1xufVxuXG4uX2F2YXRhcl92YTE0ZV84W2RhdGEtY29sb3JdIHtcbiAgLS1jcGQtYXZhdGFyLWJnOiB2YXIoLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS0xKTtcbiAgLS1jcGQtYXZhdGFyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTEpO1xufVxuXG4uX2F2YXRhcl92YTE0ZV84W2RhdGEtY29sb3I9XCIyXCJdIHtcbiAgLS1jcGQtYXZhdGFyLWJnOiB2YXIoLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS0yKTtcbiAgLS1jcGQtYXZhdGFyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTIpO1xufVxuXG4uX2F2YXRhcl92YTE0ZV84W2RhdGEtY29sb3I9XCIzXCJdIHtcbiAgLS1jcGQtYXZhdGFyLWJnOiB2YXIoLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS0zKTtcbiAgLS1jcGQtYXZhdGFyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTMpO1xufVxuXG4uX2F2YXRhcl92YTE0ZV84W2RhdGEtY29sb3I9XCI0XCJdIHtcbiAgLS1jcGQtYXZhdGFyLWJnOiB2YXIoLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS00KTtcbiAgLS1jcGQtYXZhdGFyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTQpO1xufVxuXG4uX2F2YXRhcl92YTE0ZV84W2RhdGEtY29sb3I9XCI1XCJdIHtcbiAgLS1jcGQtYXZhdGFyLWJnOiB2YXIoLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS01KTtcbiAgLS1jcGQtYXZhdGFyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTUpO1xufVxuXG4uX2F2YXRhcl92YTE0ZV84W2RhdGEtY29sb3I9XCI2XCJdIHtcbiAgLS1jcGQtYXZhdGFyLWJnOiB2YXIoLS1jcGQtY29sb3ItYmctZGVjb3JhdGl2ZS02KTtcbiAgLS1jcGQtYXZhdGFyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kZWNvcmF0aXZlLTYpO1xufVxuXG4uX2F2YXRhcl92YTE0ZV84W2RhdGEtdHlwZT1cInJvdW5kXCJdIHtcbiAgLS1jcGQtYXZhdGFyLXJhZGl1czogNTAlO1xufVxuXG4uX2F2YXRhcl92YTE0ZV84W2RhdGEtdHlwZT1cInNxdWFyZVwiXSB7XG4gIC0tY3BkLWF2YXRhci1yYWRpdXM6IDI1JTtcbn1cblxuLyoqXG4gKiBTdGFja2VkIGF2YXRhcnMgXG4gKi9cblxuLl9zdGFja2VkLWF2YXRhcnNfdmExNGVfMTA5OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLl9zdGFja2VkLWF2YXRhcnNfdmExNGVfMTA5IC5fYXZhdGFyX3ZhMTRlXzgge1xuICBmbG9hdDogaW5saW5lLXN0YXJ0O1xufVxuXG4uX3N0YWNrZWQtYXZhdGFyc192YTE0ZV8xMDkgLl9hdmF0YXJfdmExNGVfODpub3QoOmxhc3QtY2hpbGQpIHtcbiAgLyogaW5qZWN0ZWQgaW4gdGhlIGRvY3VtZW50IGZyb20gQXZhdGFyU3RhY2sudHN4ICovXG4gIGNsaXAtcGF0aDogdXJsKFwiI2NwZEF2YXRhckNsaXBcIik7XG59XG5cbi5fc3RhY2tlZC1hdmF0YXJzX3ZhMTRlXzEwOSA+ICo6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWNwZC1hdmF0YXItc2l6ZSkgKiAtMC40KTtcbn1cblxuLl9jbGlwLXBhdGhfdmExNGVfMTI4IHtcbiAgLyogSW4gdGhlb3J5IHRoZSBTVkcgaXMgaW52aXNpYmxlLCBidXQgd2Ugc3RpbGwgbmVlZCB0byBlbnN1cmUgaXQgZG9lc24ndFxuICBhZmZlY3QgdGhlIHBhZ2UncyBsYXlvdXQgb3Igb3RoZXJ3aXNlIG1ha2UgYW4gYXBwZWFyYW5jZSAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0LWlubGluZS1zdGFydDogLTk5OTlweDtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2JhZGdlXzEwZG1sXzgge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHg7IC8qIHBpbGwgZWZmZWN0ICovXG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xeCkgdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLWJsb2NrLXNpemU6IDI4cHg7XG59XG5cbi5faGFzLWljb25fMTBkbWxfMTgge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbn1cblxuLl9iYWRnZV8xMGRtbF84W2RhdGEta2luZD1cImRlZmF1bHRcIl0ge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG5cbiAgLyogVG8ga2VlcCB0aGUgc2FtZSBoZWlnaHQgdGhhbiB0aGUgb3RoZXIgYmFkZ2VzIGRlc3BpdGUgdGhlIGJvcmRlciAgKi9cbiAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1jcGQtc3BhY2UtMXgpIC0gMXB4KTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuXG4gIHN2ZyB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xuICB9XG59XG5cbi5fYmFkZ2VfMTBkbWxfOFtkYXRhLWtpbmQ9XCJncmV5XCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWJhZGdlLXNlY29uZGFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcblxuICBzdmcge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbiAgfVxufVxuXG4uX2JhZGdlXzEwZG1sXzhbZGF0YS1raW5kPVwib24tc29saWRcIl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYmFkZ2UtcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1vbi1zb2xpZC1wcmltYXJ5KTtcblxuICBzdmcge1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcbiAgfVxufVxuXG4uX2JhZGdlXzEwZG1sXzhbZGF0YS1raW5kPVwiYmx1ZVwiXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1iYWRnZS1pbmZvKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWJhZGdlLWluZm8pO1xuXG4gIHN2ZyB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWluZm8tcHJpbWFyeSk7XG4gIH1cbn1cblxuLl9iYWRnZV8xMGRtbF84W2RhdGEta2luZD1cImdyZWVuXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWJhZGdlLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1iYWRnZS1hY2NlbnQpO1xuXG4gIHN2ZyB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWFjY2VudC1wcmltYXJ5KTtcbiAgfVxufVxuXG4uX2JhZGdlXzEwZG1sXzhbZGF0YS1raW5kPVwicmVkXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWJhZGdlLWNyaXRpY2FsKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xuXG4gIHN2ZyB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLWNyaXRpY2FsLXByaW1hcnkpO1xuICB9XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5fYmFkZ2VfMTBkbWxfOCB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9icmVhZGNydW1iX3Q5NnczXzgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBibG9jay1zaXplOiA0MHB4O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICBib3JkZXItYmxvY2stZW5kOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAuX3BhZ2VzX3Q5NnczXzE3IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcblxuICAgIC8qIG92ZXJyaWRlIGxpc3Qgc3R5bGVzICovXG4gICAgbGlzdC1zdHlsZS10eXBlOiBcIlwiO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLl9sYXN0LXBhZ2VfdDk2dzNfMzAge1xuICAgICAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1zbS1yZWd1bGFyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQnJlYWRjcnVtYiBzZXBhcmF0b3JcbiAgICAgKiBXZSB3YW50IHRoaXMgc2VwYXJhdG9yIHRvIGJlIG9ubHkgdmlzdWFsIGFuZCB0byBub3QgYmUgaW4gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZS5cbiAgICAgKiBUaGUgbmF2IGh0bWwgZWxlbWVudCBhbHJlYWR5IHByb3ZpZGVzIGFuIGFjY2Vzc2libGUgd2F5IHRvIHNlcGFyYXRlIHRoZSBsaW5rcy5cbiAgICAgKi9cbiAgICBsaSArIGxpOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAuM2VtIDAgMC4yNWVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xuICAgICAgYm9yZGVyLWlubGluZS1lbmQ6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgLyogTGFzdCBwYWdlICovXG4gICAgOmxhc3QtY2hpbGQge1xuICAgICAgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fbGlua19rOWxqel84IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBmb250LXdlaWdodDogdmFyKC0tY3BkLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1yYWRpdXMtcGlsbC1lZmZlY3QpO1xuICBwYWRkaW5nLWlubGluZTogMC4yNXJlbTtcbn1cblxuLl9saW5rX2s5bGp6XzhbZGF0YS1raW5kPVwicHJpbWFyeVwiXSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLl9saW5rX2s5bGp6XzhbZGF0YS1raW5kPVwiY3JpdGljYWxcIl0ge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9saW5rX2s5bGp6XzhbZGF0YS1raW5kPVwicHJpbWFyeVwiXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktMzAwKTtcbiAgfVxuXG4gIC5fbGlua19rOWxqel84W2RhdGEta2luZD1cImNyaXRpY2FsXCJdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItcmVkLTMwMCk7XG4gIH1cbn1cblxuLl9saW5rX2s5bGp6Xzg6YWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xufVxuXG4uX2xpbmtfazlsanpfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uX2xpbmtfazlsanpfOFtkYXRhLWtpbmQ9XCJjcml0aWNhbFwiXTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9saW5rX2s5bGp6XzhbZGF0YS1zaXplPVwibWRcIl0ge1xuICBmb250LXNpemU6IHZhcigtLWNwZC1mb250LXNpemUtYm9keS1tZCk7XG59XG5cbi5fbGlua19rOWxqel84W2RhdGEtc2l6ZT1cInNtXCJdIHtcbiAgZm9udC1zaXplOiB2YXIoLS1jcGQtZm9udC1zaXplLWJvZHktc20pO1xufVxuLypcbkNvcHlyaWdodCAyMDIzLCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fYnV0dG9uXzFudzgzXzgge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXNlbWlib2xkKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbn1cblxuYS5fYnV0dG9uXzFudzgzXzgge1xuICAvKiBNYWtlIHRoZSB3aWR0aCBtYXRjaCB0aGF0IG9mIGEgcmVhbCBidXR0b24gKi9cbiAgaW5saW5lLXNpemU6IG1heC1jb250ZW50O1xuXG4gIC8qIEJ1dHRvbnMgc2hvdWxkIG5vdCBiZSB1bmRlcmxpbmVkICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLl9idXR0b25fMW53ODNfOCA+IHN2ZyB7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXM7XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBwb2ludGVyLWV2ZW50czogYWxsICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCkgIWltcG9ydGFudDtcbn1cblxuLl9idXR0b25fMW53ODNfOFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSA+IHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1kaXNhYmxlZCkgIWltcG9ydGFudDtcbn1cblxuLyoqXG4gKiBTSVpFU1xuICovXG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1zaXplPVwibGdcIl0ge1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTh4KTtcbiAgbWluLWJsb2NrLXNpemU6IHZhcigtLWNwZC1zcGFjZS0xMngpO1xuXG4gICYuX2ljb24tb25seV8xbnc4M181MyB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTEyeCk7XG4gICAgaW5saW5lLXNpemU6IHZhcigtLWNwZC1zcGFjZS0xMngpO1xuICB9XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1zaXplPVwibGdcIl0uX2hhcy1pY29uXzFudzgzXzYwOm5vdCguX2ljb24tb25seV8xbnc4M181Mykge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTd4KTtcbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLXNpemU9XCJtZFwiXSB7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1jcGQtc3BhY2UtNXgpO1xuICBtaW4tYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTl4KTtcblxuICAmLl9pY29uLW9ubHlfMW53ODNfNTMge1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICAgIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zcGFjZS05eCk7XG4gICAgaW5saW5lLXNpemU6IHZhcigtLWNwZC1zcGFjZS05eCk7XG4gIH1cbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLXNpemU9XCJtZFwiXS5faGFzLWljb25fMW53ODNfNjA6bm90KC5faWNvbi1vbmx5XzFudzgzXzUzKSB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG4vKipcbiAqIEtJTkRTXG4gKi9cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdID4gc3ZnIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwicHJpbWFyeVwiXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWhvdmVyZWQpO1xuICB9XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwicHJpbWFyeVwiXTphY3RpdmUsXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInByaW1hcnlcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcHJlc3NlZCk7XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwicHJpbWFyeVwiXVthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gIC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgZGVzdHJ1Y3RpdmUgYmFja2dyb3VuZCAqL1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpICFpbXBvcnRhbnQ7XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwicHJpbWFyeVwiXS5fZGVzdHJ1Y3RpdmVfMW53ODNfMTEwIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwicHJpbWFyeVwiXS5fZGVzdHJ1Y3RpdmVfMW53ODNfMTEwOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtaG92ZXJlZCk7XG4gIH1cbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdLl9kZXN0cnVjdGl2ZV8xbnc4M18xMTA6YWN0aXZlLFxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdLl9kZXN0cnVjdGl2ZV8xbnc4M18xMTBbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAvKiBUT0RPOiBXZSdyZSB3YWl0aW5nIGZvciB0aGlzIHZhbHVlIHRvIGJlIGZvcm1hbGl6ZWQgYXMgYSBzZW1hbnRpYyB0b2tlbiAqL1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItcmVkLTExMDApO1xufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInNlY29uZGFyeVwiXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInNlY29uZGFyeVwiXSA+IHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInNlY29uZGFyeVwiXTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgfVxufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInNlY29uZGFyeVwiXTphY3RpdmUsXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInNlY29uZGFyeVwiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl1bYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICAvKiAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIGRlc3RydWN0aXZlIHZhbHVlcyAqL1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSkgIWltcG9ydGFudDtcbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0uX2Rlc3RydWN0aXZlXzFudzgzXzExMCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1zdWJ0bGUpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdLl9kZXN0cnVjdGl2ZV8xbnc4M18xMTAgPiBzdmcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0uX2Rlc3RydWN0aXZlXzFudzgzXzExMDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWNyaXRpY2FsLWhvdmVyZWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUpO1xuICB9XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdLl9kZXN0cnVjdGl2ZV8xbnc4M18xMTA6YWN0aXZlLFxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJzZWNvbmRhcnlcIl0uX2Rlc3RydWN0aXZlXzFudzgzXzExMFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1ob3ZlcmVkKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZS1ob3ZlcmVkKTtcbn1cblxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICB9XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwidGVydGlhcnlcIl06YWN0aXZlLFxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtcHJpbWFyeSk7XG59XG5cbi5fYnV0dG9uXzFudzgzXzhbZGF0YS1raW5kPVwidGVydGlhcnlcIl1bYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuXG4gIC8qICFpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgZGVzdHJ1Y3RpdmUgYmFja2dyb3VuZCAqL1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdLl9kZXN0cnVjdGl2ZV8xbnc4M18xMTAge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXS5fZGVzdHJ1Y3RpdmVfMW53ODNfMTEwOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlKTtcbiAgfVxufVxuXG4uX2J1dHRvbl8xbnc4M184W2RhdGEta2luZD1cInRlcnRpYXJ5XCJdLl9kZXN0cnVjdGl2ZV8xbnc4M18xMTA6YWN0aXZlLFxuLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJ0ZXJ0aWFyeVwiXS5fZGVzdHJ1Y3RpdmVfMW53ODNfMTEwW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZS1ob3ZlcmVkKTtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLl9idXR0b25fMW53ODNfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdIHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qXG4gKiBDb3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZFxuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG4gKiBQbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuICovXG5cbi5fY2hhdC1maWx0ZXJfNXFkcDBfOCB7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tbWVkaXVtKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkXG4gICAgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICBib3JkZXItcmFkaXVzOiA5OXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpIHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9jaGF0LWZpbHRlcl81cWRwMF84OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1wcmltYXJ5KTtcbiAgfVxufVxuXG4uX2NoYXQtZmlsdGVyXzVxZHAwXzhbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9jb250YWluZXJfejh6bzFfOCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgbGFiZWwge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtM3gpXG4gICAgICB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtcmVndWxhcik7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuXG4gICAgc3ZnIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlIGRyb3Bkb3duIGlzIG9wZW4sIHJvdGF0ZSB0aGUgYXJyb3cgaWNvblxuICAgKi9cbiAgYnV0dG9uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBzdmcge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gIH1cblxuICBidXR0b24uX3BsYWNlaG9sZGVyX3o4em8xXzQ5IHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgfVxuXG4gIC5fYm9yZGVyX3o4em8xXzUzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyLWlubGluZS1lbmQ6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGModmFyKC0tY3BkLXNwYWNlLTF4KSAqIC0xKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLl9jb250ZW50X3o4em8xXzYyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHVsIHtcbiAgICAgIC8qKlxuICAgICAgICogVG8gbWFrZSB0aGUgY29tcG9uZW50IGdvaW5nIG92ZXIgdGhlIG90aGVyIGVsZW1lbnRzXG4gICAgICAgKi9cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaW5saW5lLXNpemU6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRlZmF1bHQpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICAgICAgYm9yZGVyLWJsb2NrLXN0YXJ0OiAwO1xuICAgICAgYm9yZGVyLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm94LXNoYWRvdzogMCA0cHggMjRweCAwIHJnYigyNyAyOSAzNCAvIDEwJSk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBcIlwiO1xuICAgICAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLW1lZGl1bSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0zeCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgICAgICAgYm9yZGVyLWJsb2NrLWVuZDogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTMwMCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tY3BkLXNwYWNlLTR4KTtcblxuICAgICAgICBAbWVkaWEgKGhvdmVyKSB7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0yMDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0zMDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLl9vcGVuX3o4em8xXzExMCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuX2hlbHBfejh6bzFfMTE0IHtcbiAgICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLXJlZ3VsYXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICB9XG5cbiAgLl9lcnJvcl96OHpvMV8xMTkge1xuICAgIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tbWVkaXVtKTtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG4gIH1cblxuICAuX2Vycm9yX3o4em8xXzExOSxcbiAgLl9oZWxwX3o4em8xXzExNCB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICB9XG5cbiAgJlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgfVxuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9jb250YWluZXJfMXM4MzZfOCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5fY29udHJvbF8xczgzNl8xMyB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tY3BkLXNwYWNlLTEyeCkgIWltcG9ydGFudDtcblxuICAvKiBGcm9tIHRoZSBmbGV4Ym94IHNwZWM6XG4gICAqICAgXCJCeSBkZWZhdWx0LCBmbGV4IGl0ZW1zIHdvbuKAmXQgc2hyaW5rIGJlbG93IHRoZWlyIG1pbmltdW0gY29udGVudCBzaXplXCJcbiAgICogVGhpcyBhbGxvd3MgdGhlIGVsZW1lbnQgdG8gc2hyaW5rIGxvd2VyIHRoYW4gaXRzIG5hdHVyYWwgZGVmYXVsdCBzaXplLlxuICAgKi9cbiAgbWluLWlubGluZS1zaXplOiAwO1xufVxuXG4uX2FjdGlvbl8xczgzNl8yNCB7XG4gIGFsbDogdW5zZXQ7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0LWJsb2NrOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uX2FjdGlvbl8xczgzNl8yNCA+IHN2ZyB7XG4gIGlubGluZS1zaXplOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fYWN0aW9uXzFzODM2XzI0OmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICB9XG59XG5cbi5fYWN0aW9uXzFzODM2XzI0OmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbn1cblxuLl9jb250cm9sXzFzODM2XzEzW2Rpc2FibGVkXSArIC5fYWN0aW9uXzFzODM2XzI0IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG59XG5cbi5fY29udHJvbF8xczgzNl8xM1tyZWFkb25seV0gKyAuX2FjdGlvbl8xczgzNl8yNCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fY29udHJvbF9kODNqbl8xMCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIC8qKlxuICAqIERpc2FibGUgY29udGV4dHVhbCBhbHRlcm5hdGUgbGlnYXR1cmVzIGluIGlucHV0c1xuICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9yc21zL2ludGVyL2lzc3Vlcy8yMjJcbiAgKiBodHRwczovL2dpdGh1Yi5jb20vcnNtcy9pbnRlci9ibG9iL21hc3Rlci9zcmMvZmVhdHVyZXMvY2FsdC5mZWFcbiAgKi9cbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImNhbHRcIiAwO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fY29udHJvbF9kODNqbl8xMDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xuXG4gICAgLyoqIFRPRE86IGhhdmUgdGhlIHNoYWRvdyBpbiB0aGUgZGVzaWduIHRva2VucyAqL1xuICAgIGJveC1zaGFkb3c6IDAgMS4ycHggMi40cHggMCByZ2IoMCAwIDAgLyAxNSUpO1xuICB9XG59XG5cbi5fY29udHJvbF9kODNqbl8xMDphY3RpdmUge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWZlbnNpdmUtY3NzL3JlcXVpcmUtZm9jdXMtdmlzaWJsZSAqL1xuLl9jb250cm9sX2Q4M2puXzEwOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItZm9jdXNlZCk7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5fY29udHJvbF9kODNqbl8xMFtkYXRhLWludmFsaWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9jb250cm9sX2Q4M2puXzEwOmRpc2FibGVkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kaXNhYmxlZCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1kaXNhYmxlZCk7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5fY29udHJvbF9kODNqbl8xMFtyZWFkb25seV0ge1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLl9jb250cm9sX2Q4M2puXzEwLl9lbmFibGUtbGlnYXR1cmVzX2Q4M2puXzYzIHtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiB2YXIoLS1jcGQtZm9udC1mZWF0dXJlLXNldHRpbmdzKTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fY29udGFpbmVyXzE1M2YyXzEwIHtcbiAgLS1zaXplOiAyMHB4O1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG59XG5cbi5faW5wdXRfMTUzZjJfMTgsXG4uX3VpXzE1M2YyXzE5IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZ3JpZC1hcmVhOiAxLzE7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG59XG5cbi5faW5wdXRfMTUzZjJfMTgge1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLl91aV8xNTNmMl8xOSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IC8qIFRPRE86IE91Z2h0IHRvIGJlIGEgdG9rZW4gKi9cbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbn1cblxuLl91aV8xNTNmMl8xOSBzdmcge1xuICBpbmxpbmUtc2l6ZTogdmFyKC0tc2l6ZSk7XG4gIGJsb2NrLXNpemU6IHZhcigtLXNpemUpO1xuXG4gIC8qIGNvbXBlbnNhdGUgZm9yIHRoZSBwYXJlbnQgYm9yZGVyICovXG4gIG1hcmdpbjogLTFweDtcblxuICAvKiogRGVmYXVsdCwgcmVzdCBzdGF0ZSAqL1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5faW5wdXRfMTUzZjJfMTg6Y2hlY2tlZCArIC5fdWlfMTUzZjJfMTkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LXJlc3QpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG59XG5cbi5faW5wdXRfMTUzZjJfMTg6Y2hlY2tlZCArIC5fdWlfMTUzZjJfMTkgc3ZnIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xufVxuXG4uX2lucHV0XzE1M2YyXzE4OmZvY3VzLXZpc2libGUgKyAuX3VpXzE1M2YyXzE5IHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItZm9jdXNlZCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG59XG5cbi5faW5wdXRfMTUzZjJfMThbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLl9pbnB1dF8xNTNmMl8xOFtkaXNhYmxlZF0gKyAuX3VpXzE1M2YyXzE5IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kaXNhYmxlZCk7XG59XG5cbi5faW5wdXRfMTUzZjJfMThbcmVhZG9ubHldIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5faW5wdXRfMTUzZjJfMThbcmVhZG9ubHldICsgLl91aV8xNTNmMl8xOSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG59XG5cbi5faW5wdXRfMTUzZjJfMThbZGlzYWJsZWRdOmNoZWNrZWQgKyAuX3VpXzE1M2YyXzE5IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xufVxuXG4uX2lucHV0XzE1M2YyXzE4W3JlYWRvbmx5XTpjaGVja2VkICsgLl91aV8xNTNmMl8xOSBzdmcge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2lucHV0XzE1M2YyXzE4Om5vdChbZGlzYWJsZWRdLCBbcmVhZG9ubHldLCA6Y2hlY2tlZCk6aG92ZXIgKyAuX3VpXzE1M2YyXzE5IHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG5cbiAgICAvKiogVE9ETzogaGF2ZSB0aGUgc2hhZG93IGluIHRoZSBkZXNpZ24gdG9rZW5zICovXG4gICAgYm94LXNoYWRvdzogMCAxLjJweCAyLjRweCAwIHJnYigwIDAgMCAvIDE1JSk7XG4gIH1cblxuICAuX2lucHV0XzE1M2YyXzE4Om5vdChbZGlzYWJsZWRdLCBbcmVhZG9ubHldLCA6Y2hlY2tlZCk6aG92ZXIgKyAuX3VpXzE1M2YyXzE5IHN2ZyB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXF1YXRlcm5hcnkpO1xuICB9XG5cbiAgLl9pbnB1dF8xNTNmMl8xODpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6Y2hlY2tlZDpob3ZlciArIC5fdWlfMTUzZjJfMTkge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuICB9XG5cbiAgLl9pbnB1dF8xNTNmMl8xOFtkYXRhLWludmFsaWRdOm5vdChbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTpjaGVja2VkOmhvdmVyICsgLl91aV8xNTNmMl8xOSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtaG92ZXJlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLWhvdmVyZWQpO1xuICB9XG59XG5cbi5faW5wdXRfMTUzZjJfMThbZGF0YS1pbnZhbGlkXTpub3QoW2Rpc2FibGVkXSwgOmNoZWNrZWQsIFtyZWFkb25seV0pICsgLl91aV8xNTNmMl8xOSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9pbnB1dF8xNTNmMl8xOFtkYXRhLWludmFsaWRdOm5vdChbZGlzYWJsZWRdLCBbcmVhZG9ubHldKTpjaGVja2VkICsgLl91aV8xNTNmMl8xOSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9jb250cm9sc18xN2xpal84IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxNXB4O1xuXG4gICYgPiBpbnB1dCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4taW5saW5lLXNpemU6IDA7XG4gIH1cbn1cblxuLl9idXR0b24tZ3JvdXBfMTdsaWpfMTgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBpbnNldC1ibG9jay1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xufVxuLypcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyogU3R5bGluZyB0aGUgUmFkaXggVUkgRm9ybSBjb21wb25lbnQgKi9cblxuLyoqXG4gKiBST09UOiBGb3JtIEVsZW1lbnRcbiAqL1xuXG4uX3Jvb3RfMTl1cG9fMTYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS01eCk7XG59XG5cbi8qKlxuICogRklFTEQ6IFdyYXBwZXIgYXJvdW5kIGxhYmVsLCBjb250cm9sIGFuZCBtZXNzYWdlXG4gKi9cblxuLl9maWVsZF8xOXVwb18yNiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTF4KTtcbn1cblxuLl9pbmxpbmUtZmllbGRfMTl1cG9fMzIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG5cbi5faW5saW5lLWZpZWxkLWJvZHlfMTl1cG9fMzgge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uX2lubGluZS1maWVsZC1jb250cm9sXzE5dXBvXzQ0IHtcbiAgLyogVGhlIGNvbnRyb2wgc2hvdWxkIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBsYWJlbCAqL1xuICBibG9jay1zaXplOiBjYWxjKFxuICAgIHZhcigtLWNwZC1mb250LXNpemUtYm9keS1tZCkgKiB2YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKVxuICApO1xuXG4gIC8qIEFsaWduIHRoZSBjb250cm9sIGluIHRoZSBtaWRkbGUgb2YgdGhlIGxhYmVsICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qKlxuICogTEFCRUxcbiAqL1xuXG4uX2xhYmVsXzE5dXBvXzU5IHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY3BkLWZvbnQtbGV0dGVyLXNwYWNpbmctYm9keS1tZCk7XG59XG5cbi5fbGFiZWxfMTl1cG9fNTlbZm9yXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLl9sYWJlbF8xOXVwb181OVtkYXRhLWludmFsaWRdIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWNyaXRpY2FsLXByaW1hcnkpO1xufVxuXG4vKiBDdXJyZW50bHkgd29ya2luZyBldmVyeXdoZXJlIGJ1dCBvbiBGaXJlZm94IChvbmx5IGJlaGluZCBhIGxhYnMgZmxhZylcbmh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy86aGFzI2Jyb3dzZXJfY29tcGF0aWJpbGl0eSAqL1xuLl9sYWJlbF8xOXVwb181OTpoYXMofiAqIGlucHV0W2Rpc2FibGVkXSksXG4uX2xhYmVsXzE5dXBvXzU5Omhhcyh+IGlucHV0W2Rpc2FibGVkXSksXG4uX2lubGluZS1maWVsZC1jb250cm9sXzE5dXBvXzQ0OmhhcyhpbnB1dFtkaXNhYmxlZF0pIH4gLl9pbmxpbmUtZmllbGQtYm9keV8xOXVwb18zOCAuX2xhYmVsXzE5dXBvXzU5IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyoqXG4gKiBIZWxwIGFuZCBlcnJvciBtZXNzYWdlc1xuICovXG5cbi5fbWVzc2FnZV8xOXVwb184NSB7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktc20tcmVndWxhcik7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXNtKTtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xufVxuXG4uX2hlbHAtbWVzc2FnZV8xOXVwb185MSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uX2Vycm9yLW1lc3NhZ2VfMTl1cG9fOTUge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi5fc3VjY2Vzcy1tZXNzYWdlXzE5dXBvXzk5IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXN1Y2Nlc3MtcHJpbWFyeSk7XG59XG5cbi8qIEN1cnJlbnRseSB3b3JraW5nIGV2ZXJ5d2hlcmUgYnV0IG9uIEZpcmVmb3ggKG9ubHkgYmVoaW5kIGEgbGFicyBmbGFnKVxuaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTLzpoYXMjYnJvd3Nlcl9jb21wYXRpYmlsaXR5ICovXG5pbnB1dFtkaXNhYmxlZF0gfiAuX21lc3NhZ2VfMTl1cG9fODUsXG4qOmhhcyhpbnB1dFtkaXNhYmxlZF0pIH4gLl9tZXNzYWdlXzE5dXBvXzg1LFxuLl9pbmxpbmUtZmllbGQtY29udHJvbF8xOXVwb180NDpoYXMoaW5wdXRbZGlzYWJsZWRdKSB+IC5faW5saW5lLWZpZWxkLWJvZHlfMTl1cG9fMzggLl9tZXNzYWdlXzE5dXBvXzg1IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbn1cblxuLl9tZXNzYWdlXzE5dXBvXzg1ID4gc3ZnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcblxuICAvKiBDYWxjdWxhdGUgdGhlIHNpemUgb2YgdGhlIGljb24gYmFzZWQgb24gdGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgKi9cbiAgYmxvY2stc2l6ZTogY2FsYygxZW0gKiB2YXIoLS1jcGQtZm9udC1saW5lLWhlaWdodC1yZWd1bGFyKSk7XG4gIGlubGluZS1zaXplOiBjYWxjKDFlbSAqIHZhcigtLWNwZC1mb250LWxpbmUtaGVpZ2h0LXJlZ3VsYXIpKTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5Aa2V5ZnJhbWVzIF9zcGluXzE4NTVhXzEge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDM2MGRlZyk7XG4gIH1cbn1cblxuLl9pY29uXzE4NTVhXzE4IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG4gIGJsb2NrLXNpemU6IDEwMCU7XG5cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgYW5pbWF0aW9uOiAxcyBsaW5lYXIgX3NwaW5fMTg1NWFfMSBpbmZpbml0ZTtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9jb250YWluZXJfMTdxaHdfMTAge1xuICAtLWdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgLS1kaWdpdC1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMTB4KTtcbiAgLS1kaWdpdC1oZWlnaHQ6IHZhcigtLWNwZC1zcGFjZS0xMngpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGlubGluZS1zaXplOiBmaXQtY29udGVudDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiB2YXIoLS1nYXApO1xuXG4gIC8qIFRoZSBpbnB1dCBpcyBwb3NpdGlvbmVkIGFic29sdXRlbHlcbiAgICAgc28gdGhlIGNvbnRhaW5lciBuZWVkcyB0byBiZSBwb3NpdGlvbmVkIHJlbGF0aXZlbHkgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uX2NvbnRyb2xfMTdxaHdfMjUge1xuICBhbGw6IHVuc2V0O1xuXG4gIC8qKiBUT0RPOiBzZW1hbnRpYyB0b2tlbiAqL1xuICBmb250LWZhbWlseTogdmFyKC0tY3BkLWZvbnQtZmFtaWx5LW1vbm8pLCB1aS1tb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAvKiBQb3NpdGlvbiB0aGUgaW5wdXQgdG8gZmlsbCB0aGUgY29udGFpbmVyICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG5cbiAgLyogU3BhY2luZyBiZXR3ZWVuIGRpZ2l0cyBpcyBzZXQgdG8gdGhlIGdhcFxuICAgICBwbHVzIHRoZSBzaXplIG9mIG9uZSBkaWdpdCBib3hcbiAgICAgbWludXMgdGhlIHNpemUgb2Ygb25lIGNoYXJhY3RlciAqL1xuICBsZXR0ZXItc3BhY2luZzogY2FsYyh2YXIoLS1nYXApICsgdmFyKC0tZGlnaXQtc2l6ZSkgLSAxY2gpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tZGlnaXQtaGVpZ2h0KTtcblxuICAvKiBUaGUgcGFkZGluZyBhdCB0aGUgc3RhcnQgcG9zaXRpb25zIHRoZSBmaXJzdCBkaWdpdCBhdCB0aGUgbWlkZGxlIG9mIHRoZSBkaWdpdCBib3ggKi9cbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tY3BkLXNwYWNlLTEweCkgLyAyIC0gKDFjaCAvIDIpKTtcblxuICAvKiBUaGUgbmVnYXRpdmUgbWFyZ2luIGF0IHRoZSBlbmQgaXMgdG8ga2VlcCBzcGFjZSBmb3IgdGhlIGN1cnNvciB3aGVuIHRoZSBpbnB1dCBpcyBmdWxsICovXG4gIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKC0xICogKHZhcigtLWNwZC1zcGFjZS0xMHgpICsgdmFyKC0tY3BkLXNwYWNlLTN4KSkpO1xufVxuXG4uX2RpZ2l0XzE3cWh3XzQ5IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaW5saW5lLXNpemU6IHZhcigtLWNwZC1zcGFjZS0xMHgpO1xuICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMTJ4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kZWZhdWx0KTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpIHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9jb250cm9sXzE3cWh3XzI1OmhvdmVyIH4gLl9kaWdpdF8xN3Fod180OSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLWhvdmVyZWQpO1xuXG4gICAgLyoqIFRPRE86IGhhdmUgdGhlIHNoYWRvdyBpbiB0aGUgZGVzaWduIHRva2VucyAqL1xuICAgIGJveC1zaGFkb3c6IDAgMS4ycHggMi40cHggMCByZ2IoMCAwIDAgLyAxNSUpO1xuICB9XG59XG5cbi5fY29udHJvbF8xN3Fod18yNTpkaXNhYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1kaXNhYmxlZCk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5fY29udHJvbF8xN3Fod18yNTpkaXNhYmxlZCB+IC5fZGlnaXRfMTdxaHdfNDkge1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbn1cblxuLl9jb250cm9sXzE3cWh3XzI1W3JlYWRvbmx5XSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uX2NvbnRyb2xfMTdxaHdfMjVbcmVhZG9ubHldIH4gLl9kaWdpdF8xN3Fod180OSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG59XG5cbi5fY29udHJvbF8xN3Fod18yNVtkYXRhLWludmFsaWRdIH4gLl9kaWdpdF8xN3Fod180OSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWZlbnNpdmUtY3NzL3JlcXVpcmUtZm9jdXMtdmlzaWJsZSAqL1xuLl9jb250cm9sXzE3cWh3XzI1OmZvY3VzIH4gLl9kaWdpdF8xN3Fod180OTpub3QoW2RhdGEtZmlsbGVkXSkge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLl9kaWdpdF8xN3Fod180OVtkYXRhLXNlbGVjdGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWluZm8tc3VidGxlKTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fY29udGFpbmVyXzF1ZzduXzEwIHtcbiAgLS1zaXplOiAyMHB4O1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG59XG5cbi5faW5wdXRfMXVnN25fMTgsXG4uX3VpXzF1ZzduXzE5IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZ3JpZC1hcmVhOiAxLzE7XG4gIGlubGluZS1zaXplOiB2YXIoLS1zaXplKTtcbiAgYmxvY2stc2l6ZTogdmFyKC0tc2l6ZSk7XG59XG5cbi5faW5wdXRfMXVnN25fMTgge1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLl91aV8xdWc3bl8xOSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG5cbiAgLyogVG8gYWxpZ24gdGhlIDo6YWZ0ZXIgcHNldWRvLWVsZW1lbnQgdG8gdGhlIGNlbnRlciBvZiB0aGUgcmFkaW8gYnV0dG9uICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uX3VpXzF1ZzduXzE5OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGlubGluZS1zaXplOiA2cHg7XG4gIGJsb2NrLXNpemU6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAvKiBBZGRpdGlvbmFsIHN0eWxlIHRvIGVuc3VyZSB2aXNpYmlsaXR5IGluIGNvbnRyYXN0LW1vZGUgKi9cbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLl9pbnB1dF8xdWc3bl8xODpjaGVja2VkICsgLl91aV8xdWc3bl8xOSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbiAgY29sb3I6IHVuc2V0O1xufVxuXG4uX2lucHV0XzF1ZzduXzE4OmNoZWNrZWQgKyAuX3VpXzF1ZzduXzE5OjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xuICBjb2xvcjogdW5zZXQ7XG59XG5cbi5faW5wdXRfMXVnN25fMTg6Zm9jdXMtdmlzaWJsZSArIC5fdWlfMXVnN25fMTkge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1mb2N1c2VkKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbn1cblxuLl9pbnB1dF8xdWc3bl8xOFtyZWFkb25seV0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl9pbnB1dF8xdWc3bl8xOFtyZWFkb25seV0gKyAuX3VpXzF1ZzduXzE5IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbn1cblxuLl9pbnB1dF8xdWc3bl8xOFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uX2lucHV0XzF1ZzduXzE4W2Rpc2FibGVkXSArIC5fdWlfMXVnN25fMTkge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZGlzYWJsZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY2FudmFzLWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF8xdWc3bl8xOFtkaXNhYmxlZF06Y2hlY2tlZCArIC5fdWlfMXVnN25fMTkge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG59XG5cbi5faW5wdXRfMXVnN25fMThbcmVhZG9ubHldOmNoZWNrZWQgKyAuX3VpXzF1ZzduXzE5OjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHVuc2V0O1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5faW5wdXRfMXVnN25fMTg6bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0sIDpjaGVja2VkKTpob3ZlciArIC5fdWlfMXVnN25fMTkge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcblxuICAgIC8qKiBUT0RPOiBoYXZlIHRoZSBzaGFkb3cgaW4gdGhlIGRlc2lnbiB0b2tlbnMgKi9cbiAgICBib3gtc2hhZG93OiAwIDEuMnB4IDIuNHB4IDAgcmdiKDAgMCAwIC8gMTUlKTtcbiAgfVxuXG4gIC5faW5wdXRfMXVnN25fMTg6bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0sIDpjaGVja2VkKTpob3ZlciArIC5fdWlfMXVnN25fMTk6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1xdWF0ZXJuYXJ5KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXF1YXRlcm5hcnkpO1xuICAgIGNvbG9yOiB1bnNldDtcbiAgfVxuXG4gIC5faW5wdXRfMXVnN25fMTg6bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0pOmNoZWNrZWQ6aG92ZXIgKyAuX3VpXzF1ZzduXzE5IHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1ob3ZlcmVkKTtcbiAgfVxuXG4gIC5faW5wdXRfMXVnN25fMThbZGF0YS1pbnZhbGlkXTpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6Y2hlY2tlZDpob3ZlciArIC5fdWlfMXVnN25fMTkge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLWhvdmVyZWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1ob3ZlcmVkKTtcbiAgfVxufVxuXG4uX2lucHV0XzF1ZzduXzE4W2RhdGEtaW52YWxpZF06bm90KFtkaXNhYmxlZF0sIFtyZWFkb25seV0sIDpjaGVja2VkKSArIC5fdWlfMXVnN25fMTkge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi5faW5wdXRfMXVnN25fMThbZGF0YS1pbnZhbGlkXTpub3QoW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6Y2hlY2tlZCArIC5fdWlfMXVnN25fMTkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXByaW1hcnkpO1xufVxuLypcbkNvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9jb250YWluZXJfdWRjbThfMTAge1xuICBkaXNwbGF5OiBncmlkO1xuICBpbmxpbmUtc2l6ZTogMi4yNXJlbTtcbiAgYmxvY2stc2l6ZTogMS4yNXJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLl9jb250YWluZXJfdWRjbThfMTAgPiAqIHtcbiAgZ3JpZC1hcmVhOiAxLzE7XG4gIGlubGluZS1zaXplOiBpbmhlcml0O1xuICBibG9jay1zaXplOiBpbmhlcml0O1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4uX2NvbnRhaW5lcl91ZGNtOF8xMCA+IC5faW5wdXRfdWRjbThfMjQge1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLl9jb250YWluZXJfdWRjbThfMTAgPiAuX2lucHV0X3VkY204XzI0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5fdWlfdWRjbThfMzQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMXB4O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbn1cblxuLl9pbnB1dF91ZGNtOF8yNDpjaGVja2VkICsgLl91aV91ZGNtOF8zNCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtcmVzdCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjY2VudC1yZXN0KTtcbn1cblxuLl91aV91ZGNtOF8zNDo6YWZ0ZXIge1xuICAtLWRvdC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcblxuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmxvY2stc2l6ZTogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1kb3QtY29sb3IpO1xuXG4gIC8qIEFkZGl0aW9uYWwgc3R5bGUgdG8gZW5zdXJlIHZpc2liaWxpdHkgaW4gY29udHJhc3QtbW9kZSAqL1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kb3QtY29sb3IpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdHJhbnNmb3JtO1xufVxuXG4vKiBOb3RlIHRoZSB1c2Ugb2YgOmZvY3VzLXZpc2libGUgcmF0aGVyIHRoYW4gOmZvY3VzIHRvIGF2b2lkIHNob3dpbmcgdGhlIGZvY3VzXG5yaW5nIGFmdGVyIGEgc2ltcGxlIGNsaWNrICovXG4uX2lucHV0X3VkY204XzI0OmZvY3VzLXZpc2libGUgKyAuX3VpX3VkY204XzM0IHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNwZC1jb2xvci1ib3JkZXItZm9jdXNlZCk7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG59XG5cbjpjaGVja2VkICsgLl91aV91ZGNtOF8zNDo6YWZ0ZXIge1xuICAtLWRvdC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tb24tc29saWQtcHJpbWFyeSk7XG5cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIDpjaGVja2VkOm5vdChbZGlzYWJsZWRdKTpob3ZlciArIC5fdWlfdWRjbThfMzQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuICB9XG59XG5cbjpjaGVja2VkOmFjdGl2ZSArIC5fdWlfdWRjbThfMzQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWNjZW50LWhvdmVyZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY2NlbnQtaG92ZXJlZCk7XG59XG5cbi5faW5wdXRfdWRjbThfMjRbcmVhZG9ubHldIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5faW5wdXRfdWRjbThfMjRbcmVhZG9ubHldICsgLl91aV91ZGNtOF8zNCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG59XG5cbi5faW5wdXRfdWRjbThfMjRbcmVhZG9ubHldICsgLl91aV91ZGNtOF8zNDo6YWZ0ZXIge1xuICAtLWRvdC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc2Vjb25kYXJ5KTtcbn1cblxuLl9pbnB1dF91ZGNtOF8yNFtkaXNhYmxlZF0gKyAuX3VpX3VkY204XzM0IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWRpc2FibGVkKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNhbnZhcy1kaXNhYmxlZCk7XG59XG5cbi5faW5wdXRfdWRjbThfMjRbZGlzYWJsZWRdICsgLl91aV91ZGNtOF8zNDo6YWZ0ZXIge1xuICAtLWRvdC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LWRpc2FibGVkKTtcbn1cblxuLl9pbnB1dF91ZGNtOF8yNFtyZWFkb25seV06Y2hlY2tlZCArIC5fdWlfdWRjbThfMzQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG59XG5cbi5faW5wdXRfdWRjbThfMjRbcmVhZG9ubHldOmNoZWNrZWQgKyAuX3VpX3VkY204XzM0OjphZnRlciB7XG4gIC0tZG90LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcbn1cblxuLl9pbnB1dF91ZGNtOF8yNFtkaXNhYmxlZF06Y2hlY2tlZCArIC5fdWlfdWRjbThfMzQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktZGlzYWJsZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1kaXNhYmxlZCk7XG59XG5cbi5faW5wdXRfdWRjbThfMjRbZGlzYWJsZWRdOmNoZWNrZWQgKyAuX3VpX3VkY204XzM0OjphZnRlciB7XG4gIC0tZG90LWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1vbi1zb2xpZC1wcmltYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX2lucHV0X3VkY204XzI0Om5vdCg6Y2hlY2tlZCwgW2Rpc2FibGVkXSwgW3JlYWRvbmx5XSk6aG92ZXIgKyAuX3VpX3VkY204XzM0IHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG5cbiAgICAvKiogVE9ETzogaGF2ZSB0aGUgc2hhZG93IGluIHRoZSBkZXNpZ24gdG9rZW5zICovXG4gICAgYm94LXNoYWRvdzogMCAxLjJweCAyLjRweCAwIHJnYigwIDAgMCAvIDE1JSk7XG4gIH1cbn1cblxuLl9pbnB1dF91ZGNtOF8yNDpub3QoOmNoZWNrZWQsIFtkaXNhYmxlZF0sIFtyZWFkb25seV0pOmFjdGl2ZSArIC5fdWlfdWRjbThfMzQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtaG92ZXJlZCk7XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9nbGFzc19zZXB3dV84IHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTl4KTtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KTtcblxuICAvKiBXZSB1c2UgYW4gb3V0bGluZSBoZXJlIHRvIGNyZWF0ZSBhbiBcImlubmVyIGJvcmRlclwiLCByYXRoZXIgdGhhbiBvbmUgdGhhdFxuICBhZGRzIHRvIHRoZSBjb21wb25lbnQncyBzaXplICovXG4gIG91dGxpbmU6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwKTtcbiAgb3V0bGluZS1vZmZzZXQ6IGNhbGMoLTEgKiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWFscGhhLWdyYXktNDAwKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xufVxuXG4uX2dsYXNzX3NlcHd1XzggPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtc3BhY2UtNngpO1xuICBpbmxpbmUtc2l6ZTogMTAwJTtcbiAgYmxvY2stc2l6ZTogMTAwJTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2JpZy1pY29uXzFzc2J2Xzgge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcblxuICA+IHN2ZyB7XG4gICAgaW5saW5lLXNpemU6IDMycHg7XG4gICAgYmxvY2stc2l6ZTogMzJweDtcbiAgfVxufVxuXG4uX2JpZy1pY29uXzFzc2J2XzhbZGF0YS1zaXplPVwibWRcIl0ge1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xufVxuXG4uX2JpZy1pY29uXzFzc2J2XzhbZGF0YS1zaXplPVwic21cIl0ge1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuXG4gID4gc3ZnIHtcbiAgICBpbmxpbmUtc2l6ZTogMjRweDtcbiAgICBibG9jay1zaXplOiAyNHB4O1xuICB9XG59XG5cbi5fYmlnLWljb25fMXNzYnZfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG59XG5cbi5fYmlnLWljb25fMXNzYnZfOFtkYXRhLWtpbmQ9XCJjcml0aWNhbFwiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1jcml0aWNhbC1zdWJ0bGUpO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi5fYmlnLWljb25fMXNzYnZfOFtkYXRhLWtpbmQ9XCJzdWNjZXNzXCJdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1Y2Nlc3Mtc3VidGxlKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXN1Y2Nlc3MtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5fYmlnLWljb25fMXNzYnZfOCB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjMgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9pdGVtX2J5bTlwXzgge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOiBcImljb24gbGFiZWwgLlwiIGF1dG8gXCJlbXB0eTEgbGFiZWwgZW1wdHkyXCIgYXV0byAvIGF1dG8gYXV0byBtaW5tYXgoXG4gICAgICAvKiBSZXNlcnZlIHNwYWNlIGZvciB0aGUgY2hldnJvbiBzbyB0aGF0IHRoZSBsYXlvdXQgZG9lc24ndCBzaGlmdCBvblxuICAgICAgaG92ZXIgKi9cbiAgICAgIHZhcigtLWNwZC1zcGFjZS0yeCksXG4gICAgICAxZnJcbiAgICApO1xuICBwbGFjZS1pdGVtczogY2VudGVyIGVuZDtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGlubGluZS1zaXplOiAxMDAlO1xuICBtaW4taW5saW5lLXNpemU6IDIwMHB4O1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktcmVzdCk7XG59XG5cbi5faXRlbV9ieW05cF84Ll9pbnRlcmFjdGl2ZV9ieW05cF8yNixcbi5faXRlbV9ieW05cF84W2RhdGEtc3RhdGVdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uX2l0ZW1fYnltOXBfOC5fbm8tbGFiZWxfYnltOXBfMzEge1xuICBncmlkLXRlbXBsYXRlOiBcImljb24gLlwiIGF1dG8gLyBhdXRvIDFmcjtcbn1cblxuLl9sYWJlbF9ieW05cF8zNSB7XG4gIGdyaWQtYXJlYTogbGFiZWw7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1wcm9wZXJ0eS12YWx1ZS1rZXl3b3JkLW5vLWRlcHJlY2F0ZWQgKi9cbn1cblxuLl9pdGVtX2J5bTlwXzguX25vLWljb25fYnltOXBfNDIge1xuICBncmlkLXRlbXBsYXRlOiBcImxhYmVsIC5cIiBhdXRvIC8gYXV0byAxZnI7XG5cbiAgLl9sYWJlbF9ieW05cF8zNSB7XG4gICAgLyogV2l0aG91dCBpY29uLCB0aGUgaGVpZ2h0IGNoYW5nZXMgd2hlbiBob3ZlcmVkICovXG4gICAgbWluLWJsb2NrLXNpemU6IDI0cHg7XG4gIH1cbn1cblxuLl9pY29uX2J5bTlwXzUxIHtcbiAgZ3JpZC1hcmVhOiBpY29uO1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbn1cblxuLl9pdGVtX2J5bTlwXzguX25vLWxhYmVsX2J5bTlwXzMxIC5faWNvbl9ieW05cF81MSB7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG4uX25hdi1oaW50X2J5bTlwXzYwIHtcbiAgLyogSGlkZGVuIHVudGlsIHRoZSBpdGVtIGlzIGhvdmVyZWQgb3ZlciAqL1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuYnV0dG9uLl9pdGVtX2J5bTlwXzgge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5faXRlbV9ieW05cF84W2RhdGEta2luZD1cInByaW1hcnlcIl0gPiAuX2xhYmVsX2J5bTlwXzM1IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uX2l0ZW1fYnltOXBfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdID4gLl9pY29uX2J5bTlwXzUxIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xufVxuXG4uX2l0ZW1fYnltOXBfOFtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdID4gLl9uYXYtaGludF9ieW05cF82MCB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItaWNvbi10ZXJ0aWFyeSk7XG59XG5cbi5faXRlbV9ieW05cF84W2RhdGEta2luZD1cImNyaXRpY2FsXCJdID4gLl9sYWJlbF9ieW05cF8zNSB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1jcml0aWNhbC1wcmltYXJ5KTtcbn1cblxuLl9pdGVtX2J5bTlwXzhbZGF0YS1raW5kPVwiY3JpdGljYWxcIl0gPiAuX2ljb25fYnltOXBfNTEsXG4uX2l0ZW1fYnltOXBfOFtkYXRhLWtpbmQ9XCJjcml0aWNhbFwiXSA+IC5fbmF2LWhpbnRfYnltOXBfNjAge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbi8qIFN1Ym1lbnUgdHJpZ2dlcnM6IGFsd2F5cyBzaG93IHRoZSBjaGV2cm9uIGFuZCBhcHBseSBob3ZlciBzdHlsZSB3aGVuIG9wZW4gKi9cbi5faXRlbV9ieW05cF84W2RhdGEtc3RhdGVdID4gLl9uYXYtaGludF9ieW05cF82MCB7XG4gIGRpc3BsYXk6IGluaXRpYWw7XG59XG5cbi5faXRlbV9ieW05cF84W2RhdGEtc3RhdGVdID4gLl9uYXYtaGludF9ieW05cF82MCB+ICoge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uX2l0ZW1fYnltOXBfOFtkYXRhLXN0YXRlPVwib3BlblwiXVtkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktaG92ZXJlZCk7XG59XG5cbi5faXRlbV9ieW05cF84W2RhdGEtc3RhdGU9XCJvcGVuXCJdW2RhdGEta2luZD1cImNyaXRpY2FsXCJdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZSk7XG59XG5cbkBtZWRpYSAoaG92ZXIpIHtcbiAgLl9pdGVtX2J5bTlwXzguX2ludGVyYWN0aXZlX2J5bTlwXzI2W2RhdGEta2luZD1cInByaW1hcnlcIl06aG92ZXIsXG4gIC5faXRlbV9ieW05cF84W2RhdGEtc3RhdGVdW2RhdGEta2luZD1cInByaW1hcnlcIl06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LWhvdmVyZWQpO1xuICB9XG5cbiAgLl9pdGVtX2J5bTlwXzguX2ludGVyYWN0aXZlX2J5bTlwXzI2W2RhdGEta2luZD1cImNyaXRpY2FsXCJdOmhvdmVyLFxuICAuX2l0ZW1fYnltOXBfOFtkYXRhLXN0YXRlXVtkYXRhLWtpbmQ9XCJjcml0aWNhbFwiXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWNyaXRpY2FsLXN1YnRsZSk7XG4gIH1cblxuICAvKiBSZXBsYWNlIHRoZSBjaGlsZHJlbiB3aXRoIHRoZSBuYXZpZ2F0aW9uIGhpbnQgb24gaG92ZXIgKi9cbiAgLl9pdGVtX2J5bTlwXzguX2ludGVyYWN0aXZlX2J5bTlwXzI2OmhvdmVyID4gLl9uYXYtaGludF9ieW05cF82MCB7XG4gICAgZGlzcGxheTogaW5pdGlhbDtcbiAgfVxuXG4gIC5faXRlbV9ieW05cF84Ll9pbnRlcmFjdGl2ZV9ieW05cF8yNjpob3ZlciA+IC5fbmF2LWhpbnRfYnltOXBfNjAgfiAqIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5faXRlbV9ieW05cF84Ll9pbnRlcmFjdGl2ZV9ieW05cF8yNltkYXRhLWtpbmQ9XCJwcmltYXJ5XCJdOmFjdGl2ZSxcbi5faXRlbV9ieW05cF84W2RhdGEtc3RhdGVdW2RhdGEta2luZD1cInByaW1hcnlcIl06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1zZWNvbmRhcnktcHJlc3NlZCk7XG59XG5cbi5faXRlbV9ieW05cF84Ll9pbnRlcmFjdGl2ZV9ieW05cF8yNltkYXRhLWtpbmQ9XCJjcml0aWNhbFwiXTphY3RpdmUsXG4uX2l0ZW1fYnltOXBfOFtkYXRhLXN0YXRlXVtkYXRhLWtpbmQ9XCJjcml0aWNhbFwiXTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctY3JpdGljYWwtc3VidGxlLWhvdmVyZWQpO1xufVxuXG4uX2l0ZW1fYnltOXBfOFtkYXRhLWtpbmRdLl9kaXNhYmxlZF9ieW05cF8xNDAge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLl9pdGVtX2J5bTlwXzhbZGF0YS1raW5kXS5fZGlzYWJsZWRfYnltOXBfMTQwID4gLl9sYWJlbF9ieW05cF8zNSxcbi5faXRlbV9ieW05cF84W2RhdGEta2luZF0uX2Rpc2FibGVkX2J5bTlwXzE0MCA+IC5faWNvbl9ieW05cF81MSxcbi5faXRlbV9ieW05cF84W2RhdGEta2luZF0uX2Rpc2FibGVkX2J5bTlwXzE0MCA+IC5fbmF2LWhpbnRfYnltOXBfNjAge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xufVxuLypcbkNvcHlyaWdodCAyMDIzIE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fYmdfNjEwenBfOCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG5cbiAgLyogVE9ETzogVGhpcyB2YWx1ZSBpcyB1c2VkIGFjcm9zcyBtb2RhbHMgYW5kIG1lbnUgZHJhd2Vycywgc28gd291bGQgYmUgd29ydGhcbiAgdG9rZW5pemluZyAqL1xuICBiYWNrZ3JvdW5kOiByZ2IoMyAxMiAyNyAvIDUyLjglKTtcbn1cblxuLl9kcmF3ZXJfNjEwenBfMTcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgaW5zZXQtaW5saW5lOiAwO1xuXG4gIC8qIENhcCB0aGUgaW5saW5lIGNvbnRlbnQgc2l6ZSBhdCA1MjBweCwgZmlsbGluZyB0aGUgcmVzdCBvZiB0aGUgc3BhY2Ugd2l0aFxuICBwYWRkaW5nICovXG4gIHBhZGRpbmctaW5saW5lOiBtYXgoMHB4LCBjYWxjKCgxMDAlIC0gNTIwcHgpIC8gMikpO1xuICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8qIERyYXdlciBjb21lcyBpbiB0aGUgQW5kcm9pZCBzdHlsZSBieSBkZWZhdWx0ICovXG4gIC0tYm9yZGVyLXJhZGl1czogMjhweDtcbiAgLS1oYW5kbGUtYmxvY2stc2l6ZTogNHB4O1xuICAtLWhhbmRsZS1pbmxpbmUtc2l6ZTogMzJweDtcbiAgLS1oYW5kbGUtaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG4gIC0taGFuZGxlLWluc2V0LWJsb2NrLWVuZDogMHB4O1xuICAtLWNvbnRlbnQtaW5zZXQtYmxvY2stc3RhcnQ6IGNhbGMoXG4gICAgdmFyKC0taGFuZGxlLWluc2V0LWJsb2NrLXN0YXJ0KSArIHZhcigtLWhhbmRsZS1ibG9jay1zaXplKSArXG4gICAgICB2YXIoLS1oYW5kbGUtaW5zZXQtYmxvY2stZW5kKVxuICApO1xufVxuXG4uX2RyYXdlcl82MTB6cF8xN1tkYXRhLXBsYXRmb3JtPVwiaW9zXCJdIHtcbiAgLS1ib3JkZXItcmFkaXVzOiAxMHB4O1xuICAtLWhhbmRsZS1ibG9jay1zaXplOiA1cHg7XG4gIC0taGFuZGxlLWlubGluZS1zaXplOiAzNnB4O1xuICAtLWhhbmRsZS1pbnNldC1ibG9jay1zdGFydDogdmFyKC0tY3BkLXNwYWNlLTEtNXgpO1xuICAtLWhhbmRsZS1pbnNldC1ibG9jay1lbmQ6IDFweDtcbn1cblxuLl9ib2R5XzYxMHpwXzUxIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLWNvbnRlbnQtaW5zZXQtYmxvY2stc3RhcnQpICsgdmFyKC0tY3BkLXNwYWNlLTZ4KSlcbiAgICB2YXIoLS1jcGQtc3BhY2UtMTJ4KTtcbiAgYm9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICAvKiBFdmVuIHdpdGggb3ZlcmZsb3c6IGF1dG8sIHRoZSBjb250ZW50IGNhbiBzdGlsbCBvdmVyZmxvdyBhdCB0aGUgY29ybmVyc1xuICB3aGVyZSBpdCBtZWV0cyB3aXRoIHRoZSBjdXJ2ZWQgYm9yZGVyLiBBIGNvbnRhaW46IHBhaW50IGZpeGVzIHRoYXQuICovXG4gIGNvbnRhaW46IHBhaW50O1xuICBvdmVyZmxvdzogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXG4gIC0tY3BkLXNlcGFyYXRvci1zcGFjaW5nOiAwO1xuICAtLWNwZC1zZXBhcmF0b3ItaW5zZXQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi5fYm9keV82MTB6cF81MTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBibG9jay1zaXplOiB2YXIoLS1oYW5kbGUtYmxvY2stc2l6ZSk7XG4gIGluc2V0LWlubGluZTogY2FsYygoMTAwJSAtIHZhcigtLWhhbmRsZS1pbmxpbmUtc2l6ZSkpIC8gMik7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1oYW5kbGUtaW5zZXQtYmxvY2stc3RhcnQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItaWNvbi1zZWNvbmRhcnkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX21lbnVfMWtsM3lfOCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG5cbiAgLyogSGVyZSB3ZSB1c2Ugb3V0bGluZSB0byBjcmVhdGUgYSBib3JkZXIgaW50ZXJuYWwgdG8gdGhlIGNvbnRhaW5lci4gVGhlIFJhZGl4XG4gIG1lbnUgY29tcG9uZW50IG1heSB0cnkgdG8gb3ZlcnJpZGUgaXQgd2l0aCBvdXRsaW5lOiBub25lLCBoZW5jZSB0aGUgbmVlZCBmb3JcbiAgIWltcG9ydGFudC4gKi9cbiAgb3V0bGluZTogdmFyKC0tY3BkLWJvcmRlci13aWR0aC0xKSBzb2xpZFxuICAgIHZhcigtLWNwZC1jb2xvci1ib3JkZXItaW50ZXJhY3RpdmUtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICBvdXRsaW5lLW9mZnNldDogY2FsYygtMSAqIHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkpO1xuICBib3gtc2hhZG93OiAwIDRweCAyNHB4IDAgcmdiKDAgMCAwIC8gMTAlKTtcbiAgaW5saW5lLXNpemU6IGZpdC1jb250ZW50O1xuICBtYXgtaW5saW5lLXNpemU6IDMyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLWNwZC1zcGFjZS01eCkgdmFyKC0tY3BkLXNwYWNlLTR4KTtcblxuICAtLWNwZC1zZXBhcmF0b3Itc3BhY2luZzogMDtcbiAgLS1jcGQtc2VwYXJhdG9yLWluc2V0OiB2YXIoLS1jcGQtc3BhY2UtNHgpO1xufVxuXG5Aa2V5ZnJhbWVzIF9zbGlkZS1pbl8xa2wzeV8xIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCB2YXIoLS1jcGQtc3BhY2UtM3gpKTtcbiAgfVxufVxuXG4uX21lbnVfMWtsM3lfOFtkYXRhLXN0YXRlPVwib3BlblwiXSB7XG4gIC8qIERpc2FibGUgbGludGVyLCB3ZSBoYXZlIGEgcmVkdWNlZCBtb3Rpb24gc3R5bGUgYmVsb3cgKi9cbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlZmVuc2l2ZS1jc3MvcmVxdWlyZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uICovXG4gIGFuaW1hdGlvbjogX3NsaWRlLWluXzFrbDN5XzEgMTgwbXM7XG59XG5cbkBrZXlmcmFtZXMgX2ZhZGUtaW5fMWtsM3lfMSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBfZmFkZS1vdXRfMWtsM3lfMSB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikge1xuICAuX21lbnVfMWtsM3lfOFtkYXRhLXN0YXRlPVwib3BlblwiXSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IF9mYWRlLWluXzFrbDN5XzE7XG4gIH1cblxuICAuX21lbnVfMWtsM3lfOFtkYXRhLXN0YXRlPVwiY2xvc2VkXCJdIHtcbiAgICBhbmltYXRpb24tbmFtZTogX2ZhZGUtb3V0XzFrbDN5XzE7XG4gIH1cbn1cblxuLl90aXRsZV8xa2wzeV82NSB7XG4gIC8qKiBPdmVycmlkZSBNZW51VGl0bGUgbWFyZ2luIHRvcCAqKi9cbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwICFpbXBvcnRhbnQ7XG59XG4vKlxuICogQ29weXJpZ2h0IDIwMjUgTmV3IFZlY3RvciBMdGRcbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiAqL1xuXG4uX21lbnUtdGl0bGVfMXNndnhfOCB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgcGFkZGluZy1ibG9jay1lbmQ6IGNhbGModmFyKC0tY3BkLXNwYWNlLTJ4KSAtIHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkpO1xuICBib3JkZXItYmxvY2stZW5kOiB2YXIoLS1jcGQtYm9yZGVyLXdpZHRoLTEpIHNvbGlkIHZhcigtLWNwZC1jb2xvci1ncmF5LTQwMCk7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbn1cbi8qIENvcHlyaWdodCAyMDI1IE5ldyBWZWN0b3IgTHRkLlxuICogQ29weXJpZ2h0IDIwMjMgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiAqL1xuXG4uX25hdi1iYXJfcG1hbDJfOCB7XG4gIGJvcmRlci1ibG9jay1lbmQ6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtMSkgc29saWQgdmFyKC0tY3BkLWNvbG9yLWdyYXktNDAwKTtcbiAgbWFyZ2luOiB2YXIoLS1jcGQtc3BhY2UtNngpIDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5fbmF2LWJhci1pdGVtc19wbWFsMl8xNCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtM3gpO1xuICBsaXN0LXN0eWxlLXR5cGU6IFwiXCI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLl9uYXYtdGFiX3BtYWwyXzI1IHtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTR4KSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFVuZGVybGluZSBlZmZlY3QgKi9cbi5fbmF2LXRhYl9wbWFsMl8yNTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1ibG9jay1lbmQ6IDA7XG4gIGluc2V0LWlubGluZTogMDtcbiAgYmxvY2stc2l6ZTogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCkgdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCkgMCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG5cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMXMgZWFzZS1pbi1vdXQ7XG4gIH1cbn1cblxuLl9uYXYtdGFiX3BtYWwyXzI1W2RhdGEtY3VycmVudF06OmJlZm9yZSB7XG4gIC8qIFRoaXMgaXMgbm90IGV4YWN0bHkgcmlnaHQ6IGRlc2lnbnMgc2F5cyAzcHgsIGJ1dCB0aGVyZSBhcmUgbm8gdmFyaWFibGVzIGZvciB0aGF0ICovXG4gIGJsb2NrLXNpemU6IHZhcigtLWNwZC1ib3JkZXItd2lkdGgtNCk7XG59XG5cbi5fbmF2LWl0ZW1fcG1hbDJfNTAge1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1tZWRpdW0pO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fbmF2LWl0ZW1fcG1hbDJfNTA6bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJnLXN1YnRsZS1zZWNvbmRhcnkpO1xuICB9XG59XG5cbi5fbmF2LWl0ZW1fcG1hbDJfNTA6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IHZhcigtLWNwZC1jb2xvci1ib3JkZXItZm9jdXNlZCkgdmFyKC0tY3BkLWJvcmRlci13aWR0aC0yKSBzb2xpZDtcbn1cblxuLl9uYXYtaXRlbV9wbWFsMl81MDpub3QoW2Rpc2FibGVkXSk6YWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXByaW1hcnkpO1xufVxuXG4uX25hdi1pdGVtX3BtYWwyXzUwW2FyaWEtY3VycmVudF0sXG4uX25hdi1pdGVtX3BtYWwyXzUwW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uX25hdi1pdGVtX3BtYWwyXzUwW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgLyogRW5hYmxlIHBvaW50ZXIgZXZlbnRzIGZvciBzdmdzIGV2ZW4gd2l0aCBmaWxsPW5vbmUgKi9cbiAgcG9pbnRlci1ldmVudHM6IGFsbCAhaW1wb3J0YW50O1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xufVxuXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAuX25hdi10YWJfcG1hbDJfMjVbZGF0YS1jdXJyZW50XTo6YmVmb3JlIHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qXG5Db3B5cmlnaHQgMjAyNiBFbGVtZW50IENyZWF0aW9ucyBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl9oZWFkZXJfMTRqazRfOCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgbWF4LWlubGluZS1zaXplOiA0ODBweDtcbn1cblxuLl9oZWFkZXJfMTRqazRfOFtkYXRhLXNpemU9XCJtZFwiXSAuX2ljb25fMTRqazRfMTYge1xuICBtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xufVxuXG4uX2hlYWRlcl8xNGprNF84W2RhdGEtc2l6ZT1cImxnXCJdIC5faWNvbl8xNGprNF8xNiB7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLWNwZC1zcGFjZS00eCk7XG59XG5cbi5faGVhZGVyXzE0ams0XzggPiBoMSB7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uX2hlYWRlcl8xNGprNF84ID4gcCB7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbn1cblxuLl9oZWFkZXJfMTRqazRfOFtkYXRhLXNpemU9XCJtZFwiXSA+IHAge1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LW1kLXJlZ3VsYXIpO1xufVxuXG4uX2hlYWRlcl8xNGprNF84W2RhdC1zaXplPVwibGdcIl0gPiBwIHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1sZy1yZWd1bGFyKTtcbn1cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX3Byb2dyZXNzLWJhcl8xa3ZpNV84IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItZ3JheS0yMDApO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItZ3JheS00MDApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmW2RhdGEtc2l6ZT1cInNtXCJdIHtcbiAgICBibG9jay1zaXplOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xuICB9XG5cbiAgJltkYXRhLXNpemU9XCJsZ1wiXSB7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTR4KTtcbiAgfVxufVxuXG4uX3Byb2dyZXNzLWJhci1jb250YWluZXJfMWt2aTVfMjQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0xeCk7XG5cbiAgLS1jcGQtcHJvZ3Jlc3MtYmFyLW1haW46IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZDogdmFyKC0tY3BkLWNvbG9yLWdyYXktODAwKTtcblxuICAmW2RhdGEtdGludD1cImdyZWVuXCJdIHtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbWFpbjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc3VjY2Vzcy1wcmltYXJ5KTtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQ6IHZhcigtLWNwZC1jb2xvci1ncmVlbi04MDApO1xuICB9XG5cbiAgJltkYXRhLXRpbnQ9XCJsaW1lXCJdIHtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbWFpbjogdmFyKC0tY3BkLWNvbG9yLWxpbWUtOTAwKTtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQ6IHZhcigtLWNwZC1jb2xvci1saW1lLTgwMCk7XG4gIH1cblxuICAmW2RhdGEtdGludD1cIm9yYW5nZVwiXSB7XG4gICAgLS1jcGQtcHJvZ3Jlc3MtYmFyLW1haW46IHZhcigtLWNwZC1jb2xvci1vcmFuZ2UtOTAwKTtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQ6IHZhcigtLWNwZC1jb2xvci1vcmFuZ2UtODAwKTtcbiAgfVxuXG4gICZbZGF0YS10aW50PVwicmVkXCJdIHtcbiAgICAtLWNwZC1wcm9ncmVzcy1iYXItbWFpbjogdmFyKC0tY3BkLWNvbG9yLXRleHQtY3JpdGljYWwtcHJpbWFyeSk7XG4gICAgLS1jcGQtcHJvZ3Jlc3MtYmFyLW11dGVkOiB2YXIoLS1jcGQtY29sb3ItcmVkLTgwMCk7XG4gIH1cbn1cblxuLl9wcm9ncmVzcy1iYXItbGFiZWxfMWt2aTVfNTMge1xuICBmb250OiB2YXIoLS1jcGQtZm9udC1ib2R5LXNtLW1lZGl1bSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jcGQtZm9udC1sZXR0ZXItc3BhY2luZy1ib2R5LXNtKTtcbiAgY29sb3I6IHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbWFpbik7XG59XG5cbi5fcHJvZ3Jlc3MtYmFyLWluZGljYXRvcl8xa3ZpNV81OSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG5cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgMTM1ZGVnLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQpIDAlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbXV0ZWQpIDI1JSxcbiAgICB2YXIoLS1jcGQtcHJvZ3Jlc3MtYmFyLW1haW4pIDI1JSxcbiAgICB2YXIoLS1jcGQtcHJvZ3Jlc3MtYmFyLW1haW4pIDUwJSxcbiAgICB2YXIoLS1jcGQtcHJvZ3Jlc3MtYmFyLW11dGVkKSA1MCUsXG4gICAgdmFyKC0tY3BkLXByb2dyZXNzLWJhci1tdXRlZCkgNzUlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbWFpbikgNzUlLFxuICAgIHZhcigtLWNwZC1wcm9ncmVzcy1iYXItbWFpbikgMTAwJSxcbiAgICB2YXIoLS1jcGQtcHJvZ3Jlc3MtYmFyLW11dGVkKSAxMDAlXG4gICk7XG5cbiAgLyogc3FydChudW1iZXIgb2Ygc3RyaXBlcyAqIDIgKiAoc3RyaXBlIHdpZHRoKV4yKSA9IHNxcnQoNCAqIDIgKiAyXjIpID0gc3FydCgzMikgKi9cbiAgYmFja2dyb3VuZC1zaXplOiA1LjY1NjlweCA1LjY1NjlweDtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLl9wcm9ncmVzcy1iYXItaW5kaWNhdG9yXzFrdmk1XzU5IHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX2NvbnRlbnRfMTZmMnlfOCB7XG4gIC8qIDMyMHB4ICsgMjBweCBwYWRkaW5nIGxlZnQgKyAyMHB4IHBhZGRpbmcgcmlnaHQgKi9cbiAgbWF4LWlubGluZS1zaXplOiAzMjBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3BkLWNvbG9yLWJnLWFjdGlvbi1wcmltYXJ5LXJlc3QpO1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtNXgpIHZhcigtLWNwZC1zcGFjZS02eCk7XG5cbiAgLyogZnJvbSBmaWdtYSAqL1xuICBib3gtc2hhZG93OiAwIDRweCAyNHB4IDAgcmdiKDAgMCAwIC8gMTAlKTtcblxuICAvKlxuICAqIEdyaWQsIHdlIHdhbnQgdG8gaGF2ZSB0aGUgZm9sbG93aW5nIGxheW91dDpcbiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICogLSAgLS0tLS0tLS0tLS0tLS0tICAgLS0tLS0tLS0tLSAgLVxuICAqIC0gIHwgaGVhZGluZyAgICAgfCAgIHwgICAgICAgIHwgIC1cbiAgKiAtICAtLS0tLS0tLS0tLS0tLSAgICB8IGJ1dHRvbiB8ICAtXG4gICogLSAgLS0tLS0tLS0tLS0tLS0tICAgfCBidXR0b24gfCAgLVxuICAqIC0gIHwgZGVzY3JpcHRpb24gfCAgIHwgICAgICAgIHwgIC1cbiAgKiAtICAtLS0tLS0tLS0tLS0tLS0gICAtLS0tLS0tLS0tICAtXG4gICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAqL1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICAgIFwiaGVhZGVyIGJ1dHRvblwiIGF1dG9cbiAgICBcImRlc2NyaXB0aW9uIGJ1dHRvblwiIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IHZhcigtLWNwZC1zcGFjZS02eCk7XG59XG5cbi5faGVhZGVyXzE2ZjJ5XzM3IHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtb24tc29saWQtcHJpbWFyeSk7XG4gIGdyaWQtYXJlYTogaGVhZGVyO1xufVxuXG4uX2Rlc2NyaXB0aW9uXzE2ZjJ5XzQzIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1ncmF5LTUwMCk7XG4gIGdyaWQtYXJlYTogZGVzY3JpcHRpb247XG59XG5cbi5fYnV0dG9uXzE2ZjJ5XzQ4IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1zdWJ0bGUtc2Vjb25kYXJ5KTtcbiAgZ3JpZC1hcmVhOiBidXR0b247XG59XG5cbi5fYXJyb3dfMTZmMnlfNTMge1xuICBmaWxsOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXByaW1hcnktcmVzdCk7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5fY29udGVudF8xNmYyeV84IHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX3NlYXJjaF8xbGt0bF84IHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gIGJsb2NrLXNpemU6IDM2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiB2YXIoLS1jcGQtY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgZGlzcGxheTogZmxleDtcblxuICAvKiAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIEZpZWxkJ3MgZGVmYXVsdCBmbGV4IHNldHRpbmdzICovXG4gIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0xLTV4KSB2YXIoLS1jcGQtc3BhY2UtM3gpO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fc2VhcmNoXzFsa3RsXzg6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcbiAgfVxufVxuXG4uX3NlYXJjaF8xbGt0bF84OmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1ob3ZlcmVkKTtcbn1cblxuLl9zZWFyY2hfMWxrdGxfODpmb2N1cy13aXRoaW4ge1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRjb2xvcjtcbn1cblxuLl9pY29uXzFsa3RsXzM3IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG5AbWVkaWEgKGhvdmVyKSB7XG4gIC5fc2VhcmNoXzFsa3RsXzg6aG92ZXIgLl9pY29uXzFsa3RsXzM3IHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gIH1cbn1cblxuLl9zZWFyY2hfMWxrdGxfODphY3RpdmUgLl9pY29uXzFsa3RsXzM3IHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXByaW1hcnkpO1xufVxuXG4uX2lucHV0XzFsa3RsXzUyIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBvdXRsaW5lOiAwO1xuICBmbGV4OiAxO1xuICBtaW4taW5saW5lLXNpemU6IDA7XG59XG5cbi5faW5wdXRfMWxrdGxfNTI6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWZlbnNpdmUtY3NzL3JlcXVpcmUtZm9jdXMtdmlzaWJsZSAqL1xuLl9pbnB1dF8xbGt0bF81Mjpmb2N1czo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuQG1lZGlhIChob3Zlcikge1xuICAuX3NlYXJjaF8xbGt0bF84OmhvdmVyIC5faW5wdXRfMWxrdGxfNTI6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDIzLCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fc2VwYXJhdG9yXzEzcXdmXzgge1xuICAtLWNwZC1zZXBhcmF0b3ItY29sb3I6IHZhcigtLWNwZC1jb2xvci1zZXBhcmF0b3ItcHJpbWFyeSk7XG4gIC0tY3BkLXNlcGFyYXRvci1zaXplOiAxcHg7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3BkLXNlcGFyYXRvci1jb2xvcik7XG59XG5cbi5fc2VwYXJhdG9yXzEzcXdmXzhbZGF0YS1raW5kPVwic2Vjb25kYXJ5XCJdIHtcbiAgLS1jcGQtc2VwYXJhdG9yLWNvbG9yOiB2YXIoLS1jcGQtY29sb3Itc2VwYXJhdG9yLXNlY29uZGFyeSk7XG59XG5cbi5fc2VwYXJhdG9yXzEzcXdmXzhbZGF0YS1raW5kPVwic2VjdGlvblwiXSB7XG4gIC0tY3BkLXNlcGFyYXRvci1zaXplOiAycHg7XG59XG5cbi5fc2VwYXJhdG9yXzEzcXdmXzhbZGF0YS1vcmllbnRhdGlvbj1cImhvcml6b250YWxcIl0ge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLWNwZC1zZXBhcmF0b3Itc3BhY2luZyk7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLWNwZC1zZXBhcmF0b3ItaW5zZXQpO1xuICBibG9jay1zaXplOiB2YXIoLS1jcGQtc2VwYXJhdG9yLXNpemUpO1xufVxuXG4uX3NlcGFyYXRvcl8xM3F3Zl84W2RhdGEtb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiXSB7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLWNwZC1zZXBhcmF0b3Itc3BhY2luZyk7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tY3BkLXNlcGFyYXRvci1pbnNldCk7XG4gIGlubGluZS1zaXplOiB2YXIoLS1jcGQtc2VwYXJhdG9yLXNpemUpO1xufVxuXG5AbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAuX3NlcGFyYXRvcl8xM3F3Zl84IHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qXG5Db3B5cmlnaHQgMjAyNiBFbGVtZW50IENyZWF0aW9ucyBMdGQuXG5Db3B5cmlnaHQgMjAyMywgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgTGljZW5zZVJlZi1FbGVtZW50LUNvbW1lcmNpYWxcblBsZWFzZSBzZWUgTElDRU5TRSBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG4uX3RvZ2dsZV8xM3Jua185IHtcbiAgJltkYXRhLXNpemU9XCJsZ1wiXSB7XG4gICAgLS1jcGQtc3dpdGNoLWJ1dHRvbi1zaXplOiA0NHB4O1xuICAgIC0tY3BkLXN3aXRjaC1pY29uLXNpemU6IDI0cHg7XG4gIH1cblxuICAmW2RhdGEtc2l6ZT1cIm1kXCJdIHtcbiAgICAtLWNwZC1zd2l0Y2gtYnV0dG9uLXNpemU6IDMycHg7XG4gICAgLS1jcGQtc3dpdGNoLWljb24tc2l6ZTogMjBweDtcbiAgfVxuXG4gIHBhZGRpbmc6IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXJhZGl1cy1waWxsLWVmZmVjdCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5saW5lLXNpemU6IGZpdC1jb250ZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcGQtY29sb3ItYm9yZGVyLWludGVyYWN0aXZlLXNlY29uZGFyeSk7XG5cbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzKSB7XG4gICAgLyogRmlyZWZveCBzZWVtcyB0byBsb3NlIGJvcmRlcnMgaW4gcHJhY3RpY2UgKGh0dHBzOi8vZ2l0aHViLmNvbS9lbGVtZW50LWhxL2NvbXBvdW5kLXdlYi9wdWxsLzQ4MiNkaXNjdXNzaW9uX3IzMTM2NTQ0OTYyKSBzbyByZWRlZmluZSB0aGlzIGhlcmUuICovXG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gIH1cblxuICBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tcHJpbWFyeSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xcztcbiAgICBpbmxpbmUtc2l6ZTogdmFyKC0tY3BkLXN3aXRjaC1pY29uLXNpemUpO1xuICAgIGJsb2NrLXNpemU6IHZhcigtLWNwZC1zd2l0Y2gtaWNvbi1zaXplKTtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoXG4gICAgICAodmFyKC0tY3BkLXN3aXRjaC1idXR0b24tc2l6ZSkgLSB2YXIoLS1jcGQtc3dpdGNoLWljb24tc2l6ZSkpIC8gMlxuICAgICk7XG4gIH1cblxuICBzdmc6bnRoLWNoaWxkKDIpIHtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLWNwZC1zcGFjZS0wLTV4KTtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKFxuICAgICAgKHZhcigtLWNwZC1zd2l0Y2gtYnV0dG9uLXNpemUpIC0gdmFyKC0tY3BkLXN3aXRjaC1pY29uLXNpemUpKSAvIDJcbiAgICApO1xuICB9XG5cbiAgc3ZnOm50aC1jaGlsZCg0KSB7XG4gICAgaW5zZXQtaW5saW5lLWVuZDogdmFyKC0tY3BkLXNwYWNlLTAtNXgpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKFxuICAgICAgKHZhcigtLWNwZC1zd2l0Y2gtYnV0dG9uLXNpemUpIC0gdmFyKC0tY3BkLXN3aXRjaC1pY29uLXNpemUpKSAvIDJcbiAgICApO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAvKiBTYWZhcmkgcHV0cyBhIG1hcmdpbiBvbiB0aGVzZSwgd2hpY2ggaXMgbm90IHJlbW92ZWQgdmlhIGFwcGVhcmFuY2U6IG5vbmUgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgYmxvY2stc2l6ZTogdmFyKC0tY3BkLXN3aXRjaC1idXR0b24tc2l6ZSk7XG4gICAgaW5saW5lLXNpemU6IHZhcigtLWNwZC1zd2l0Y2gtYnV0dG9uLXNpemUpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcGQtY29sb3ItYmctYWN0aW9uLXNlY29uZGFyeS1yZXN0KTtcbiAgICBib3gtc2hhZG93OiAwIDEuMnB4IDIuNHB4IDAgcmdiKDAgMCAwIC8gMTUlKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1zZWNvbmRhcnkpO1xuICB9XG5cbiAgaW5wdXQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7XG4gIH1cblxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIGlucHV0OmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY3BkLWNvbG9yLWJvcmRlci1pbnRlcmFjdGl2ZS1wcmltYXJ5KTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LWhvdmVyZWQpO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dDpjaGVja2VkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1ob3ZlcmVkKTtcbiAgICB9XG4gIH1cblxuICBpbnB1dDphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tc2Vjb25kYXJ5LXByZXNzZWQpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIHtcbiAgICBib3JkZXI6IHVuc2V0O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcblxuICAgIEBtZWRpYSAoZm9yY2VkLWNvbG9ycykge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQ7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIHN2ZyB7XG4gICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZDphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1wcmVzc2VkKTtcbiAgfVxufVxuLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi5fdG9hc3QtY29udGFpbmVyXzF5c2IzXzgge1xuICBpbmxpbmUtc2l6ZTogZml0LWNvbnRlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNwZC1jb2xvci1iZy1hY3Rpb24tcHJpbWFyeS1yZXN0KTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LW9uLXNvbGlkLXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiA5OXB4O1xuICBwYWRkaW5nOiB2YXIoLS1jcGQtc3BhY2UtMngpIHZhcigtLWNwZC1zcGFjZS00eCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0yeCk7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5fdG9hc3QtY29udGFpbmVyXzF5c2IzXzgge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uX2ljb25fMXlzYjNfMjYge1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLl9oYXMtY2xvc2VfMXlzYjNfMzAge1xuICBnYXA6IHZhcigtLWNwZC1zcGFjZS0zeCk7XG59XG5cbi5fY29udGVudF8xeXNiM18zNCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMngpO1xufVxuXG4uX2Nsb3NlXzF5c2IzXzQxIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTAtNXgpICFpbXBvcnRhbnQ7XG5cbiAgJjpub3QoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgICoge1xuICAgICAgLyogT3ZlcnJpZGUgZGVmYXVsdCBjb2xvciBvZiBpY29uIGJ1dHRvbi4gVGhlIGNvbnRhaW5lciBiYWNrZ3JvdW5kIGlzIGRpZmZlcmVudCB0aGFuIHRoZSBkZWZhdWx0IGNhbnZhcyBjb2xvciAqL1xuICAgICAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLW9uLXNvbGlkLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4vKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIExpY2Vuc2VSZWYtRWxlbWVudC1Db21tZXJjaWFsXG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLl92aXN1YWwtbGlzdF82enBmbl84IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1jcGQtc3BhY2UtMXgpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogXCJcIjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgLl92aXN1YWwtbGlzdF82enBmbl84IHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qXG4gKiBDb3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuICogUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiAqL1xuXG4uX3Zpc3VhbC1saXN0LWl0ZW1fMW5jMXlfOCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tY3BkLXNwYWNlLTN4KTtcbiAgcGFkZGluZzogdmFyKC0tY3BkLXNwYWNlLTN4KSB2YXIoLS1jcGQtc3BhY2UtNHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jcGQtY29sb3ItYmctc3VidGxlLXNlY29uZGFyeSk7XG4gIGZvbnQ6IHZhcigtLWNwZC1mb250LWJvZHktbWQtbWVkaXVtKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLl92aXN1YWwtbGlzdC1pdGVtLWljb25fMW5jMXlfMTcge1xuICBmbGV4LXNocmluazogMDtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci1pY29uLXNlY29uZGFyeSk7XG59XG5cbi5fdmlzdWFsLWxpc3QtaXRlbS1pY29uLXN1Y2Nlc3NfMW5jMXlfMjIge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tc3VjY2Vzcy1wcmltYXJ5KTtcbn1cblxuLl92aXN1YWwtbGlzdC1pdGVtLWljb24tZGVzdHJ1Y3RpdmVfMW5jMXlfMjYge1xuICBjb2xvcjogdmFyKC0tY3BkLWNvbG9yLWljb24tY3JpdGljYWwtcHJpbWFyeSk7XG59XG5cbkBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gIC5fdmlzdWFsLWxpc3QtaXRlbV8xbmMxeV84IHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi8qXG5Db3B5cmlnaHQgMjAyNSBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIzIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAyMyBOZXcgVmVjdG9yIEx0ZFxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBMaWNlbnNlUmVmLUVsZW1lbnQtQ29tbWVyY2lhbFxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbjpyb290IHtcbiAgLS1jcGQtcmFkaXVzLXBpbGwtZWZmZWN0OiA5OTk5cHg7XG5cbiAgLyogRGVmYXVsdCBpY29uIGFuZCBhdmF0YXIgc2l6ZSAqL1xuICAtLWNwZC1pY29uLWJ1dHRvbi1zaXplOiB2YXIoLS1jcGQtc3BhY2UtOHgpO1xuICAtLWNwZC1hdmF0YXItc2l6ZTogdmFyKC0tY3BkLXNwYWNlLTE2eCk7XG5cbiAgLyoqXG4gICogV2Ugd2FudCB0byBhcHBseSBJbnRlciBEeW5hbWljIG1ldHJpY3MgKGh0dHBzOi8vcnNtcy5tZS9pbnRlci9keW5tZXRyaWNzLylcbiAgKiBXZSBuZWVkIHRvIHR3ZWFrIHRoZSBgbGV0dGVyLXNwYWNpbmdgIHByb3BlcnR5IGFuZCBkb2luZyBzbywgZGlzYWJsZXMgYnlcbiAgKiBkZWZhdWx0IHRoZSBvcHRpb25hbCBsaWdhdHVyZXNcbiAgKiBgZm9udC1mZWF0dXJlLXNldHRpbmdzYCBhbGxvd3MgdXMgdG8gb3ZlcnJpZGUgdGhpcyBiZWhhdmlvdXIgYW5kIGhhdmUgdGhlXG4gICogY29ycmVjdCBsaWdhdHVyZXMgYW5kIHRoZSBwcm9wZXIgZHluYW1pYyBtZXRyaWMgc3BhY2luZy5cbiAgKi9cbiAgLS1jcGQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxLCBcImxpZ2FcIiAxLCBcImNhbHRcIiAxO1xuICAtLWNwZC1zZXBhcmF0b3Itc3BhY2luZzogdmFyKC0tY3BkLXNwYWNlLTJ4KTtcbiAgLS1jcGQtc2VwYXJhdG9yLWluc2V0OiAwO1xufVxuXG5odG1sLFxuYm9keSxcbmlucHV0IHtcbiAgZm9udDogdmFyKC0tY3BkLWZvbnQtYm9keS1tZC1yZWd1bGFyKTtcbiAgY29sb3I6IHZhcigtLWNwZC1jb2xvci10ZXh0LXByaW1hcnkpO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWNwZC1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xufVxuXG5odG1sLFxuYm9keSB7XG4gIGJsb2NrLXNpemU6IDEwMCU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY3BkLWZvbnQtc2l6ZS1yb290KTtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNwZC1jb2xvci1iZy1jYW52YXMtZGVmYXVsdCk7XG59XG4vKiR2aXRlJDoxKi8iLCJwcmUgY29kZS5obGpze2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MWVtfWNvZGUuaGxqc3twYWRkaW5nOjNweCA1cHh9LmhsanN7Y29sb3I6IzM4M2E0MjtiYWNrZ3JvdW5kOiNmYWZhZmF9LmhsanMtY29tbWVudCwuaGxqcy1xdW90ZXtjb2xvcjojYTBhMWE3O2ZvbnQtc3R5bGU6aXRhbGljfS5obGpzLWRvY3RhZywuaGxqcy1mb3JtdWxhLC5obGpzLWtleXdvcmR7Y29sb3I6I2E2MjZhNH0uaGxqcy1kZWxldGlvbiwuaGxqcy1uYW1lLC5obGpzLXNlY3Rpb24sLmhsanMtc2VsZWN0b3ItdGFnLC5obGpzLXN1YnN0e2NvbG9yOiNlNDU2NDl9LmhsanMtbGl0ZXJhbHtjb2xvcjojMDE4NGJifS5obGpzLWFkZGl0aW9uLC5obGpzLWF0dHJpYnV0ZSwuaGxqcy1tZXRhIC5obGpzLXN0cmluZywuaGxqcy1yZWdleHAsLmhsanMtc3RyaW5ne2NvbG9yOiM1MGExNGZ9LmhsanMtYXR0ciwuaGxqcy1udW1iZXIsLmhsanMtc2VsZWN0b3ItYXR0ciwuaGxqcy1zZWxlY3Rvci1jbGFzcywuaGxqcy1zZWxlY3Rvci1wc2V1ZG8sLmhsanMtdGVtcGxhdGUtdmFyaWFibGUsLmhsanMtdHlwZSwuaGxqcy12YXJpYWJsZXtjb2xvcjojOTg2ODAxfS5obGpzLWJ1bGxldCwuaGxqcy1saW5rLC5obGpzLW1ldGEsLmhsanMtc2VsZWN0b3ItaWQsLmhsanMtc3ltYm9sLC5obGpzLXRpdGxle2NvbG9yOiM0MDc4ZjJ9LmhsanMtYnVpbHRfaW4sLmhsanMtY2xhc3MgLmhsanMtdGl0bGUsLmhsanMtdGl0bGUuY2xhc3Nfe2NvbG9yOiNjMTg0MDF9LmhsanMtZW1waGFzaXN7Zm9udC1zdHlsZTppdGFsaWN9LmhsanMtc3Ryb25ne2ZvbnQtd2VpZ2h0OjcwMH0uaGxqcy1saW5re3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9IiwiLypsaWdodCAqL1xuLm1hcmtkb3duLWJvZHkge1xuICBjb2xvci1zY2hlbWU6IGxpZ2h0O1xuICAvKiogQ1NTIGRlZmF1bHQgZWFzaW5nLiBVc2UgZm9yIGhvdmVyIHN0YXRlIGNoYW5nZXMgYW5kIG1pY3JvLWludGVyYWN0aW9ucy4gKi9cbiAgLyoqIEFjY2VsZXJhdGluZyBtb3Rpb24uIFVzZSBmb3IgZWxlbWVudHMgZXhpdGluZyB0aGUgdmlld3BvcnQgKG1vdmluZyBvZmYtc2NyZWVuKS4gKi9cbiAgLyoqIFNtb290aCBhY2NlbGVyYXRpb24gYW5kIGRlY2VsZXJhdGlvbi4gVXNlIGZvciBlbGVtZW50cyBtb3Zpbmcgb3IgbW9ycGhpbmcgd2l0aGluIHRoZSB2aWV3cG9ydC4gKi9cbiAgLyoqIERlY2VsZXJhdGluZyBtb3Rpb24uIFVzZSBmb3IgZWxlbWVudHMgZW50ZXJpbmcgdGhlIHZpZXdwb3J0IG9yIGFwcGVhcmluZyBvbiBzY3JlZW4uICovXG4gIC8qKiBDb25zdGFudCBtb3Rpb24gd2l0aCBubyBhY2NlbGVyYXRpb24uIFVzZSBmb3IgY29udGludW91cyBhbmltYXRpb25zIGxpa2UgcHJvZ3Jlc3MgYmFycyBvciBsb2FkZXJzLiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMWYyMzI4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiTm90byBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IC4ycmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSAub2N0aWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG59XG5cbi5tYXJrZG93bi1ib2R5IGgxOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUsXG4ubWFya2Rvd24tYm9keSBoMjpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlLFxuLm1hcmtkb3duLWJvZHkgaDM6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZSxcbi5tYXJrZG93bi1ib2R5IGg0OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluazpiZWZvcmUsXG4ubWFya2Rvd24tYm9keSBoNTpob3ZlciAuYW5jaG9yIC5vY3RpY29uLWxpbms6YmVmb3JlLFxuLm1hcmtkb3duLWJvZHkgaDY6aG92ZXIgLmFuY2hvciAub2N0aWNvbi1saW5rOmJlZm9yZSB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIHZlcnNpb249JzEuMScgYXJpYS1oaWRkZW49J3RydWUnPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTcuNzc1IDMuMjc1YS43NS43NSAwIDAwMS4wNiAxLjA2bDEuMjUtMS4yNWEyIDIgMCAxMTIuODMgMi44M2wtMi41IDIuNWEyIDIgMCAwMS0yLjgzIDAgLjc1Ljc1IDAgMDAtMS4wNiAxLjA2IDMuNSAzLjUgMCAwMDQuOTUgMGwyLjUtMi41YTMuNSAzLjUgMCAwMC00Ljk1LTQuOTVsLTEuMjUgMS4yNXptLTQuNjkgOS42NGEyIDIgMCAwMTAtMi44M2wyLjUtMi41YTIgMiAwIDAxMi44MyAwIC43NS43NSAwIDAwMS4wNi0xLjA2IDMuNSAzLjUgMCAwMC00Ljk1IDBsLTIuNSAyLjVhMy41IDMuNSAwIDAwNC45NSA0Ljk1bDEuMjUtMS4yNWEuNzUuNzUgMCAwMC0xLjA2LTEuMDZsLTEuMjUgMS4yNWEyIDIgMCAwMS0yLjgzIDB6Jz48L3BhdGg+PC9zdmc+XCIpO1xuICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNicgdmVyc2lvbj0nMS4xJyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNNy43NzUgMy4yNzVhLjc1Ljc1IDAgMDAxLjA2IDEuMDZsMS4yNS0xLjI1YTIgMiAwIDExMi44MyAyLjgzbC0yLjUgMi41YTIgMiAwIDAxLTIuODMgMCAuNzUuNzUgMCAwMC0xLjA2IDEuMDYgMy41IDMuNSAwIDAwNC45NSAwbDIuNS0yLjVhMy41IDMuNSAwIDAwLTQuOTUtNC45NWwtMS4yNSAxLjI1em0tNC42OSA5LjY0YTIgMiAwIDAxMC0yLjgzbDIuNS0yLjVhMiAyIDAgMDEyLjgzIDAgLjc1Ljc1IDAgMDAxLjA2LTEuMDYgMy41IDMuNSAwIDAwLTQuOTUgMGwtMi41IDIuNWEzLjUgMy41IDAgMDA0Ljk1IDQuOTVsMS4yNS0xLjI1YS43NS43NSAwIDAwLTEuMDYtMS4wNmwtMS4yNSAxLjI1YTIgMiAwIDAxLTIuODMgMHonPjwvcGF0aD48L3N2Zz5cIik7XG59XG5cbi5tYXJrZG93bi1ib2R5IGRldGFpbHMsXG4ubWFya2Rvd24tYm9keSBmaWdjYXB0aW9uLFxuLm1hcmtkb3duLWJvZHkgZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IFtoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubWFya2Rvd24tYm9keSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbiAgY29sb3I6ICMwOTY5ZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG4ubWFya2Rvd24tYm9keSBiLFxuLm1hcmtkb3duLWJvZHkgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMSB7XG4gIG1hcmdpbjogLjY3ZW0gMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZy1ib3R0b206IC4zZW07XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDllMGIzO1xufVxuXG4ubWFya2Rvd24tYm9keSBtYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjhjNTtcbiAgY29sb3I6ICMxZjIzMjg7XG59XG5cbi5tYXJrZG93bi1ib2R5IHNtYWxsIHtcbiAgZm9udC1zaXplOiA5MCU7XG59XG5cbi5tYXJrZG93bi1ib2R5IHN1Yixcbi5tYXJrZG93bi1ib2R5IHN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IHN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IGltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLm1hcmtkb3duLWJvZHkgY29kZSxcbi5tYXJrZG93bi1ib2R5IGtiZCxcbi5tYXJrZG93bi1ib2R5IHByZSxcbi5tYXJrZG93bi1ib2R5IHNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gMi41cmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDApO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDllMGIzO1xuICBoZWlnaHQ6IC4yNWVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFkOWUwO1xuICBib3JkZXI6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGlucHV0IHtcbiAgZm9udDogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IFt0eXBlPWJ1dHRvbl0sXG4ubWFya2Rvd24tYm9keSBbdHlwZT1yZXNldF0sXG4ubWFya2Rvd24tYm9keSBbdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLm1hcmtkb3duLWJvZHkgW3R5cGU9Y2hlY2tib3hdLFxuLm1hcmtkb3duLWJvZHkgW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi5tYXJrZG93bi1ib2R5IFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5tYXJrZG93bi1ib2R5IFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4ubWFya2Rvd24tYm9keSBbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogLjU0O1xufVxuXG4ubWFya2Rvd24tYm9keSA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubWFya2Rvd24tYm9keSA6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM1OTYzNmU7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5tYXJrZG93bi1ib2R5IGhyOjpiZWZvcmUge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLm1hcmtkb3duLWJvZHkgaHI6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWFya2Rvd24tYm9keSB0YWJsZSB7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBmb250LXZhcmlhbnQ6IHRhYnVsYXItbnVtcztcbn1cblxuLm1hcmtkb3duLWJvZHkgdGQsXG4ubWFya2Rvd24tYm9keSB0aCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGRldGFpbHMgc3VtbWFyeSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1hcmtkb3duLWJvZHkgYTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IFtyb2xlPWJ1dHRvbl06Zm9jdXMsXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1cyxcbi5tYXJrZG93bi1ib2R5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWJvcmRlckNvbG9yLWFjY2VudC1lbXBoYXNpcyk7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSBhOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBbcm9sZT1idXR0b25dOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gIG91dGxpbmU6IHNvbGlkIDFweCByZ2JhKDAsMCwwLDApO1xufVxuXG4ubWFya2Rvd24tYm9keSBhOmZvY3VzLXZpc2libGUsXG4ubWFya2Rvd24tYm9keSBbcm9sZT1idXR0b25dOmZvY3VzLXZpc2libGUsXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1cy12aXNpYmxlLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXJDb2xvci1hY2NlbnQtZW1waGFzaXMpO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgYTpub3QoW2NsYXNzXSk6Zm9jdXMsXG4ubWFya2Rvd24tYm9keSBhOm5vdChbY2xhc3NdKTpmb2N1cy12aXNpYmxlLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1yYWRpb106Zm9jdXMsXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPXJhZGlvXTpmb2N1cy12aXNpYmxlLFxuLm1hcmtkb3duLWJvZHkgaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMsXG4ubWFya2Rvd24tYm9keSBpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGtiZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgZm9udDogMTFweCB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBTRiBNb25vLCBNZW5sbywgQ29uc29sYXMsIExpYmVyYXRpb24gTW9ubywgbW9ub3NwYWNlO1xuICBsaW5lLWhlaWdodDogMTBweDtcbiAgY29sb3I6ICMxZjIzMjg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY4ZmE7XG4gIGJvcmRlcjogc29saWQgMXB4IHZhcigtLWJvcmRlckNvbG9yLW11dGVkKTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYm9yZGVyQ29sb3ItbXV0ZWQpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHZhcigtLWJvcmRlckNvbG9yLW11dGVkKTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaDEsXG4ubWFya2Rvd24tYm9keSBoMixcbi5tYXJrZG93bi1ib2R5IGgzLFxuLm1hcmtkb3duLWJvZHkgaDQsXG4ubWFya2Rvd24tYm9keSBoNSxcbi5tYXJrZG93bi1ib2R5IGg2IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaDIge1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nLWJvdHRvbTogLjNlbTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQ5ZTBiMztcbn1cblxuLm1hcmtkb3duLWJvZHkgaDMge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEuMjVlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaDQge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaDUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IC44NzVlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgaDYge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IC44NWVtO1xuICBjb2xvcjogIzU5NjM2ZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgcCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5tYXJrZG93bi1ib2R5IGJsb2NrcXVvdGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMWVtO1xuICBjb2xvcjogIzU5NjM2ZTtcbiAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkICNkMWQ5ZTA7XG59XG5cbi5tYXJrZG93bi1ib2R5IHVsLFxuLm1hcmtkb3duLWJvZHkgb2wge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgb2wgb2wsXG4ubWFya2Rvd24tYm9keSB1bCBvbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XG59XG5cbi5tYXJrZG93bi1ib2R5IHVsIHVsIG9sLFxuLm1hcmtkb3duLWJvZHkgdWwgb2wgb2wsXG4ubWFya2Rvd24tYm9keSBvbCB1bCBvbCxcbi5tYXJrZG93bi1ib2R5IG9sIG9sIG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgdHQsXG4ubWFya2Rvd24tYm9keSBjb2RlLFxuLm1hcmtkb3duLWJvZHkgc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBTRiBNb25vLCBNZW5sbywgQ29uc29sYXMsIExpYmVyYXRpb24gTW9ubywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5tYXJrZG93bi1ib2R5IHByZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBTRiBNb25vLCBNZW5sbywgQ29uc29sYXMsIExpYmVyYXRpb24gTW9ubywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDEycHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG4ubWFya2Rvd24tYm9keSAub2N0aWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5tYXJrZG93bi1ib2R5IGlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuLm1hcmtkb3duLWJvZHkgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tci0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmtkb3duLWJvZHk6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ubWFya2Rvd24tYm9keTo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5tYXJrZG93bi1ib2R5Pio6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJrZG93bi1ib2R5Pio6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYTpub3QoW2hyZWZdKSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5hYnNlbnQge1xuICBjb2xvcjogI2QxMjQyZjtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmFuY2hvciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ubWFya2Rvd24tYm9keSAuYW5jaG9yOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgcCxcbi5tYXJrZG93bi1ib2R5IGJsb2NrcXVvdGUsXG4ubWFya2Rvd24tYm9keSB1bCxcbi5tYXJrZG93bi1ib2R5IG9sLFxuLm1hcmtkb3duLWJvZHkgZGwsXG4ubWFya2Rvd24tYm9keSB0YWJsZSxcbi5tYXJrZG93bi1ib2R5IHByZSxcbi5tYXJrZG93bi1ib2R5IGRldGFpbHMge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBibG9ja3F1b3RlPjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGJsb2NrcXVvdGU+Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMSAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDIgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGgzIC5vY3RpY29uLWxpbmssXG4ubWFya2Rvd24tYm9keSBoNCAub2N0aWNvbi1saW5rLFxuLm1hcmtkb3duLWJvZHkgaDUgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGg2IC5vY3RpY29uLWxpbmsge1xuICBjb2xvcjogIzFmMjMyODtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ubWFya2Rvd24tYm9keSBoMTpob3ZlciAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgaDI6aG92ZXIgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IGgzOmhvdmVyIC5hbmNob3IsXG4ubWFya2Rvd24tYm9keSBoNDpob3ZlciAuYW5jaG9yLFxuLm1hcmtkb3duLWJvZHkgaDU6aG92ZXIgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IGg2OmhvdmVyIC5hbmNob3Ige1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IGgxOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGgyOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGgzOmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGg0OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGg1OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayxcbi5tYXJrZG93bi1ib2R5IGg2OmhvdmVyIC5hbmNob3IgLm9jdGljb24tbGluayB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5tYXJrZG93bi1ib2R5IGgxIHR0LFxuLm1hcmtkb3duLWJvZHkgaDEgY29kZSxcbi5tYXJrZG93bi1ib2R5IGgyIHR0LFxuLm1hcmtkb3duLWJvZHkgaDIgY29kZSxcbi5tYXJrZG93bi1ib2R5IGgzIHR0LFxuLm1hcmtkb3duLWJvZHkgaDMgY29kZSxcbi5tYXJrZG93bi1ib2R5IGg0IHR0LFxuLm1hcmtkb3duLWJvZHkgaDQgY29kZSxcbi5tYXJrZG93bi1ib2R5IGg1IHR0LFxuLm1hcmtkb3duLWJvZHkgaDUgY29kZSxcbi5tYXJrZG93bi1ib2R5IGg2IHR0LFxuLm1hcmtkb3duLWJvZHkgaDYgY29kZSB7XG4gIHBhZGRpbmc6IDAgLjJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGgxLFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDMsXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5IGg0LFxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoNSxcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDEgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDIgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDMgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDQgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDUgLmFuY2hvcixcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDYgLmFuY2hvciB7XG4gIG1hcmdpbi1sZWZ0OiAtNDBweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3VtbWFyeSBoMSxcbi5tYXJrZG93bi1ib2R5IHN1bW1hcnkgaDIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgdWwubm8tbGlzdCxcbi5tYXJrZG93bi1ib2R5IG9sLm5vLWxpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IG9sW3R5cGU9XCJhIHNcIl0ge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbFt0eXBlPVwiQSBzXCJdIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYTtcbn1cblxuLm1hcmtkb3duLWJvZHkgb2xbdHlwZT1cImkgc1wiXSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47XG59XG5cbi5tYXJrZG93bi1ib2R5IG9sW3R5cGU9XCJJIHNcIl0ge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuO1xufVxuXG4ubWFya2Rvd24tYm9keSBvbFt0eXBlPVwiMVwiXSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGl2Pm9sOm5vdChbdHlwZV0pIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xufVxuXG4ubWFya2Rvd24tYm9keSB1bCB1bCxcbi5tYXJrZG93bi1ib2R5IHVsIG9sLFxuLm1hcmtkb3duLWJvZHkgb2wgb2wsXG4ubWFya2Rvd24tYm9keSBvbCB1bCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGxpPnAge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBsaStsaSB7XG4gIG1hcmdpbi10b3A6IC4yNWVtO1xufVxuXG4ubWFya2Rvd24tYm9keSBkbCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IGRsIGR0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgZGwgZGQge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5tYXJrZG93bi1ib2R5IHRhYmxlIHRoIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgdGFibGUgdGgsXG4ubWFya2Rvd24tYm9keSB0YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDZweCAxM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDFkOWUwO1xufVxuXG4ubWFya2Rvd24tYm9keSB0YWJsZSB0ZD46bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IHRhYmxlIHRyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQ5ZTBiMztcbn1cblxuLm1hcmtkb3duLWJvZHkgdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY4ZmE7XG59XG5cbi5tYXJrZG93bi1ib2R5IHRhYmxlIGltZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG59XG5cbi5tYXJrZG93bi1ib2R5IGltZ1thbGlnbj1yaWdodF0ge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5tYXJrZG93bi1ib2R5IGltZ1thbGlnbj1sZWZ0XSB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5lbW9qaSB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZyYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uZnJhbWU+c3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDdweDtcbiAgbWFyZ2luOiAxM3B4IDAgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QxZDllMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mcmFtZSBzcGFuIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mcmFtZSBzcGFuIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDAgMDtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbG9yOiAjMWYyMzI4O1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGVhcjogYm90aDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5hbGlnbi1jZW50ZXI+c3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEzcHggYXV0byAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uYWxpZ24tY2VudGVyIHNwYW4gaW1nIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5hbGlnbi1yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGVhcjogYm90aDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5hbGlnbi1yaWdodD5zcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTNweCAwIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmFsaWduLXJpZ2h0IHNwYW4gaW1nIHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mbG9hdC1sZWZ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tYXJrZG93bi1ib2R5IHNwYW4uZmxvYXQtbGVmdCBzcGFuIHtcbiAgbWFyZ2luOiAxM3B4IDAgMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgc3Bhbi5mbG9hdC1yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWFya2Rvd24tYm9keSBzcGFuLmZsb2F0LXJpZ2h0PnNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxM3B4IGF1dG8gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IGNvZGUsXG4ubWFya2Rvd24tYm9keSB0dCB7XG4gIHBhZGRpbmc6IC4yZW0gLjRlbTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDg1JTtcbiAgd2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlcztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgxOGI5ODFmO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5tYXJrZG93bi1ib2R5IGNvZGUgYnIsXG4ubWFya2Rvd24tYm9keSB0dCBiciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IGRlbCBjb2RlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xufVxuXG4ubWFya2Rvd24tYm9keSBzYW1wIHtcbiAgZm9udC1zaXplOiA4NSU7XG59XG5cbi5tYXJrZG93bi1ib2R5IHByZSBjb2RlIHtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuXG4ubWFya2Rvd24tYm9keSBwcmU+Y29kZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5oaWdobGlnaHQge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSAuaGlnaGxpZ2h0IHByZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmhpZ2hsaWdodCBwcmUsXG4ubWFya2Rvd24tYm9keSBwcmUge1xuICBwYWRkaW5nOiAxcmVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgZm9udC1zaXplOiA4NSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICBjb2xvcjogIzFmMjMyODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjhmYTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4ubWFya2Rvd24tYm9keSBwcmUgY29kZSxcbi5tYXJrZG93bi1ib2R5IHByZSB0dCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5jc3YtZGF0YSB0ZCxcbi5tYXJrZG93bi1ib2R5IC5jc3YtZGF0YSB0aCB7XG4gIHBhZGRpbmc6IDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmNzdi1kYXRhIC5ibG9iLW51bSB7XG4gIHBhZGRpbmc6IDEwcHggMC41cmVtIDlweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmNzdi1kYXRhIHRyIHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmNzdi1kYXRhIHRoIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYmFja2dyb3VuZDogI2Y2ZjhmYTtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgW2RhdGEtZm9vdG5vdGUtcmVmXTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJbXCI7XG59XG5cbi5tYXJrZG93bi1ib2R5IFtkYXRhLWZvb3Rub3RlLXJlZl06OmFmdGVyIHtcbiAgY29udGVudDogXCJdXCI7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5mb290bm90ZXMge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjNTk2MzZlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QxZDllMDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyBvbCB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyBvbCB1bCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWFya2Rvd24tYm9keSAuZm9vdG5vdGVzIGxpOnRhcmdldDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMC41cmVtKi0xKTtcbiAgcmlnaHQ6IGNhbGMoMC41cmVtKi0xKTtcbiAgYm90dG9tOiBjYWxjKDAuNXJlbSotMSk7XG4gIGxlZnQ6IGNhbGMoMS41cmVtKi0xKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwOTY5ZGE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyBsaTp0YXJnZXQge1xuICBjb2xvcjogIzFmMjMyODtcbn1cblxuLm1hcmtkb3duLWJvZHkgLmZvb3Rub3RlcyAuZGF0YS1mb290bm90ZS1iYWNrcmVmIGctZW1vamkge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtYyB7XG4gIGNvbG9yOiAjNTk2MzZlO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtYzEsXG4ubWFya2Rvd24tYm9keSAucGwtcyAucGwtdiB7XG4gIGNvbG9yOiAjMDU1MGFlO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtZSxcbi5tYXJrZG93bi1ib2R5IC5wbC1lbiB7XG4gIGNvbG9yOiAjNjYzOWJhO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtc21pLFxuLm1hcmtkb3duLWJvZHkgLnBsLXMgLnBsLXMxIHtcbiAgY29sb3I6ICMxZjIzMjg7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1lbnQge1xuICBjb2xvcjogIzA1NTBhZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWsge1xuICBjb2xvcjogI2NmMjIyZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLXMsXG4ubWFya2Rvd24tYm9keSAucGwtcGRzLFxuLm1hcmtkb3duLWJvZHkgLnBsLXMgLnBsLXBzZSAucGwtczEsXG4ubWFya2Rvd24tYm9keSAucGwtc3IsXG4ubWFya2Rvd24tYm9keSAucGwtc3IgLnBsLWNjZSxcbi5tYXJrZG93bi1ib2R5IC5wbC1zciAucGwtc3JlLFxuLm1hcmtkb3duLWJvZHkgLnBsLXNyIC5wbC1zcmEge1xuICBjb2xvcjogIzBhMzA2OTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLXYsXG4ubWFya2Rvd24tYm9keSAucGwtc213IHtcbiAgY29sb3I6ICM5NTM4MDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1idSB7XG4gIGNvbG9yOiAjODIwNzFlO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtaWkge1xuICBjb2xvcjogdmFyKC0tZmdDb2xvci1kYW5nZXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZ0NvbG9yLWRhbmdlci1tdXRlZCk7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1jMiB7XG4gIGNvbG9yOiAjZjZmOGZhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2YyMjJlO1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtc3IgLnBsLWNjZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzExNjMyOTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1sIHtcbiAgY29sb3I6ICMzYjIzMDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1taCxcbi5tYXJrZG93bi1ib2R5IC5wbC1taCAucGwtZW4sXG4ubWFya2Rvd24tYm9keSAucGwtbXMge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwNTUwYWU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1taSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMxZjIzMjg7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1tYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzFmMjMyODtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1kIHtcbiAgY29sb3I6ICM4MjA3MWU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmViZTk7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1taTEge1xuICBjb2xvcjogIzExNjMyOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZmJlMTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1jIHtcbiAgY29sb3I6ICM5NTM4MDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmQ4YjU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1taTIge1xuICBjb2xvcjogI2QxZDllMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA1NTBhZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLW1kciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzgyNTBkZjtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnBsLWJhIHtcbiAgY29sb3I6ICM1OTYzNmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5wbC1zZyB7XG4gIGNvbG9yOiAjODE4Yjk4O1xufVxuXG4ubWFya2Rvd24tYm9keSAucGwtY29ybCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogIzBhMzA2OTtcbn1cblxuLm1hcmtkb3duLWJvZHkgW3JvbGU9YnV0dG9uXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuLm1hcmtkb3duLWJvZHkgW3JvbGU9dGFicGFuZWxdW3RhYmluZGV4PVwiMFwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuLm1hcmtkb3duLWJvZHkgYnV0dG9uOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBzdW1tYXJ5OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBhOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSBbdGFiaW5kZXg9XCIwXCJdOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG4ubWFya2Rvd24tYm9keSBkZXRhaWxzLWRpYWxvZzpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1hcmtkb3duLWJvZHkgZy1lbW9qaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxY2g7XG4gIGZvbnQtZmFtaWx5OiBcIkFwcGxlIENvbG9yIEVtb2ppXCIsXCJTZWdvZSBVSSBFbW9qaVwiLFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiAtMC4wNzVlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgZy1lbW9qaSBpbWcge1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgYTpoYXMoPnAsPmRpdiw+cHJlLD5ibG9ja3F1b3RlKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWFya2Rvd24tYm9keSBhOmhhcyg+cCw+ZGl2LD5wcmUsPmJsb2NrcXVvdGUpOm5vdCg6aGFzKC5zbmlwcGV0LWNsaXBib2FyZC1jb250ZW50LD5wcmUpKSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLm1hcmtkb3duLWJvZHkgYTpoYXMoPnAsPmRpdiw+cHJlLD5ibG9ja3F1b3RlKTpoYXMoLnNuaXBwZXQtY2xpcGJvYXJkLWNvbnRlbnQsPnByZSk6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXJDb2xvci1hY2NlbnQtZW1waGFzaXMpO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4ubWFya2Rvd24tYm9keSAudGFzay1saXN0LWl0ZW0ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbSBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC50YXNrLWxpc3QtaXRlbS5lbmFibGVkIGxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWFya2Rvd24tYm9keSAudGFzay1saXN0LWl0ZW0rLnRhc2stbGlzdC1pdGVtIHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgLnRhc2stbGlzdC1pdGVtIC5oYW5kbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSAudGFzay1saXN0LWl0ZW0tY2hlY2tib3gge1xuICBtYXJnaW46IDAgLjJlbSAuMjVlbSAtMS40ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tYXJrZG93bi1ib2R5IHVsOmRpcihydGwpIC50YXNrLWxpc3QtaXRlbS1jaGVja2JveCB7XG4gIG1hcmdpbjogMCAtMS42ZW0gLjI1ZW0gLjJlbTtcbn1cblxuLm1hcmtkb3duLWJvZHkgb2w6ZGlyKHJ0bCkgLnRhc2stbGlzdC1pdGVtLWNoZWNrYm94IHtcbiAgbWFyZ2luOiAwIC0xLjZlbSAuMjVlbSAuMmVtO1xufVxuXG4ubWFya2Rvd24tYm9keSAuY29udGFpbnMtdGFzay1saXN0OmhvdmVyIC50YXNrLWxpc3QtaXRlbS1jb252ZXJ0LWNvbnRhaW5lcixcbi5tYXJrZG93bi1ib2R5IC5jb250YWlucy10YXNrLWxpc3Q6Zm9jdXMtd2l0aGluIC50YXNrLWxpc3QtaXRlbS1jb252ZXJ0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAyNHB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4ubWFya2Rvd24tYm9keSA6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGZpbHRlcjogaW52ZXJ0KDUwJSk7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkICNkMWQ5ZTA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydD46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQ+Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQgLm1hcmtkb3duLWFsZXJ0LXRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1ub3RlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMwOTY5ZGE7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1ub3RlIC5tYXJrZG93bi1hbGVydC10aXRsZSB7XG4gIGNvbG9yOiAjMDk2OWRhO1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtaW1wb3J0YW50IHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM4MjUwZGY7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1pbXBvcnRhbnQgLm1hcmtkb3duLWFsZXJ0LXRpdGxlIHtcbiAgY29sb3I6ICM4MjUwZGY7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC13YXJuaW5nIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM5YTY3MDA7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC13YXJuaW5nIC5tYXJrZG93bi1hbGVydC10aXRsZSB7XG4gIGNvbG9yOiAjOWE2NzAwO1xufVxuXG4ubWFya2Rvd24tYm9keSAubWFya2Rvd24tYWxlcnQubWFya2Rvd24tYWxlcnQtdGlwIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMxYTdmMzc7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC10aXAgLm1hcmtkb3duLWFsZXJ0LXRpdGxlIHtcbiAgY29sb3I6ICMxYTdmMzc7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1jYXV0aW9uIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNjZjIyMmU7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5tYXJrZG93bi1hbGVydC5tYXJrZG93bi1hbGVydC1jYXV0aW9uIC5tYXJrZG93bi1hbGVydC10aXRsZSB7XG4gIGNvbG9yOiAjZDEyNDJmO1xufVxuXG4ubWFya2Rvd24tYm9keT4qOmZpcnN0LWNoaWxkPi5oZWFkaW5nLWVsZW1lbnQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJrZG93bi1ib2R5IC5oaWdobGlnaHQgcHJlOmhhcygrLnplcm9jbGlwYm9hcmQtY29udGFpbmVyKSB7XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG59XG5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/